Клуб API Карт

Кластеризация

TJAnother
27 октября 2016, 22:26

Подскажите пожалуйста, где ошибка?

ymaps.ready(function () {
    var myMap = new ymaps.Map('map', {
            center: [55.751574, 37.573856],
            zoom: 9
        }, {
            searchControlProvider: 'yandex#search'
        }),
        clusterer = new ymaps.Clusterer(),
        geoObjects = [];
		
$.getJSON("add.php",

function(json){
for (var i = 0; i < json.markers.length; i++) {  
 
geoObjects[i] = new ymaps.Placemark([json.markers[i].lat,json.markers[i].lon]); 	
}
 
});
    
    clusterer.add(geoObjects);
    myMap.geoObjects.add(clusterer);


});

4 комментария
Подписаться на комментарии к посту
clusterer.add(geoObjects);


тут geoObjects еще будет пустой – асинхронный запрос же
dimik,
в том то и дело, что пустой( А как поправить, я не пойму вообще. Если есть мысли подскажите пожалуйста.
TJAnother,
Добавлять надо внутри обработчика получения json. Там уже есть объекты
dimik,
Вот так сделал, вроде работает.



$.getJSON("add.php",
function(json){
for (var i = 0; i < json.markers.length; i++) {

geoObjects[i] = new ymaps.Placemark([json.markers[i].lat,json.markers[i].lon]);
}
clusterer.add(geoObjects);
myMap.geoObjects.add(clusterer);
});