Клуб API Карт

Геокодирование. Получить координаты объекта в переменную.

Пост в архиве.

Здравствуйте. Имеем функцию, в которую передаётся название города в виде переменной, в свою очередь функция должна вернуть его координаты. Но получается, что функция возвращает объект, как говорит в алерте [object Object]. Прошу помощи вернуть из функции координаты запрашиваемого города. Спасибо

  

//Получаем значение из формы
function getData(valu) {
    alert("Вы ввели строку: " + valu);
    var myGeocoder = ymaps.geocode("Пермь");
    myGeocoder.then(
        function (res) {
            map.geoObjects.add(res.geoObjects);
        },
        function (err) {
            // обработка ошибки
        }
    );
    coords = myGeocoder;
    alert(coords);
    reload(coords);
}

 

2 комментария
Sergey Konstantinov
28 января 2016, 01:53
function (res) {

        map.geoObjects.add(res.geoObjects);
        alert(res.geoObjects.get(0).geometry.getCoordinates());
    }

Спасибо, но уже сам долбанул такой методикой:

//Функция для изменения автоматически установленного местоположения клиента

function getData(val) {

if (confirm ("Подтвердите своё новое местоположение: " + val)){ //Спрашиваем подтверждение на изменение текущей локации.

ymaps.geocode(val, { results: 1 }).then(function (res) { //Запускаем геокодирование для преобразования названия пункта в координаты.

            myMap7 = res.geoObjects.get(0).geometry.getCoordinates(); //Переменной присваивается 1-й результат геокодирования и тут же преобразуется из объекта в нужный вид.

//alert (myMap7); //Просто для проверки работоспособности функции.

coords = myMap7; //Присвоим глобальным координатам значения координат пункта после обработчика геокода.

formname = val; //Дополнительная переменная для работы отображения данных в форме города.

reload();

            })}