javascript - 谷歌地图 js api 版本 3 多边形信息窗口在错误的位置

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

我在循环中有这段代码:

      var points = [new google.maps.LatLng(lat1, lon1),
          new google.maps.LatLng(lat2, lon1),
          new google.maps.LatLng(lat2, lon2),
          new google.maps.LatLng(lat1, lon2),
          new google.maps.LatLng(lat1, lon1)
          ];
      bounds.extend(new google.maps.LatLng(lat1, lon1));
      bounds.extend(new google.maps.LatLng(lat2, lon1));
      bounds.extend(new google.maps.LatLng(lat2, lon2));
      bounds.extend(new google.maps.LatLng(lat1, lon2));
      var polygon = new google.maps.Polygon({
                        paths: points,
                        strokeColor: "#f33f00",
                        strokeOpacity: 1,
                        strokeWeight: 1,
                        fillColor: "#ff0000",
                        fillOpacity: 0.2
                    });

    var x1 = Math.min(lon1,lon2);
    var y1 = Math.min(lat1,lat2);
    var x2 = Math.max(lon1,lon2);
    var y2 = Math.max(lat1,lat2);
    var x = x1 + ((x2 - x1) / 2);
    var y = y1 + ((y2 - y1) / 2);
    var cp = new google.maps.LatLng(y,x);
    var infoWindow = new google.maps.InfoWindow();
                    infoWindow.setPosition(cp);
                    infoWindow.setContent(html);

   google.maps.event.addListener(polygon, "click", function() {
                        infoWindow.open(map);
                    });

                    polygon.setMap(map);

我的问题是,当我单击每个多边形时,信息窗口会在所有多边形的相同位置打开。

任何帮助将不胜感激!

最佳答案

您正在覆盖每个循环中的 infoWindow 对象。

将与 infoWindow(cp,html) 相关的属性存储在多边形对象中,并通过使用在点击函数中调用 setPosition()setContent()存储的属性。

关于javascript - 谷歌地图 js api 版本 3 多边形信息窗口在错误的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11117298/

相关文章:

javascript - 所见即所得的 CSS 编辑器

android - GPS 关闭时谷歌地图崩溃(请求位置)

android - 向 map 添加多个标记 (v2)

java - Android 上的谷歌地图 Activity

java - 如何通过位置名称查找地址(android google map)

javascript - 谷歌地图多边形减慢浏览器

javascript - 如何更改 Google map 标记上的图标

javascript - 检测手机浏览器 Conceal/离开事件

javascript - 使用 REST 更新 SharePoint 文档库中的文件内容 - javascript

javascript - 使用谷歌地图的多边形颜色