Клуб API Карт

Разные описания у множества балунов

aclyte
6 июля 2016, 23:52

Всем привет, мне нужно вывести на карту пункты самовывоза.

Я предварительно загоняю в массив landmarks их адреса, описания, названия, цену.

Дальше вывожу их следующим скриптом:

var nearest = {};
    for (i in landmarks) {
        var myGeocoder = ymaps.geocode(landmarks[i]['address']);
        myGeocoder.then(
            function (res) {
                nearest[i] = res.geoObjects.get(0);
                nearest[i].properties.set('balloonContentHeader', landmarks[i]['title']);
                nearest[i].properties.set('balloonContentBody', landmarks[i]['description']);
                nearest[i].properties.set('balloonContentFooter', landmarks[i]['price']);

                nearest[i].options.set('preset', 'twirl#buildingsIcon');
                myMap.geoObjects.add(nearest[i]);
            },
            function (err) {
                alert('Ошибка');
            }
        );
    }

Всё работает здорово - геокодер находит адреса, ставит их на карту и по клику на иконку открывается описание пункта на карте. НО! Почему то у всех точек описания ОДИНАКОВЫ - берётся последнее описание из массива. Т.е. оно как будто бы одно для всех балунов.

Подскажите, пожалуйста, в чём может быть проблема.

Спасибо.

2 комментария
Подписаться на комментарии к посту
> Всё работает здорово - геокодер находит адреса, ставит их на карту и по клику на иконку открывается описание пункта на карте. 



Если почитать посты ниже, там много кого Яндекс забанил за такое "здорово". Не стоит с каждого клиента в цикле долбить в геокодер одни и те же адреса.


Нужно проксировать запросы к геокодеру через свой сервер с кешированием ответов.
На клиенте желательно сделать мультиплексирование запросов, чтобы не отправлять по запросу на каждый вызовы geocode, а вместо этого отправлять один запрос на свой сервер со всеми адресами


См пример проекта в этой статье 

Про кеширование я в курсе, но внедрять его буду когда карта заработает.
А пока решаю вышеописанную проблему и с сайтом работаю только я, можно и в "цикле подолбить".