我想使用库" MarkerClusterer" (Google page)通过API在Google地图上标记我的标记。
我试图将它实现为我的实际代码,这些代码可以工作,但是当我缩小/在群集中消失时。当我刷新页面时,簇号不一样。为什么?
以下是我想要使用此API的内容:
$.ajaxq (qyName, {
url: url,
dataType: 'json'
}).done(function( data ) {
var address = getParameterByName('address', this.url);
var index = errorArray.indexOf(address);
try{
var p = data.results[0].geometry.location;
var latlng = new google.maps.LatLng(p.lat, p.lng);
marker = new google.maps.Marker({
position: latlng,
map: map
});
// Add markers to array
map.markers.push(marker);
markerCluster = new MarkerClusterer(map, map.markers, {
imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'
});
});
我做错了什么?谢谢你的帮助。
答案 0 :(得分:1)
我回答我的问题,因为我找到了解决方案感谢@Lixus让我以正确的方式进行!
我们必须在ajax调用之外设置新的MarkerClusterer,并为标记设置一个空数组。然后我们用标记数组调用方法.addMarkers()。
var mcOptions = {gridSize: 50, maxZoom: 15, imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'};
var mc = new MarkerClusterer(map, [], mcOptions);
然后在我们的ajax调用中,我们做了类似的事情:
marker = new google.maps.Marker({
position: latlng,
map: map,
icon: icon,
// Custom property to hold the filters options, it'a used below to filter the markers
});
// Add markers to array
map.markers.push(marker);
mc.addMarkers(map.markers);