【问题标题】:How to iterate markers on a Google maps (API 3)如何在谷歌地图上迭代标记(API 3)
【发布时间】:2011-08-29 04:04:45
【问题描述】:

我有以下地图:

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

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

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

【问题讨论】:

    标签: maps


    【解决方案1】:

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

    【讨论】:

    • 谢谢,这就是答案。我花了一段时间才弄清楚如何在 JavaScript 中处理多维数组,但在那之后效果很好。
    【解决方案2】:

    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);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-02
      • 2013-06-10
      • 1970-01-01
      • 1970-01-01
      • 2013-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多