gpt4 book ai didi

javascript - 关闭 Google map v3 中所有当前打开的信息窗口?

转载 作者:行者123 更新时间:2023-11-28 20:36:27 25 4
gpt4 key购买 nike

在 Google map v3 中,如何关闭所有当前打开的信息窗口?

我不能只跟踪变量中最后打开的信息窗口,as some have suggested ,因为在我的设置中,每个标记都有唯一的文本,所以我必须将信息窗口绑定(bind)到创建标记的位置。

_.each(new_companies, function(c) {
var latLng = new google.maps.LatLng(c.com_d_coo_y_wgs84,
c.com_d_coo_x_wgs84);
var marker = new google.maps.Marker({'position': latLng});
marker.info = new google.maps.InfoWindow({
content: getTooltipText(c)
});
google.maps.event.addListener(marker, 'mouseover', function() {
marker.info.open(map, marker);
// How to close all currently open info windows?
});
google.maps.event.addListener(marker, 'click', function() {
marker.info.open(map, marker);
});
newco_markers.push(marker);
});

我想我可以循环遍历 newco_markers 中的所有标记并关闭每个信息窗口,但这感觉效率低下。

最佳答案

您应该尝试使用一个信息窗口并通过 API methods 更新其内容和位置:setPosition() 和 setContent()

编辑:

我假设您一次只需要一个信息窗口。如果您需要多个,那么您可以尝试保留一个 map (对象)或数组,其中包含对打开的信息窗口的引用。

关于javascript - 关闭 Google map v3 中所有当前打开的信息窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15272640/

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