我想使用OpenLayers 6在地图上绘制多边形。这是我如何使用openlayers 2进行绘制的,它可以完美地工作:
return new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing(pointsArr)]);
这是我在OpenLayers 6中尝试执行的操作:
function getShapeObject(raw) {
var coordinates = [];
raw.GeometryHlp.StrPoints.forEach(function (item, index, array) {
coordinates.push([item.X, item.Y]);
});
return new LinearRing(coordinates);
}
其中坐标是如下所示的数组:([x,y],[x1,y1],[x2,y2]...)
当我尝试在开放图层6上绘制多边形时,该多边形不显示,并且在控制台中没有出现任何错误。
您知道我在做什么错吗?为什么不显示多边形?
答案 0 :(得分:2)
您无法显示LinearRing。使用另一对[]
并创建一个多边形:
return new Polygon([coordinates]);