Comment convertir une chaîne (adresse) d'emplacement en un API YGeoPoint dans Yahoo Maps?

StackOverflow https://stackoverflow.com/questions/73524

  •  09-06-2019
  •  | 
  •  

Question

J'ai une liste d'adresses d'une base de données pour laquelle j'aimerais placer des marqueurs sur une carte Yahoo. La méthode addMarker () on YMap prend un YGeoPoint, qui nécessite une latitude et une longitude. Cependant, Yahoo Maps doit savoir comment convertir des adresses car drawZoomAndCenter (LocationType, ZoomLevel) peut prendre une adresse. Je pourrais convertir en utilisant drawZoomAndCenter () , puis getCenterLatLon () , mais existe-t-il un meilleur moyen, qui n'exige pas de tirage au sort?

Était-ce utile?

La solution

Vous pouvez demander à l'objet de la carte d'effectuer le géocodage et intercepter le rappel:

<script type="text/javascript"> 
var map = new YMap(document.getElementById('map'));
map.drawZoomAndCenter("Algeria", 17);

map.geoCodeAddress("Cambridge, UK");

YEvent.Capture(map, EventsList.onEndGeoCode, function(geoCode) {
    if (geoCode.success)
        map.addOverlay(new YMarker(geoCode.GeoPoint));
});
</script>

Une chose à ne pas négliger - dans cet exemple, l'appel drawAndZoom fera lui-même une demande de géocodage. Vous obtiendrez ainsi le rappel. Vous pouvez filtrer cela ou définir le centre de la carte en fonction d'un GeoPoint.

Autres conseils

Si vous travaillez avec des adresses américaines, vous pouvez utiliser geocoder.us , qui contient API .

De même, Google Maps Hacks contient un hack " Hack 62. Trouvez la latitude et la longitude d’une adresse municipale , pour cela.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top