2013-07-27 22:30:25 +00:00
< html >
< head >
< link rel = "stylesheet" href = "http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.css" / >
<!-- [if lte IE 8]>
< link rel = "stylesheet" href = "http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.ie.css" / >
<![endif]-->
< style type = "text/css" >
2013-07-27 23:40:21 +00:00
#map { height: 600px; }
2013-07-27 22:30:25 +00:00
< / style >
< script src = "http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.js" > < / script >
< / head >
< body >
2013-07-27 23:40:21 +00:00
< form method = "get" action = "#" >
< input type = "text" id = "q" name = "q" value = "Phoenix" / > < input type = "submit" / >
< / form >
< div id = "map" > < / div >
2013-07-27 22:30:25 +00:00
< script type = "text/javascript" >
var map = L.map('map').setView([51.505, -0.09], 13);
L.tileLayer('http://{s}.tile.cloudmade.com/4be2d4a8b7ae4a5e8ebc0558bb5d7db4/997/256/{z}/{x}/{y}.png', {
attribution: 'Map data © < a href = "http://openstreetmap.org" > OpenStreetMap< / a > contributors, < a href = "http://creativecommons.org/licenses/by-sa/2.0/" > CC-BY-SA< / a > , Imagery © < a href = "http://cloudmade.com" > CloudMade< / a > ',
maxZoom: 18
}).addTo(map);
2013-07-27 23:40:21 +00:00
// Get url params
var prmstr = window.location.search.substr(1);
var prmarr = prmstr.split ("&");
var params = {};
for ( var i = 0; i < prmarr.length ; i + + ) {
var tmparr = prmarr[i].split("=");
params[tmparr[0]] = tmparr[1];
}
2013-07-28 00:22:29 +00:00
var query = decodeURIComponent(params["q"]).replace(/\+/g, ' ')
console.log(query)
if(query & & query.length > 0) {
document.getElementById("q").value = query
}
2013-07-27 23:40:21 +00:00
xmlhttp=new XMLHttpRequest();
2013-07-28 00:22:29 +00:00
xmlhttp.open("GET","http://nominatim.openstreetmap.org/search/"+encodeURIComponent(query)+"?format=json",true);
2013-07-27 23:40:21 +00:00
xmlhttp.send();
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 & & xmlhttp.status==200) {
console.log(xmlhttp);
response = JSON.parse(xmlhttp.responseText);
console.log(response);
result = response[0];
console.log(result);
//map.setView([result.lat, result.lon], 13);
// var southWest = new L.LatLng(40.712, -74.227),
// northEast = new L.LatLng(40.774, -74.125),
// bounds = new L.LatLngBounds(southWest, northEast);
// All Leaflet methods that accept LatLngBounds objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this:
map.fitBounds([
[result.boundingbox[0], result.boundingbox[2]],
[result.boundingbox[1], result.boundingbox[3]]
]);
// map.fitBounds([
// result.polygonpoints[0],
// result.polygonpoints[1]
// ]);
//fitBounds( < LatLngBounds > bounds, < fitBounds options > options? )
}
}
2013-07-27 22:30:25 +00:00
< / script >
2013-07-27 23:40:21 +00:00
2013-07-27 22:30:25 +00:00
< / body >
< / html >