Клуб API Карт

Получение долготы и широты по адресу

prozorov.is
15 мая 2013, 18:04

Известен адрес. По нему требуется получить географические координаты. Затем будет работа с данными координатами (установка меток и т.д)

 

1) Как можно получить из getCoordinates() отдельно долготу и широту

2) см в коде !!!

 

function GetCoordinatesOfAdress(MapObject, Adress) {

    var myGeocoder = ymaps.geocode(Adress);

    myGeocoder.then(function (res) {

        // MapObject.geoObjects.add(res.geoObjects);

        //alert('Координаты объекта :' + res.geoObjects.get(0).geometry.getCoordinates());

    }, function (err) {

        // обработка ошибки

    }

 

    );

    // !!!  

    // Тут надо как-то вернуть координаты в виде строки (не COM-объекта) формата долготы  XX.XXXXXX и широты YY.YYYYYY

    // либо другом где можно обработать

    // return res.geoObjects.get(0).geometry.getCoordinates();

}

 

6 комментариев
Подписаться на комментарии к посту

Метод getCoordinates возвращает обычный Javascript-массив,

Вы можете получить его значения по индексам

спасибо. Только, что не получается

в мою систему идет возврат пустого значения "". Пробывал число тоже самое. alert показывает верное значение

 

Где ошибка?

 

function GetCoordinatesOfAdress(MapObject,Adress)

{

// широта

var latitude = "";

var myGeocoder = ymaps.geocode(Adress);

myGeocoder.then(

    function (res) {

       // alert('Координаты объекта :' + res.geoObjects.get(0).geometry.getCoordinates());

        latitude = res.geoObjects.get(0).geometry.getCoordinates()[1];

        alert(latitude);

    },

    function (err) {

        // обработка ошибки

    } 

  ); 

  // !!!

  return latitude;

}

ап...

 

Ответьте, пжс. Из-за этого вся дальнейшая работа остановилась

Ваша функция всегда будет возвращать пустую строку ""

Геокодирование это асинхронная операция (http-запрос)

т.е ни как нельзя передать простую строку назад (вернуть)?

 

Как еще можно вернуть значение координаты?

 

Как заставить работать конструкцию (для API 1.X заставил работать) для API 2?

http://geocode-maps.yandex.ru/2.x/?geocode=Ижевск

АПИ здесь ни при чем.

Представь что ты создал функцию и в ней обрабатываешь, например, пользовательский клик по кнопке, из этой функции ты хочешь вернуть id той кнопки по которой кликнули. Функция отработала сразу, а клик пользователь сделал через минуту (если вообще сделал)

Что будет возвращать твоя функция?