2011-01-20 23 views
1

GoogleマップAPI v3でmarkerclusterer v3を使用して50個のマーカーをクラスタリングしようとしています。markerclusterとgoogle maps v3エラー "a is undefined"

私が見つけ、簡単な例続いてきました:My機能は、単純なJSON呼び出しを行っている

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) 

:マップがロードされたときしかし、私は放火犯で、次のエラーを取得しています、私の機能を構築するために​​をマーカの配列を作成してから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を追加するだけで、マップはエラーなくレンダリングされます。

マーカーの配列を追加すると、マップのエラーが発生します。

おかげで、

グラント

答えて

4

修正は、私はGoogleマップAPI v3には、それに渡されたオブジェクトを持っている必要があるという事実を逃すだろう単純なものでした。修正プログラムが..私は私のプラグインを更新する必要があります。..

var marker = new google.maps.Marker(latlng) 
to 
var marker = new google.maps.Marker({'position' : latlng}); 
+0

+1感謝を変更することでしたあなたはそれが裁判のビットだった(Webページ、フォーラム...) – krembo99

+0

あなたが解決策を見つけたものを元に言うことができるとエラーと読書+グーグルマップのドキュメントを再読する。 –