gpt4 book ai didi

google-maps - 按类别打开/关闭 Google map 标记

转载 作者:行者123 更新时间:2023-12-02 00:33:13 24 4
gpt4 key购买 nike

我有以下内容,并希望根据 cat: dataMarkers.cat 下拉出的各种类别类型对标记进行排序。对于如何以最佳方式实际执行此操作,我有点迷茫。我在考虑每个类别的 markerManager?我需要每个类别都在其自己的 markerManager 数组中吗?这与 markerClusterer 有何关系?

var map;

function initialize() {
var center = new google.maps.LatLng(39.632906,-106.524591);
var options = {
'zoom': 8,
'center': center,
'mapTypeId': google.maps.MapTypeId.ROADMAP
};

var map = new google.maps.Map(document.getElementById("map_canvas"), options);

<!--Load Markers-->
var markers = [];
for (var i = 0, dataMarkers; dataMarkers = data.markers[i]; i++) {
var latLng = new google.maps.LatLng(dataMarkers.lat, dataMarkers.lng);
var marker = new google.maps.Marker({
position: latLng,
title: dataMarkers.title,
date: dataMarkers.date,
time: dataMarkers.time,
desc: dataMarkers.desc,
img: dataMarkers.img,
add: dataMarkers.address,
cat: dataMarkers.cat,
map: map
});

<!--Display InfoWindows-->
var infowindow = new google.maps.InfoWindow({
content: " "
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent('<div id="mapCont"><img class="mapImg" src="'+this.img+'"/>' +
'<div class="mapTitle">'+this.title+'</div>' +
'<div class="mapHead">Date: <div class="mapInfo">'+this.date+'</div>' +
'<div class="mapHead">Time: <div class="mapInfo">'+this.time+'</div>' +
'<p>'+this.desc+'</p></div>');
infowindow.open(map, this);
});

markers.push(marker);
}

<!--Cluster Markers-->
var markerClusterer = new MarkerClusterer(map, markers, {
maxZoom: 15,
gridSize: 50
});

}

最佳答案

我建议您将所有标记存储在一个数组中。在每个标记上创建一个名为 category 的字段,并为其赋予正确的值。

每当类别发生变化时,您都会遍历标记数组并对正确类别中的标记设置 marker.visible = true,并设置 marker.visible = false在所有其他人身上。

在 JavaScript 中,很容易为对象动态分配新字段。你会简单地说:

var marker = new google.maps.Marker({
position: latLng,
title: dataMarkers.title,
date: dataMarkers.date,
time: dataMarkers.time,
desc: dataMarkers.desc,
img: dataMarkers.img,
add: dataMarkers.address,
cat: dataMarkers.cat,
map: map
});
marker.category = THE_CATEGORY_IT_BELONGS_TO;

只要标记存在,它就会有一个名为 category 的字段。

关于google-maps - 按类别打开/关闭 Google map 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5827964/

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