Клуб API Карт

Проблема при масштабировании

kobluchka
21 августа 2014, 16:19

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

33
  1. Uncaught TypeError: Cannot read property 'getCurrentState' of null

 

в чем проблема?

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

ymaps.ready(init);

    $( document ).ready(function() {

        $('#dp1').datepicker()

            .on('changeDate', function(ev){

                $('#dp1').datepicker('hide');

                var newDate = new Date(ev.date);

                var d = newDate.getDate();

                var m = newDate.getMonth()+1;

                var y = newDate.getFullYear();

                var result = getClients(d,m,y);

            }); 

        });

        function getClients(d,m,y){

            var clients_act = [];

            var clients_noact = [];

            

            $.ajax({

                url: 'getHistoryClients.php',

                type: 'POST',

                dataType: 'JSON',

                async: false,

                data:{'d':d,'m':m,'y':y},

                beforeSend: function(){

                    window.myClustererClients_act.removeAll();

                    window.myClustererClients_noact.removeAll();

                },

                success:  function(result){

                     $.each(result, function(key, val) {

                         if(val['address'] && val['address']['coordinate'] && val['time_sending']){

                            var latlon = val['address']['coordinate'].split(',');

                            clients_act[clients_act.length] =  new ymaps.GeoObject({

                               geometry: {

                                   type: "Point",

                                   coordinates: [latlon[0], latlon[1]]

                               },

                               properties: {

                                   iconContent: val['client']['unumber'],

                                   balloonContent: ''+

                                       'Клієнт: '+val['client']['name_cl']+''+

                                       'Адреса: '+val['address']['address']+''+

                                       'Час доставки: '+val['time_sending']+''

                                   +''

                               }

                           }, 

                           {

                               preset: 'islands#greenStretchyIcon'

                           });

                         }

                         else if(val['address'] && val['address']['coordinate']){

                            var latlon = val['address']['coordinate'].split(',');

                            clients_noact[clients_noact.length] =  new ymaps.GeoObject({

                               geometry: {

                                   type: "Point",

                                   coordinates: [latlon[0], latlon[1]]

                               },

                               properties: {

                                   iconContent: val['client']['unumber'],

                                   balloonContent: ''+

                                       'Клієнт: '+val['client']['name_cl']+''+

                                       'Адреса: '+val['address']['address']+''+

                                       'Час доставки: '+val['time_sending']+''

                                   +''

                               }

                           }, 

                           {

                               preset: 'islands#redStretchyIcon'

                           });

                         }

                     });

 

                }

            });

            window.myClustererClients_act.add(clients_act);

            myMap.geoObjects.add(window.myClustererClients_act);

            window.myClustererClients_noact.add(clients_noact);

            myMap.geoObjects.add(window.myClustererClients_noact);

        }

        function init() {

 

            window.myMap = new ymaps.Map("map", {

                center: [48.361128, 30.941171],

                zoom: 5

            });

            

            window.myClustererClients_act = new ymaps.Clusterer({preset: 'islands#invertedGreenClusterIcons',clusterBalloonContentLayout: "cluster#balloonCarousel"});

            window.myClustererClients_noact = new ymaps.Clusterer({preset: 'islands#invertedRedClusterIcons',clusterBalloonContentLayout: "cluster#balloonCarousel"});

             

        }

Всеволод Шмыров
21 августа 2014, 16:55
Добрый вечер.
Сложно понять в чем дело без живого примера.
Но в коде сразу бросается в глаза, что ymaps.ready и jQuery работают параллельно. Загрузка  getHistoryClients.php может произойти раньше, чем загрузка API. Хотя описанная вами проблема явно другая.