只是一个快速查询 - 我相信它有一个快速的答案:) 我正在尝试遍历在谷歌地图中定义多边形的一系列点并更改它们(我的测试程序只是将纬度减少一小部分,看看我是否可以让它工作)。我从百慕大三角示例中获取了我的实验代码,但使用的是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() ));
}
但它不起作用。任何人都可以看到有什么问题?感谢
答案 0 :(得分:0)
你有一个坐标数组,保存为变量vertices
,然后用新值更新......然后是什么?你所做的就是更新数组。
如果要重绘多边形,还需要执行以下操作:
bermudaTriangle.setPath(vertices);