Как мне преобразовать строку местоположения (address) в YGeoPoint в Yahoo Maps API?

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

  •  09-06-2019
  •  | 
  •  

Вопрос

У меня есть список адресов из базы данных, для которых я хотел бы разместить маркеры на карте Yahoo.Тот Самый addMarker() способ на YMap используется YGeoPoint, для которой требуются широта и долгота.Однако Yahoo Maps должна знать, как конвертировать адреса, потому что drawZoomAndCenter(LocationType,ZoomLevel) могу взять адрес.Я мог бы преобразовать, используя drawZoomAndCenter() тогда getCenterLatLon() но есть ли лучший способ, который не требует ничьей?

Это было полезно?

Решение

Вы можете попросить объект map выполнить геокодирование и перехватить обратный вызов:

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

Следует остерегаться одной вещи - в этом примере drawAndZoom call сам отправит запрос на геокодирование, так что вы также получите обратный вызов от этого.Возможно, вы захотите отфильтровать это или установить центр карты на основе географической точки.

Другие советы

Если вы работаете с СШАадреса, которые вы можете использовать geocoder.us, который имеет API - интерфейсы.

Также, Взломы Google Maps имеет хак, "Взлом 62.Найдите широту и долготу адреса улицы", за это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top