Клуб API Карт

Кластеризация объектов, которые были созданы с помощью цикла

Пост в архиве.

Добрый день. Есть код, который создает большое кол-во объектов, которые затем надо кластеризовать. Ничего не работает, выдается ошибка 

 

Uncaught TypeError: Cannot read property '0' of undefined

 

// Коллекция с избами

var izba = [

[30.572326,66.237853],// В урочище Варталамбина

[30.622108,66.201126],// В губе Оланголакша

[30.631034,66.168651],// Остров на Оланголакше

 

[30.534217,66.237576 ],// В урочище Варталамбина левее реки

[30.575073,66.259309 ],// Над Юнгоярви

[30.574729,66.252251 ],// Под Юнгоярви

[30.55104,66.269962],// Питкаярви правее

[30.557906,66.270653],// Питкаярви левее

 

[30.495078,66.269132],// На Оланге левее Питкаярви

[30.492675,66.276876],// На Оланге левее Питкаярви

[30.483405,66.2766 ],// На Оланге левее Питкаярви

 

[30.423324,66.275217],// На Оланге левее Питкаярви

[30.432937,66.275494],// На Оланге левее Питкаярви

 

[30.334403,66.269547],// Выше Нискаваары

 

[30.351913,66.280195],// Ниже Перявяры и Алатало

[30.356719,66.279918],// Ниже Перявяры и Алатало

 

 

[30.560996,66.166429],// В самом низу у Куроваары 1

[30.53971,66.158511],// В самом низу у Куроваары 2

];

// создадим массив геообъектов

myGeoObjects = [];

 

for(var i = 0; i < izba.length; i++)

{

 

myGeoObjects[i] = new ymaps.GeoObject({

geometry: {type: "Point", coordinates: [izba[i]]},

properties: {

clusterCaption: 'Геообъект №1',

balloonContentBody: 'Содержимое балуна геообъекта №1.'

}

});

}

 

// создадим кластеризатор и запретим приближать карту при клике на кластеры

clusterer = new ymaps.Clusterer({clusterDisableClickZoom: true});

clusterer.add(myGeoObjects);

myMap.geoObjects.add(clusterer);

 

2 комментария

Вы лишний раз оборачиваете координаты в массив. 

coordinates: [izba[i]] -> coordinates: izba[i]


И нужно убрать лишнюю запятую в конце массива, это может вызвать ошибки в ие:

[30.53971,66.158511],// В самом низу у Куроваары 2

это помогло. спасибо!