0

私は配列を持っています:

[[[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 ポリゴンを作成します。

私は現在、以下のコードを 1 つのポリゴンに対して動作させています。正常に動作しますが、配列から手動でコピーして貼り付けて、コードが動作するかどうかを確認しています。自動的に反復できるようにするには、Google で複数のポリゴンを作成するのが最適です。地図。

  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);

}
}

ただし、ポリゴンが描画されると、それぞれが個別のポリゴンとしてではなく、1 つとして扱われるため、すべてが「接続」されます。

4

1 に答える 1

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
    ...
}
于 2012-05-14T11:29:28.970 に答える