2015-05-06 32 views
0

以下代碼顯示了這些羣集,但是當我點擊任何羣集時,它不會顯示單個標記,而只是顯示相同的羣集。標記本身是從外部服務獲得的,並且工作正常。markercluster點擊時未顯示單個標記

我還在地圖上顯示標記,這些標記不是任何集羣的一部分。

標記是fontawesome標記順便說一句,我沒有得到任何錯誤在鉻開發控制檯。

這裏是我的代碼:

 dt = MyService.getviewportpoints(nelat, nelon, swlat, swlon); 
     dt.then(
       function (data){ 
       //console.log(data); 

        if(markerArry.length >0){ 
         for (var i = 0; i < markerArry.length; i++) { 
          markerArry[i].setMap(null); 
         } 
         markerArry = []; 
       } 

       for (var i = 0; i < data.data.pnglist.length; i++) { 
        var star = data.data.pnglist[i]; 

        var myLatLng = new google.maps.LatLng(star.lat, star.lon); 
        var roto = 0; 
        if (star.marker_path == "fontawesome.markers.PLAY"){ 
         roto = 270; 
        } 
        var marker = new google.maps.Marker({ 
         position: myLatLng, 
          map: mapInstance, 
          icon:{ 
           path: eval(star.marker_path), 
           scale: 0.2, 
           fillColor: star.marker_fillcolor, 
           fillOpacity: 0.7, 
           rotation: roto 
           } 
        }); 
        markerArry.push(marker); 
        google.maps.event.addListener(marker, 'click', function() { 
         alert('info'); 
        }); 
       } 
       markerCluster = new MarkerClusterer(mapInstance, markerArry); 
       }); 
+0

這可能會幫助你https://googlemaps.github.io/js-marker-clusterer/docs/examples.html – Verma

+0

謝謝@Verma,我試了一下,他們的工作,但我粘貼上面的代碼沒有。 – BoCode

回答

1

我有這個同樣的問題,我通過指定這樣MarkerClusterer的MAXZOOM特性解決了這個問題:

var mcOptions = {maxZoom: 15}; 
var markerCluster = new MarkerClusterer(mapInstance, markerArry, mcOptions); 

嘗試不同的縮放值,看看是什麼在起作用最適合你! 希望它有幫助!

相關問題