为什么地图上不显示多边形?
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]);
我想使用 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]);