如何通过按钮隐藏谷歌地图标记?

时间:2014-01-27 08:45:03

标签: javascript google-maps-api-3

我有一张谷歌地图。我创建了一些标记,但我无法隐藏这些标记。我看了this document。我有一个功能,但它失败了。

function LoadMap () {
  var markers = JSON.parse('<%=Stations() %>');
  var mapOptions = {
    center: new google.maps.LatLng(markers[0].lat, markers[0].lng),
    zoom: 5,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var infoWindow = new google.maps.InfoWindow();
  map2 = new google.maps.Map(document.getElementById("map_canvas2"), mapOptions2);
  for (i = 0; i < markers.length; i++) {
    var data = markers[i]
    var myLatlng = new google.maps.LatLng(data.lat, data.lng);
    var marker = new google.maps.Marker({
      position: myLatlng,
      map: map2,
      title:"Hello",
    });
    (function (marker, data) {
      google.maps.event.addListener(marker, "click", function (e) {
        infoWindow.setContent(data.description);
        infoWindow.open(map, marker);
        icon: InitIcon
      });
    }(marker, data);
  }
}

1 个答案:

答案 0 :(得分:1)

您需要将setMap(null)应用于您的标记数组。

如果您的markers变量包含所有标记,则需要循环显示每个标记并使用

删除每个标记
markers[i].setMap(null);

your sample

所示

顺便说一下,您的代码包含somme错误,例如在;之后缺少var data = markers[i]