Wie konvertiere ich von einem Standort (Adresse) String an einen YGeoPoint in Yahoo Maps API?

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

  •  09-06-2019
  •  | 
  •  

Frage

Ich habe eine Liste von Adressen aus einer Datenbank, für den Ich mag würde Markierungen auf Yahoo Karte setzen. Die addMarker() Methode auf YMap nimmt einen YGeoPoint, die erfordert eine Breite und Länge. Allerdings muss Yahoo Maps wissen, wie von Adressen zu konvertieren, weil drawZoomAndCenter(LocationType,ZoomLevel) eine Adresse erfolgen kann. Ich kann durch konvertieren mit drawZoomAndCenter() dann getCenterLatLon() aber gibt es eine bessere Art und Weise, die nicht ein Unentschieden benötigt?

War es hilfreich?

Lösung

Sie können die Karte Objekt bitten, die Geocodierung zu tun, und den Rückruf fangen:

<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>

Eine Sache zu hüten - in diesem Beispiel den drawAndZoom Anruf wird selbst eine Geocodierungsanfrage machen, so dass Sie den Rückruf aus, dass zu bekommen. Vielleicht haben Sie das herausfiltern möchten, oder legen Sie die Mitte-Karte basiert auf einer GeoPoint.

Andere Tipps

Wenn Sie mit US-Adressen arbeiten, können Sie verwenden, geocoder.us , das hat APIs .

Auch Google Maps Hacks hat einen Hack, , denn das ist.

scroll top