在聚类谷歌地图时删除别针

时间:2015-08-21 15:45:05

标签: javascript google-maps google-maps-api-3 markerclusterer

我遇到谷歌地图群集引脚的问题。问题是在完成聚类之后,引脚不会消失。

这里的数组

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);

我有什么想法可以删除它们吗?

2 个答案:

答案 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)

我们在项目中做的一件事是每当我们需要更新它们并使用下面的代码清除它们时循环标记。

&#13;
&#13;
                    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;
&#13;
&#13; 此外,我们使用的MarketClusterer对象上有一个clearMarkers()方法。我希望这能有所帮助。