google-maps - 谷歌地图 : How to open an InfoWindow for a Polygon by clicking on it?

标签 google-maps click polygon infowindow openinfowindowhtml

我有一个简单的问题,但我在 Google Maps API 文档中找不到答案...

我有一张由 API 绘制的 13 个多边形的 map 。这是这些多边形之一的示例:

 var zone_up_montblanc = new GPolygon([
        new GLatLng(46.21270329318585, 6.134903900311617), 
        new GLatLng(46.20538443787925, 6.136844716370282), 
        new GLatLng(46.20525043957647, 6.141375978638086), 
        new GLatLng(46.20698751554006, 6.148050266912262), 
        new GLatLng(46.21110286985207, 6.153203229026629), 
        new GLatLng(46.21730757985668, 6.151718301267355), 
        new GLatLng(46.22092122197341, 6.153676364285801), 
        new GLatLng(46.22615123408969, 6.149844858907489), 
        new GLatLng(46.22851200024137, 6.149876939987202), 
        new GLatLng(46.22945159836955, 6.142758190170017), 
        new GLatLng(46.21735908463437, 6.141457132705133), 
        new GLatLng(46.21753573755057, 6.138058122426195), 
        new GLatLng(46.21270329318585, 6.134903900311617)
        ], "#6b1f43", 2, 0.9, "#92c87f", 0.5);

然后 :
  map.addOverlay(zone_up_montblanc);

多边形出现在我的 map 上,没问题。
但是我现在要做的是通过单击每个多边形(每个多边形的内容不同)打开一个“信息窗口”。

有人有想法或例子吗?

非常感谢你的帮助 !

最佳答案

我将描述解决方案,因为我有一段时间没有使用 API,并且很难上传任何大量代码 - 不习惯这里的代码编辑功能。有关详细信息,请参阅 API 引用。

那么,让我们开始吧:

  • 您正在使用 map.AddOverlay() 添加多边形,然后 map 会存储您的多边形。
  • 声明一个事件处理程序来捕获对 map 的点击。该事件处理程序将传递单击位置的 GLatLng 以及单击的叠加层(在您的情况下为多边形)。您可以进行简单的类型测试来确定叠加层是否为多边形。
  • 在事件处理程序中使用 map.openInfoWindowHtml(),传递作为位置提供的 GLatLng,以及您想要显示的 HTML 内容。

  • 就这么简单!您将不得不查看如何附加事件处理程序,因为我不记得我脑海中的细节。因此,您需要在 API 中查找的内容是:
  • 向 map 添加事件处理程序
  • 检查覆盖的类型

  • 您应该能够在 api 页面上找到要调用的方法和所有信息:

    http://code.google.com/apis/maps/documentation/reference.html

    祝你好运!

    关于google-maps - 谷歌地图 : How to open an InfoWindow for a Polygon by clicking on it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2846041/

    相关文章:

    html - 剪辑路径多边形 CSS 在 Firefox 和 Internet Explorer 中不起作用

    javascript - 如何确定函数加载的时间?

    javascript - 单击元素后创建 Google Map v3

    events - AppleScript 在鼠标位置单击

    javascript - jQuery .trigger 在输入按键时不会触发

    opencv - 包含不需要的点的轮廓近似

    css - 有没有办法从 CSS 中的任何图像创建复杂的多边形形状以用于 regions 属性?

    php - 谷歌地图 API : return results for postcode

    objective-c - 查找纬度和经度返回 0,0

    C# 如何单击 IList 中的 IWebelement?