Подскажите тогда пожалуйста. Я хочу, чтобы в зависимости от типа входного аргумента координаты либо брались в виде массива из двух элементов, либо перекодировались из адреса в массив.
Код такой:
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". То есть задача в том, чтобы мне результат асинхронной функции записать в переменную. Помогите пожалуйста, если можете. Заранее спасибо.