如何迭代 Google 地图上的标记 (API 3)

发布于 2024-11-08 16:52:15 字数 193 浏览 0 评论 0原文

我有以下地图:

var map = new google.maps.Map(document.getElementById('map'), myOptions);

并创建了几个标记来调用 new google.maps.Marker()

现在,我需要在单击复选框时隐藏某个组的所有标记,但无法找到迭代地图上所有标记的方法。

I have the following map:

var map = new google.maps.Map(document.getElementById('map'), myOptions);

and a couple of markers created calling to new google.maps.Marker()

Now I need to hide all the markers of a certain group when a checkbox is clicked but can't find a way to iterate through all the markers on the map.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

dawn曙光 2024-11-15 16:52:15

您可以跟踪 Google 地图上的所有标记。 Google API 不会跟踪您添加的所有叠加层。创建标记对象时,将它们添加到数组中(不同的组使用不同的数组)。然后,当触发适当的事件时,迭代该特定数组并隐藏该组中的所有标记。

It's up to you to keep track of all markers on a Google Map. Google API does not keep track of all overlays you have added. When you create the Marker Objects add them to an array (different arrays for different groups). Then iterate through that specific array and hide all markers in that group, when the appropriate event is triggered.

愛放△進行李 2024-11-15 16:52:15
var gmarkers = Array();
.
.
 for( i = 0; i < [your locations array].length; i++ ) {
        var position = new google.maps.LatLng([your locations array].lat, [your locations array].long);
        bounds.extend(position);
        marker = new google.maps.Marker({
            position: position,
            map: map,
            title: markers[i].title 
        });
gmarkers.push(marker);
}
.
.
.
// hide all the markers 
for(i = 0 ; i< gmarkers.length; i++) gmarkers[i].setVisible(false);

var gmarkers = Array();
.
.
 for( i = 0; i < [your locations array].length; i++ ) {
        var position = new google.maps.LatLng([your locations array].lat, [your locations array].long);
        bounds.extend(position);
        marker = new google.maps.Marker({
            position: position,
            map: map,
            title: markers[i].title 
        });
gmarkers.push(marker);
}
.
.
.
// hide all the markers 
for(i = 0 ; i< gmarkers.length; i++) gmarkers[i].setVisible(false);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文