更改谷歌地图多边形顶点

时间:2017-01-18 14:36:07

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

只是一个快速查询 - 我相信它有一个快速的答案:) 我正在尝试遍历在谷歌地图中定义多边形的一系列点并更改它们(我的测试程序只是将纬度减少一小部分,看看我是否可以让它工作)。我从百慕大三角示例中获取了我的实验代码,但使用的是LatLong数组而不是MVC。

   triangleCoords = [
      new google.maps.LatLng(25.774, -80.190 ),
      new google.maps.LatLng(18.466, -66.118 ),
      new google.maps.LatLng(32.321, -64.757 )
    ];

   bermudaTriangle = new google.maps.Polygon({
      paths: triangleCoords,
      strokeColor: '#FF0000',
      strokeOpacity: 0.8,
      strokeWeight: 2,
      fillColor: '#FF0000',
      fillOpacity: 0.35,
      map: map
    });

我正试图改变这一点:

var vertices = bermudaTriangle.getPath();

    for (var i =0; i < vertices.getLength(); i++) {
      var xy = vertices.getAt(i);
      vertices.setAt(i, new google.maps.LatLng( xy.lat()-0.01, xy.lng() ));
    }

但它不起作用。任何人都可以看到有什么问题?感谢

1 个答案:

答案 0 :(得分:0)

你有一个坐标数组,保存为变量vertices,然后用新值更新......然后是什么?你所做的就是更新数组。

如果要重绘多边形,还需要执行以下操作:

bermudaTriangle.setPath(vertices);