从Google Maps V3中的onClick事件获取属性

时间:2014-10-01 11:15:36

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

我正在使用Google Maps API v3,我想知道我们可以从事件中获取哪些属性?我到处搜索包括官方文档,但找不到任何东西。我的代码的一个例子是:

for (var i = 0; i < polygons.length; i++) {
                    polygons[i].setMap(map);
                    google.maps.event.addListener(polygons[i], 'click', function(event) {
                    var contentString = '<b>Test polygon</b><br>' +
                    'Clicked location: <br>'+ event.latLng.lat() +
                    '<br>';
                        infoWindow.setContent(contentString);
                        infoWindow.setPosition(event.latLng);

                        infoWindow.open(map);
                    });
                }

多边形数组有很多我创建的多边形。我可以使用event.latLng.lat()获得自由度。我还能通过这种方式获得什么?我可以在多边形数组中获取多边形的位置吗?或者其他任何信息? 我知道我可以用vertices = this.getPath(); ...

获得多边形顶点

2 个答案:

答案 0 :(得分:1)

要设置或获取任何事件的多边形属性,只需使用&#34;这个&#34;回调范围内的关键字,这里将=点击多边形。

Ex:任何属性或方法都可用,如

this.fillColor

会从&#34; this.fillColor&#34;中找回类型字符串中的颜色,但它应该在执行回调之前存在,或者让我们在侦听器之外说出来。

您还可以使用set this方法将自己的属性设置为任何形状

set("key", value); 

polygons[i].set("length", polygons[i].length);

然后使用this.length,在单击回调中返回

答案 1 :(得分:0)

google.maps.Polygon点击事件会返回PolyMouseEvent个对象。注意&#34; PolyMouseEvent&#34;特定属性仅适用于可编辑多边形。

记录属性:

  • 边缘|号码|事件发生时光标下方路径内边缘的索引,如果事件发生在可编辑多边形的中点上。
  • 路径|号码|事件发生时光标下方路径的索引,如果事件发生在顶点上且多边形是可编辑的。否则未定义。
  • 顶点|号码|事件发生时光标下方顶点的索引,如果事件发生在顶点上且折线或多边形是可编辑的。如果事件未在顶点上发生,则该值未定义。

此对象扩展MouseEvent

属性

  • latLng | LatLng |事件发生时光标下方的纬度/经度。