我有一个数组:
[[[11.11,11.11],[22.22,22.22],[33.33,33.33]],[[11.11,11.11],[22.22,22.22],[33.33,33.33]]]
我在Javascript中需要做的是每个人都是
[[11.11,11.11],[22.22,22.22],[33.33,33.33]]
输出并创建一个新的Google Polygon。
我目前有下面的代码用于一个多边形,它工作正常,但我手动复制并粘贴数组,以查看代码是否有效,能够自动迭代它将很好,然后创建多个多边形在谷歌地图上。
var locs = [[51.4840407, -0.0318375], [51.4840351, -0.0306535], [51.4839436, -0.0300458], [51.4840184, -0.0285545]]
var latLng = []
var point, _i, _len;
for (_i = 0, _len = locs.length; _i < _len; _i++) {
point = locs[_i];
latLng.push(new google.maps.LatLng(point[0], point[1]));
}
如何将数组放在顶部,拉出每个多边形,然后将其作为单独的多边形绘制到地图上。
根据第一个答案 - 我已将代码重新编写为:
var latLng =[]
var locs = []
for (var _p=0; _p < polys.length; _p++) {
locs = polys[_p];
for (_i = 0, _len = locs.length; _i < _len; _i++) {
point = locs[_i];
latLng.push(new google.maps.LatLng(point[0], point[1]));
bermudaTriangle = new google.maps.Polygon({
paths: [latLng]
});
bermudaTriangle.setMap(map);
}
}
然而,当绘制多边形时,它们全部“连接”,因为它们被视为一个 - 而不是每个多边形的单独多边形。
答案 0 :(得分:0)
您已经有了要求的后半部分,因此您只需要将每个单独的多边形都放入locs
然后再使用它。
var polys = [[[11,11],[22,22],[33,33]],[[44,44],[55,55],[66,66]]];
for (var _p=0; _p < polys.length; _p++) {
locs = polys[_p];
// locs is [[11,11],[22,22],[33,33]] first time
// locs is [[44,44],[55,55],[66,66]] second time
...
}