我遇到谷歌地图群集引脚的问题。问题是在完成聚类之后,引脚不会消失。
这里的数组
var myLatLng = new google.maps.LatLng(lat,lng);
var marker_new = new google.maps.Marker({
position: myLatLng,
map: map
});
new_markers.push(marker_new);
数组完成后
clusterStyles = [
{
textColor: '#ffffff',
opt_textColor: '#ffffff',
url: mapfunctions_vars.path+'/cloud.png',
height: 72,
width: 72,
textSize:15,
}
];
mcOptions = {
gridSize: 100,
ignoreHidden:true,
maxZoom: mapfunctions_vars.zoom_cluster,
styles: clusterStyles
};
var mcsluster;
mcsluster = new MarkerClusterer(map, new_markers, mcOptions);
mcsluster.setIgnoreHidden(true);
我有什么想法可以删除它们吗?
答案 0 :(得分:2)
不要将标记添加到地图中,只需使用坐标创建它们。只需改变:
var marker_new = new google.maps.Marker({
position: myLatLng,
map: map
});
为:
var marker_new = new google.maps.Marker({
position: myLatLng
});
您可以在文档中的示例中看到: https://googlemaps.github.io/js-marker-clusterer/examples/simple_example.html
for (var i = 0; i < 100; i++) {
var dataPhoto = data.photos[i];
var latLng = new google.maps.LatLng(dataPhoto.latitude,
dataPhoto.longitude);
var marker = new google.maps.Marker({
position: latLng
});
markers.push(marker);
}
var markerCluster = new MarkerClusterer(map, markers);
答案 1 :(得分:0)
我们在项目中做的一件事是每当我们需要更新它们并使用下面的代码清除它们时循环标记。
for (var i = 0; i < new_markers.length; i++) {
// cleanup event listener reference
google.maps.event.clearInstanceListeners(new_markers[i]);
// cleanup marker instance
new_markers[i].setMap(null);
}
&#13;