0

Googleマップでサイト名に基づいてマーカーを表示するためにGoogleジオコードを使用していますが、正常に動作しています。今、私は2つの同じサイト名とチャートが1つのマーカーのみを表示する状況があります。それはマーカーを無効にします。だから、私は私にgoogleジオコードのマーカークラスタ

<script> 
$(document).ready(function() { 
var map; 
var elevator; 
var myOptions = { 
    zoom: 4, 
    center: new google.maps.LatLng(39.639537564366684, -97.03125), 
    mapTypeId: 'terrain' 
}; 
map = new google.maps.Map($('#map')[0], myOptions); 

//info window 
var infowindow = new google.maps.InfoWindow({}); 

var addresses = [<?php $numItems = count($val); $i=0; foreach($val as $data){ echo "['".$data['name']."','".$data['resp']."']"; if(++$i !== $numItems) {echo ",";}}?>]; 
//var colordot =[]; 
//alert(addresses); 
for (var x = 0; x < addresses.length; x++) { 
//alert(addresses[x][1]); 
var resp = addresses[x][1]; 

      //alert(colordot[x]); 
    $.getJSON('http://maps.googleapis.com/maps/api/geocode/json?address=' + addresses[x][0] + '&sensor=false', null, function(resp) { 
     return function(data) { 
     var p = data.results[0].geometry.location; 
     var address = data.results[0].formatted_address; 
     var latlng = new google.maps.LatLng(p.lat, p.lng); 
     if (resp >= 50) { 

       var img= 'img/red-dot.png'; 
      } 
      else{ 
       var img= 'img/green-dot.png'; 
      } 
     var marker = new google.maps.Marker({ 

      icon: img, 

      position: latlng, 
      map: map 
     }); 


     // Adding a click event to the marker 
     google.maps.event.addListener(marker, 'click', function() { 
      infowindow.setContent('<div><strong>SiteName : ' + address + '</strong><br><strong>Avg. Response : ' + resp + '</strong>'); 
      infowindow.open(map, this); 
     }); 

     } 
    }(resp)); 
} 

}); 
</script> 

答えて

0

を手助けしなさい!私は私の次のコードで実装する方法がわからない、クラスタを考えるが、私は何を意味することは、あなたが右のために互いの上に2つのマーカーを持っているということだと思います彼らはまったく同じ座標を共有しており、それらが実際に別々のマーカーであることを示したいとします。この場合は

、使用MarkerClusterer https://developers.google.com/maps/documentation/javascript/marker-clustering

関連する問題