#1 Wed 01 March 2017 11:28
- nima ninette
- Participant assidu
- Date d'inscription: 18 May 2016
- Messages: 187
chercher une ville sur open street map
bonjour dans le but de faire une barre de recherche au niveau de ma map j'ai utilisé une idée à partir du site d'open street map a travers cette fonction:
Code:
function refineSearch() { var q = $("input#q").val(); $("#search_results").empty(); $.get('http://nominatim.openstreetmap.org/search.php?email=nicolas@bouthors.org&format=json&countrycodes=fr&q='+q, function (data) { if (data[0]) { // map.setCenter(new OpenLayers.LonLat(data[0].lon,data[0].lat).transform( new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject() ), 12); $("#search_results").append('<ul class="search_results">'); for (i in data) { whereIsThat = data[i].lat+', '+data[i].lon+', '+data[i].boundingbox[0]+', '+data[i].boundingbox[1]+', '+data[i].boundingbox[2]+', '+data[i].boundingbox[3]; $('#search_results').append( '<li '+( (i)?'':' selected')+'onclick="panToLatLonBoundingBox('+whereIsThat+')">'+data[i].display_name+'</li>' ); console.log(data[i]); } $("#search_results").append('</ul>'); panToLatLonBoundingBox( data[0].lat, data[0].lon, data[0].boundingbox[0], data[0].boundingbox[1], data[0].boundingbox[2], data[0].boundingbox[3] ); if(history.pushState) history.pushState({"id":101}, "", "?q="+q); } else { $("#search_results").append('<i>Aucun résultat</i>'); } $("#search_results").append('<br/>Recherche limitée à la France. <a onclick="$(\'#search_results\').empty()" href="#">Masquer les résultats</a>'); }, "json"); } function mapMoved() { var proj = new OpenLayers.Projection("EPSG:4326"); var bounds = map.getExtent(); bounds = bounds.transform(map.getProjectionObject(), proj); $('input#viewbox').val = Math.floor(bounds.left,2)+','+Math.ceil(bounds.top,2)+','+Math.ceil(bounds.right,2)+','+Math.floor(bounds.bottom,2); console.log( Math.floor(bounds.left,2)+','+Math.ceil(bounds.top,2)+','+Math.ceil(bounds.right,2)+','+Math.floor(bounds.bottom,2) ); }
mais la recherche est faite juste pour le pays de France alors que je veux me positionner sur n'importe quelle ville du monde svp vous pouvez m'aider de changer cette fonction Merci.
Hors ligne
#2 Sun 05 March 2017 18:44
Re: chercher une ville sur open street map
Bonjour,
Il faut remplacer countrycodes=fr par le bon code, ou le suppirmer. Tu peux aussi remplacer l'email : email=nicolas@. Tu peux trouver plus d'informations ici bouthors.orghttp://wiki.openstreetmap.org/wiki/Nominatim
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Mon 06 March 2017 13:45
- nima ninette
- Participant assidu
- Date d'inscription: 18 May 2016
- Messages: 187
Re: chercher une ville sur open street map
oui ça marche je l(ai supprimé Merci ^^
Hors ligne