Javascript 如何在我的地图中使用MarkerClusterer
我想在我的地图上使用MarkerClusterer,但我不太懂JavaScript 如何将MarkerClusterer与我的地图一起使用 我需要添加cluster命令,但我不太懂编码。我的代码在下面Javascript 如何在我的地图中使用MarkerClusterer,javascript,google-maps,google-maps-api-3,markerclusterer,Javascript,Google Maps,Google Maps Api 3,Markerclusterer,我想在我的地图上使用MarkerClusterer,但我不太懂JavaScript 如何将MarkerClusterer与我的地图一起使用 我需要添加cluster命令,但我不太懂编码。我的代码在下面 var LocationData = [ [49.2814064, -123.1025187, "71 E Hastings St, Vancouver" ], [49.2812336, -123.1020622, "122 E Hastings St, Vancouve
var LocationData = [
[49.2814064, -123.1025187, "71 E Hastings St, Vancouver" ],
[49.2812336, -123.1020622, "122 E Hastings St, Vancouver" ],
[49.2813564, -123.1012253, "138 E Hastings St, Vancouver" ],
[49.2811625, -123.0985032, "242 E Hastings St, Vancouver" ]
];
function initialize() {
var map =
new google.maps.Map(document.getElementById('map_canvas'));
var bounds = new google.maps.LatLngBounds();
var infowindow = new google.maps.InfoWindow();
for (var i in LocationData) {
var p = LocationData[i];
var latlng = new google.maps.LatLng(p[0], p[1]);
bounds.extend(latlng);
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: p[2]
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.setContent(this.title);
infowindow.open(map, this);
});
}
map.fitBounds(bounds);
}
google.maps.event.addDomListener(window, 'load', initialize);
google.maps.event.addListener(marker, 'click', function () {
infowindow.setContent(p[2]);
infowindow.open(map, marker);
});
您必须添加指向markerclusterer库的链接,如:
<script src='markerclusterer.js'></script>
然后缩小以使群集可见。在创建标记的循环中,您希望将创建的每个标记存储在一个数组中,然后将对地图和该数组的引用传递给群集构造函数:
var markers = [],
i, l
marker,
markerCluster;
for (i = 0, l = LocationData.length; i < l; i += 1) {
...
marker = new google.maps.Marker({ // whatever you need to pass in here });
markers.push(marker);
}
markerCluster = new MarkerClusterer(map, markers);
var标记=[],
i、 l
标记,
标记聚类;
对于(i=0,l=LocationData.length;i
另外,避免使用for/in在数组中循环,只使用常规的for循环您使用的是哪个集群插件,到目前为止您尝试了什么?像Google MarkerClusterer一样
var markers = [],
i, l
marker,
markerCluster;
for (i = 0, l = LocationData.length; i < l; i += 1) {
...
marker = new google.maps.Marker({ // whatever you need to pass in here });
markers.push(marker);
}
markerCluster = new MarkerClusterer(map, markers);