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

时间:2020-03-02 18:05:24

标签: gis openlayers

我想使用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上绘制多边形时,该多边形不显示,并且在控制台中没有出现任何错误。

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

1 个答案:

答案 0 :(得分:2)

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

return new Polygon([coordinates]);