为什么地图上不显示多边形?

Why polygon not displayed on the map?

我想使用 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 上绘制多边形时,多边形没有显示,而且我在控制台中也没有收到任何错误。

你知道我做错了什么吗?为什么不显示多边形?

您无法显示 LinearRing。使用另一对 [] 并创建一个多边形:

return new Polygon([coordinates]);