これは正しい方法ではありませんが、OpenLayers はポリゴンの配列から最後のポリゴンのみを描画します。
これが私のコードです:
for (...) {
var pointList = [];
var polygonList = [];
for (...) {
var newPoint = new OpenLayers.Geometry.Point(..X,...Y);
pointList.push(newPoint);
}
var linearRing = new OpenLayers.Geometry.LinearRing(pointList);
var polygons = new OpenLayers.Geometry.Polygon([linearRing]);
polygonList.push(polygons);
}
var style_polygon2 = {
strokeColor: "#05fbff",
strokeOpacity: 1,
strokeWidth: 2,
fillColor: "#05fbff",
fillOpacity: 0.2
};
var multiPol = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPolygon(polygonList), null, style_polygon2);
...layer.addFeatures(multiPol);
誰かがこのようなことをしたかどうか教えてください...
ありがとうございました!