gpt4 book ai didi

javascript - 谷歌地图标记过滤器与聚类

转载 作者:行者123 更新时间:2023-12-03 08:59:07 25 4
gpt4 key购买 nike

我已经制作了一个带有过滤器的谷歌地图,它运行良好,但现在我还必须添加集群,这在使用过滤器时会出现错误。我已经尝试了在堆栈溢出上发布的几个解决方案,但我无法使其与过滤器和集群一起使用。在 map 上进行过滤时,集群不会更新,仍然显示所有标记。所以我想要的是将过滤后的标记推送到一个数组中,并基于该数组我尝试创建一个新的集群实例,但它完全不起作用,所以请帮助。

processChildren(listElement, function(el) {
var lat = parseFloat(getAttribute(el, 'data-lat')),
lng = parseFloat(getAttribute(el, 'data-lng')),
title = getAttribute(el, 'data-title'),
icon = getAttribute(el, 'data-icon'),
category = getAttribute(el, 'data-category'),
markerOptions,
marker;

if (!isNaN(lat) && !isNaN(lng)) {
markerOptions = mergeRecursive({}, mergeRecursive(settings.marker, {
position: new google.maps.LatLng(lat, lng),
title: title,
category: category
}));
if (icon) {
markerOptions.icon = icon;
}

marker = new google.maps.Marker(markerOptions);

markers.push(marker);

marker._locationElement = el;
el._marker = marker;
google.maps.event.addListener(marker, settings.marker.showInfoWindowAction, showInfoWindow);
if (settings.list.showInfoWindowAction) {
google.maps.event.addDomListener(el, settings.list.showInfoWindowAction, showMarker);
}
}



});


if (settings.clusterer.enabled) {
clusterer = new MarkerClusterer(map, markers, settings.clusterer);


}

最佳答案

过滤后找到解决方案,它必须创建当前集群实例并使用过滤列表创建一个新的集群实例

google.maps.event.addDomListener(select, "change", function() {
var selected = this.value;
clusterer.clearMarkers();
clusterer.addMarkers(markers[selected]);
});

关于javascript - 谷歌地图标记过滤器与聚类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32368671/

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