markercluster и Google Maps v3 ошибка a не определена

Я изо всех сил пытаюсь сгруппировать 50 маркеров, используя markerclusterer v3 с API карт Google v3.

Я следовал простому примеру, найденному по адресу: http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/docs/examples.html для создания моей функции, однако при загрузке карты я получаю следующую ошибку в фаербаге:

a is undefined
Ba(H,function(a){if(!a)return l;return...){return new P(this.T.d,this.P.b,i)}; main.js (line 13)

Моя функция просто выполняет простой вызов json, чтобы получить точку с сервера, а затем построить массив маркеров, прежде чем добавлять их в markerclusterer.

function addMarkerCluster(){
    //get json data and create array of map markers and mark up the map using
    //a map cluster

    $.getJSON("feed/kml.php?action=json",
        function(data){

            var map;
            var markers = [];

            var latlng = new google.maps.LatLng(24.91654, 15.31326);

            var myOptions = {
                zoom: 3,
                center: latlng,
                mapTypeId: google.maps.MapTypeId.HYBRID

            };
            map = new google.maps.Map(document.getElementById("googlemap"), myOptions);

            google.maps.event.addListener(map, "tilesloaded", function(){
                attachFancyBox();
                hideLoadDialog();
            });


            //loop through the data and add to the markers array the lat/lng of the centerpoints
            //as google lat/lng objects.
            $.each(data, function(i){

                latlng = new google.maps.LatLng(this.lat, this.lng);
                var marker = new google.maps.Marker(latlng);

                markers.push(marker);

            });



            var markerCluster = new MarkerClusterer(map, markers);


        });


}

Любая идея, почему это приводит к сбою карты google main.js таким образом? Если я просто добавлю MarkerClusterer без массива маркеров, карта будет отображаться без ошибок.

Когда я добавляю массив маркеров, возникают ошибки карты.

Спасибо,

Грант


person Grant Collins    schedule 20.01.2011    source источник


Ответы (1)


Исправление было простым. Я упустил тот факт, что API Google Maps v3 должен передавать ему объект. Исправление состояло в том, чтобы изменить

var marker = new google.maps.Marker(latlng) 
to
var marker = new google.maps.Marker({'position' : latlng});
person Grant Collins    schedule 20.01.2011
comment
+1 спасибо .. Мне нужно обновить мои плагины .. не могли бы вы сказать, в каком источнике вы нашли решение (веб-страница, форум ..) - person krembo99; 09.03.2012
comment
это было немного проб и ошибок и чтения + повторного чтения документов Google Maps. - person Grant Collins; 14.03.2012