Клуб API Карт

Геокодирование

tuxcod
16 марта 2010, 11:41

Подскажите пожалуйста!

Я пытаюсь узнать координаты точки (широта и долгота), например Москва!  Для этого я делаю так:

var geocoder = new YMaps.Geocoder("Москва");
но как мне получить значение координат в строковом виде?
5 комментариев
Подписаться на комментарии к посту
Примеры смотрели?
О сервисе геокодирования подробно описано в руководстве разработчика:
http://api.yandex.ru/maps/jsapi/doc/dg/concepts/geocoder.xml

А также есть несколько примеров использования:
http://api.yandex.ru/maps/jsapi/examples/#geocoder
Всё верно! Но когда я хочу вывести значение через alert мне пишет [object Object], и как именно сделать чтобы я смог увидеть долготу и широту через алерт, немогу понять.
var geocoder = new YMaps.Geocoder("Москва");
Сам геокодер - это группа. Объекты в нем "появляются" после генерирования события Load, поэтому необходимо сделать обработчик события Load.

Объекты, которые содержит в себе геокодер, назваются результатами геокодирования (объекты класса YMaps.GeocoderResult). Результаты геокодирования - это расширенные метки, доступ к координатам у которых можно получить с помощью метода getGeoPoint().

А теперь все это в примере:
 // Запуск процесса геокодирования
var geocoder = new YMaps.Geocoder("Москва");

// Создание обработчика для успешного завершения геокодирования
YMaps.Events.observe(geocoder, geocoder.Events.Load, function (geocoder) {
    // Для запроса "Москва" будет найдено несколько результатов
    // Будем обращаться к самому первому по релевантности
    var geocodeResult = geocoder.get(0);
   
    // Выводим координаты найденного объекта
    alert(geocodeResult.getGeoPoint());
});
Спасибо огромное!