Здравствуйте!
Вопрос наверное уже был, найти не могу:( Прошу понять и простить.
Тривиальная задача - создать карту с объектами.
Объекты беру через API Портала открытых данных.
Там координат объектов нет,а есть почтовые адреса, следовательно пользоваться надо геокодированием.
Пишу:
//идем по массиву объектов полученых с Портала
for (i = 0; i < objects.length; i++)
{
//Составляю запрос по почтовому адресу
response = 'Вологодская область, ' + objects[i][3];
ymaps.geocode(response, {results: 1}).then(
function (results) {
var res = results.geoObjects.get(0);
//Хочу добавить метку с данными по объекту, взятыми из массива
placemark = new ymaps.Placemark(res.geometry.getCoordinates(), {
balloonContentHeader:objects[i][1],
balloonContentBody: "dfhf",
balloonContentFooter:objects[i][3]
}, {
preset: 'islands#nightDotIcon'
});
clusterer.add(placemark);
},
function (err)
{
}
);
}
Но в связи с тем что геокодирование является асинхронным, в метку с результатми геокодера я не могу написать ифнормацию об объекте, взятую из массива, те objects[i][3] уже нет.
Как быть? Направьте на путь истинный?
(п.с. БД нет, и не должно быть по постановке задачи, написать в массив координаты я не против, но вопрос все арвно остается, что как обратится к НУЖНОМУ эелементу, если геокодер асинхронен)