Como faço para converter a partir de uma localização (endereço) de Seqüência de caracteres para um YGeoPoint no Yahoo Maps API?
-
09-06-2019 - |
Pergunta
Eu tenho uma lista de endereços de um Banco de dados para o qual eu gostaria de colocar marcadores no Yahoo Mapa.O addMarker()
método no YMap leva um YGeoPoint, o que requer a latitude e a longitude.No entanto, Yahoo Maps deve saber como converter de endereços, pois drawZoomAndCenter(LocationType,ZoomLevel)
pode demorar um endereço.Eu poderia converter usando drawZoomAndCenter()
em seguida, getCenterLatLon()
mas existe uma forma melhor, que não requer um sorteio?
Solução
Você pode pedir o objeto de mapa para fazer o georreferenciamento, e pegar o retorno de chamada:
<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>
Uma coisa para ter cuidado com -- neste exemplo o drawAndZoom
chamada de vai-se fazer um pedido de geocodificação, portanto você poderá obter a chamada de retorno do que as demais.Talvez você queira filtrar isso, ou definir o mapa de centro com base em uma GeoPoint.
Outras dicas
Se você está trabalhando com os EUA.endereços, você pode usar geocoder.eua, o que tem APIs.
Também, O Google Maps Hacks tem um hack, "Hack 62.Encontrar as coordenadas de Latitude e Longitude de um Endereço de Rua", por que.