Показать сообщение отдельно
  #4 (permalink)  
Старый 17.08.2013, 21:52
Новичок на форуме
Отправить личное сообщение для Betankor Посмотреть профиль Найти все сообщения от Betankor
 
Регистрация: 17.08.2013
Сообщений: 1

Подскажите тогда пожалуйста. Я хочу, чтобы в зависимости от типа входного аргумента координаты либо брались в виде массива из двух элементов, либо перекодировались из адреса в массив.
Код такой:
YandexMapApiHelper.prototype.EncodeCoords = function (coordsOfCenter) {
    var centerCoords;
    if (typeof coordsOfCenter == "string") {
        centerCoords = getCoordinates(coordsOfCenter, function (here) {
            return here;
        });
        return centerCoords;
    }
    else if (typeof coordsOfCenter === "undefined") {
        centerCoords = [56.8299, 60.5820];
        return centerCoords;
    } else {
        centerCoords = coordsOfCenter;
        return centerCoords;
    }
};

function getCoordinates(coordsOfCenter, callback) {
    ymaps.geocode(coordsOfCenter).then(function (res) {
        var firstGeoObject = res.geoObjects.get(0).geometry.getCoordinates();
        var asincCoordsOfCenter = firstGeoObject;
        callback(asincCoordsOfCenter);
    });
}

Не работает... уже вторую неделю мучаюсь. В дебаггере пишет "e is undefined". То есть задача в том, чтобы мне результат асинхронной функции записать в переменную. Помогите пожалуйста, если можете. Заранее спасибо.

Последний раз редактировалось Betankor, 17.08.2013 в 21:58.
Ответить с цитированием