如何从地图中禁用注册地点的infowindow?

时间:2012-10-29 07:03:40

标签: google-maps google-maps-api-3

你是谷歌地图的新手。我使用gmaps jquery插件来显示地图。因为我有一些位置的标记和折线,并在点击这些标记时显示信息窗口。但是像crissy field这样的一些区域我并没有定义任何标记或折线,但是点击它时默认会得到infowindow。如何删除该infowindow请帮助。

4 个答案:

答案 0 :(得分:0)

InfoWindows有一个close()函数。只需跟踪上次打开的窗口,并在创建新窗口时调用close函数。

此演示(http://www.lootogo.com/googlemapsapi3/markerPlugin.html)具有您正在寻找的功能。我在Maps API V3演示库中找到了它。

答案 1 :(得分:0)

我认为防止这些信息窗口打开的唯一方法是使用styled maps来关闭POI,例如:

[
  {
    "featureType": "poi",
    "stylers": [
      { "visibility": "off" }
    ]
  }
]

答案 2 :(得分:0)

var stylesArray = [
  {
    featureType: '',
    elementType: '',
    stylers: [
      {hue: ''},
      {saturation: ''},
      {lightness: ''},
      // etc...
    ]
  },
  {
    featureType: '',
    // etc...
  }
]

您可以更改其功能,例如完全隐藏功能

stylers: [
  { visibility: "off" }
]

如果您使用的是版本3

,可以参考以下关于poi的链接

https://developers.google.com/maps/documentation/javascript/styling

希望这会有所帮助:D

答案 3 :(得分:0)

防止这种行为的最简单,最有效的方法是在附加到Map实例的click事件上调用stop()方法。

map.addListener("click", e => e.stop());