Добрый день.
Делаю вывод результатов геокодирования из массива:
data = [ 'addr1', 'addr2' ];
name = [ 'name1', 'name2' ];
description = [ 'desr1', 'descr2' ];
for (var i = 0, l = data.length; i < l; i++) {
var myGeocoder = ymaps.geocode(data[i], {results: 1});
// в этом месте массивы имени и описания доступны
myGeocoder.then(function (res) {
var point = res.geoObjects.get(0);
// в этой точке калл-бак функции значение переменной i = последнему в данном случае 2, т.е. невозможно определить какую точку мы сейчас декодируем
// можно, конечно организовать данные по другому и в качестве ключа массивов имен и описаний задать этот самый адрес ...
// задать hint name description
// point.hint = name[i];
// point.name = name[i];
// point.description = description[i];
myMap.geoObjects.add(point);
});
На самом деле вопроса два:
1. передача параметров в калл-бак функцию (но это скорее не по API, а по ajax)
2. задание значений hint name и description для точки, полученой по результатам геокодирования. То, как показано в кусочке кода не работает. Так работало в API 1
Второс тесно переплетается с первым. В API 1 приходилось делать свой обработчик событий, которому значения hint name description я сам передавал в качестве параметров вызова. Можно ли передать параметры для каждой геокодированной точки штатными методами или нужно делать свой обработчик событий?