繁体   English   中英

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

[英]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]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM