Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

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@texte-a-enlever.bouthors.org.  Tu peux trouver plus d'informations ici http://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

 

Pied de page des forums

Powered by FluxBB