Javascript 谷歌地图上的多个多边形-不工作-连接

Javascript 谷歌地图上的多个多边形-不工作-连接,javascript,google-maps,Javascript,Google Maps,使用下面的代码,我可以在地图上绘制一个多边形,但是多边形被视为一个,api将它们作为多边形连接起来。我一直在用头撞这个!我需要每个多边形在地图上加载不同的形状。数组中的格式如下所示: [[11.11,11.11],[22.22,22.22],[33.33,33.33]] 的 [[11.11,11.11]、[22.22,22.22]、[33.33,33.33]、[11.11,11.11]、[22.22,22.22]、[33.33,33.33]] var polys=[[51.4503639,-0

使用下面的代码,我可以在地图上绘制一个多边形,但是多边形被视为一个,api将它们作为多边形连接起来。我一直在用头撞这个!我需要每个多边形在地图上加载不同的形状。数组中的格式如下所示:

[[11.11,11.11],[22.22,22.22],[33.33,33.33]]

[[11.11,11.11]、[22.22,22.22]、[33.33,33.33]、[11.11,11.11]、[22.22,22.22]、[33.33,33.33]]
var polys=[[51.4503639,-0.1006082],[51.4502851,-0.1000704],[51.4491791,-0.0992159],[51.4480629,-0.0978004],[51.4486121,-0.098658],[51.4503639,-0.1006082],[51.4225526,-0.1618125],[51.42297,-0.160525],[51.4222314,-0.1603534],[51.421847,-0.15904051],[51.42161 0.41633],[15.421610],-41833],[15.41833],[15.41833],[15.41833],[11],[51.4195509, -0.1571436], [51.4188674, -0.1577788], [51.4190548, -0.1585427], [51.4189852, -0.1594954], [51.4182427, -0.1601064], [51.4175419, -0.1606966], [51.416929, -0.1618334], [51.4175821, -0.1618763], [51.4183207, -0.1624428], [51.4181762, -0.1640049], [51.4182297, -0.1646916], [51.4191932, -0.1649233], [51.4204705, -0.1644732], [51.4211931, -0.1643445], [51.4216213, -0.1642758], [51.4209897, -0.1643016], [51.4201781, -0.163241], [51.4214072, -0.1623876], [51.4219531, -0.1621987], [51.4220602, -0.1621558], [51.4225526, -0.1618125]]]
var latLng=[]
变量locs=[]
对于(var_p=0;_p
最终,这起到了作用:

  var latLng =[]
  var locs = []
  for (var _p=0; _p < polys.length; _p++) {
      locs = polys[_p];
      var  latLng = [];
      var bermudaTriangle = []
    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,
               fillColor: "#FF0000",
               fillOpacity:0.1
    });

    bermudaTriangle.setMap(map);
     }

    }
var latLng=[]
变量locs=[]
对于(var_p=0;_p
您应该将调用移动到内部循环之外创建多边形。并且每次都需要重新创建latLng数组

var latLng =[];

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,
           fillColor: "#FF0000",
           fillOpacity:0.1
});

bermudaTriangle.setMap(map);
var latLng=[];
对于(_i=0,_len=locs.length;_i<_len;_i++){
点=locs[_i];
push(新的google.maps.latLng(点[0],点[1]);}
}
bermudaTriangle=新建google.maps.Polygon({
路径:latLng,
fillColor:#FF0000“,
填充不透明度:0.1
});
百慕大陆角。设定图(map);

您应该将调用移动到内部循环之外创建多边形。并且每次都需要重新创建latLng数组

var latLng =[];

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,
           fillColor: "#FF0000",
           fillOpacity:0.1
});

bermudaTriangle.setMap(map);
var latLng=[];
对于(_i=0,_len=locs.length;_i<_len;_i++){
点=locs[_i];
push(新的google.maps.latLng(点[0],点[1]);}
}
bermudaTriangle=新建google.maps.Polygon({
路径:latLng,
fillColor:#FF0000“,
填充不透明度:0.1
});
百慕大陆角。设定图(map);

很抱歉,这似乎产生了相同的结果,它连接了所有内容?很抱歉,遗漏了一些内容。问题是,您不断地将所有点添加到同一数组中,您需要为每个多边形清除这些点。嗯,似乎将最后一个多边形保留在那里,但删除了所有其他多边形?抱歉!!您希望看到什么?我得到了2D地图上的istinct多边形抱歉,似乎产生了相同的结果,它正在连接所有的东西?抱歉,遗漏了一些东西。问题是您不断地将所有点添加到同一数组中,您需要为每个多边形清除它。嗯,似乎将最后一个多边形保留在那里,但删除了所有其他多边形?抱歉!!您期望的是什么要看吗?我在地图上看到两个不同的多边形