2016-08-29 12 views
0

私はマップを作成してマーカーを追加します。私がAJAXに電話をしているときには、データベースからいくつかのレコードが来ており、地図を再ロードせずに地図を作成する場所を更新しています。しかし問題は、それが新しい記録のための新しいクラスタを作っていることです。ここ はコードです:markerClusterに前回削除せずにマーカーを追加

var marker, i; 
     var markers=[] 
     for (i = 0; i < locations.length; i++) { 
     marker = new google.maps.Marker({ 
      position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
      map: map, 
      icon: locations[i][4] 
     }); 


     google.maps.event.addListener(marker, 'mouseover', (function (marker, i) { 
      return function() { 
      infowindow.setContent("<img src="+locations[i][5]+" width='100%'><br> <strong>"+locations[i][0]+"</strong>"); 
      infowindow.open(map, marker); 
      } 
     })(marker, i)); 

     // assuming you also want to hide the infowindow when user mouses-out 
     marker.addListener('mouseout', function() { 
      infowindow.close(); 
     }); 

     google.maps.event.addListener(marker, 'click', (function (marker, i) { 
      return function() { 
      infowindow.setContent("<img src="+locations[i][5]+" width='100%'><br> <strong>"+locations[i][0]+"</strong>"); 
      infowindow.open(map, marker); 
      } 
     })(marker, i)); 
     markers.push(marker); 
     } 

     var markerCluster = new MarkerClusterer(map, markers,{ 
      imagePath: 'https://cdn.rawgit.com/googlemaps/js-marker-clusterer/gh-pages/images/m' 
     }); 

答えて

3

あなたがここで私は一つだけが追加されていることを

var markers = [] 
var marker = new google.maps.Marker({position: center}); 
markers.push(marker); 
markerClusterer.addMarkers(markers); 

注マーカーを追加することができます。

あなたは整頓のために、私はここにも解除マーカー配列を持っていることを

markerClusterer.clearMarkers(); 
markers = []; 

注すべてのマーカーを削除することができます。

あなたは http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/docs/reference.html

+0

yaahhhを通過することができます.....感謝:) –

関連する問題