Domanda

sto lottando cercando di raggruppare 50 marcatori utilizzando la v3 markerclusterer con Google maps API v3.

Ho seguito l'esempio semplice disponibili all'indirizzo: http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/docs/examples.html per costruire la mia funzione tuttavia quando la mappa è caricata io sono sempre il seguente errore in firebug:

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)

La mia funzione è solo facendo una semplice chiamata JSON per ottenere il punto dal server e poi costruire la serie di marcatori prima di aggiungerli alla 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);


        });


}

Qualsiasi idea del perché questo sta causando le Google Map main.js a fallire in questo modo? Se mi basta aggiungere il MarkerClusterer senza la serie di marcatori mappa visualizzata senza errori.

Quando aggiungo la serie di marcatori poi gli errori della mappa.

Grazie,

Grant

È stato utile?

Soluzione

Fix era semplice mi mancherebbe il fatto che Google Maps API v3 necessità di avere un oggetto passato ad esso. La correzione era di cambiamento

var marker = new google.maps.Marker(latlng) 
to
var marker = new google.maps.Marker({'position' : latlng});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top