gpt4 book ai didi

javascript - 如何在谷歌地图中隐藏和显示 MarkerClusterer

转载 作者:数据小太阳 更新时间:2023-10-29 04:00:41 25 4
gpt4 key购买 nike

我试图在用户点击某些按钮时隐藏/显示 markerClusterer:

这是我正在尝试做的:

    map = new google.maps.Map(document.getElementById("mappa"),mapOptions);
var marker_tmp = [];
var markers_tmp = [];
$.each(json,function(index,value){
var latLng = new google.maps.LatLng(value.lat,value.lng);
var marker = new google.maps.Marker({'position': latLng});
if((value.candidato in markers_tmp)==false){
markers_tmp[value.name]=[];
}
markers_tmp[value.name].push(marker);
});
for(var name in markers_tmp){
markers[name]= new MarkerClusterer(map,markers_tmp[name]);
}

我创建了多个 markerClusterer,每个都关联到一个特定的名称。

所以我有一些与这些特定名称关联的按钮,我需要隐藏/显示与该按钮关联的标记聚类器。

/*This is the function associated to a button when it is clicked*/
function hide_show_cluster(name,visible){
var tmp_cluster = markers[name];
//call a function of markerClusterer (tmp_cluster) to hide/show it
}

我做了很多测试,但没有人满足我的要求。有人能帮我吗?谢谢!

最佳答案

我整个早上都在为此苦苦挣扎,但幸运的是我找到了解决方案。

首先,确保您拥有最新的 MarkerClustererPlus 版本 https://github.com/googlemaps/js-marker-clusterer

那就很简单了,

创建标记时,请确保您

set its visible flag to false.

在创建标记聚类器时,请这样做:

new MarkerClusterer(map, markers, { ignoreHidden: true });

如果你想显示聚类器就这样做:

for (var it in markers) {
markers[it].setVisible(true);
}

markerCluster.repaint();

隐藏集群:

for (var it in markers) {
markers[it].setVisible(false);
}

markerCluster.repaint();

希望对你有帮助,问候

关于javascript - 如何在谷歌地图中隐藏和显示 MarkerClusterer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14894384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com