Клуб API Карт

Заголовок не указан

lolobrigit
19 марта 2015, 12:52

Добрый день, столкнулся с проблемой, отображения кластера с точками из json.

Пробовал ннсколько вариантов вывода, но карта отображается пустой. Использую модуль PieChartClusterer http://clubs.ya.ru/mapsapi/replies.xml?item_no=53340

 

Был вывод точек:

ymaps.ready()
    .done(function (ymaps) {
        var myMap = new ymaps.Map('YMapsID', {
            center: [55.751574, 37.573856],
            zoom: 8
        });

   
            jQuery.getJSON('http://10.150.17.31/ym/data.json', function (json) {
            /** —охраним ссылку на геообъекты на случай, если понадобитс¤ кака¤-либо постобработка.
             * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/GeoQueryResult.xml
             */
            window.geoObjects = ymaps.geoQuery(json);
                window.geoObjects = ymaps.geoQuery(json)
                .addToMap(myMap)
                .applyBoundsToMap(myMap, {
                    checkZoomRange: true
                });
        });                  
    });

Часть кода что бы не загромождать код была убрана.  

В итоге добавил код из примера на гитхабе, и карта грузится пустой.

ymaps.ready()
    .done(function (ymaps) {
        var myMap = new ymaps.Map('YMapsID', {
            center: [55.751574, 37.573856],
            zoom: 8
        });
   
    ymaps.modules.require(['PieChartClusterer'], function (PieChartClusterer) {
        var clusterer = new PieChartClusterer();

        clusterer.add(geoObjects);
        myMap.geoObjects.add(clusterer);
    });
       
            jQuery.getJSON('http://10.150.17.31/ym/data.json', function (json) {
            /** —охраним ссылку на геообъекты на случай, если понадобитс¤ кака¤-либо постобработка.
             * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/GeoQueryResult.xml
             */
            var geoObjects = ymaps.geoQuery(json);
        });               
    });


    Подскажите, что я неправильно делаю?

 

 

ссылку на модуль в html указываю, с кодом из примера работает.

3 комментария
Подписаться на комментарии к посту

кластеризатор принимает метку/массив меток в метод add, а не JSON

к примеру код:

 

ymaps.ready()
    .done(function (ymaps) {
        var myMap = new ymaps.Map('YMapsID', {
            center: [55.751574, 37.573856],
            zoom: 8
        });
            jQuery.getJSON('http://10.150.17.31/ym/data.json', function (json) {
               window.clusterer = ymaps.geoQuery(json).clusterize();
                myMap.geoObjects.add(clusterer)  ;            
        });          
    });

Выводит стандартный кластер.

А вот при попытке использовать PieChartClusterer карта грузится пустой.

ymaps.ready()
    .done(function (ymaps) {
        var myMap = new ymaps.Map('YMapsID', {
            center: [55.751574, 37.573856],
            zoom: 8
        });
            jQuery.getJSON('http://10.150.17.31/ym/data.json', function (json) {
                ymaps.modules.require(['PieChartClusterer'], function (PieChartClusterer) {
                    var clusterer = new PieChartClusterer();              
                    window.clusterers = ymaps.geoQuery(json).clusterize();
                    clusterer.add(clusterers);
                    myMap.geoObjects.add(clusterer);
                });
        });   
    });


   

 

 

Вы во втором примере добавляете кластеризатор в кластеризатор – так не будет работать

есть вариант этого модуля ввиде макета, он будет работать с такими данными

 

https://github.com/yandex/ymaps-pie-chart-clusterer/tree/layout