Javascript 单张在负荷图上绘制多边形
我有这个多边形坐标Javascript 单张在负荷图上绘制多边形,javascript,leaflet,polygon,leaflet-draw,Javascript,Leaflet,Polygon,Leaflet Draw,我有这个多边形坐标 let polygon = [ [ 51.40545845031738, 35.706447104954194 ], [ 51.390438079833984, 35.70568044469603 ], [ 51.38288497924805, 35.69689817401091 ] ] 我想在加载贴图时绘制多边形。也可编辑 换句话
let polygon = [
[
51.40545845031738,
35.706447104954194
],
[
51.390438079833984,
35.70568044469603
],
[
51.38288497924805,
35.69689817401091
]
]
我想在加载贴图时绘制多边形。也可编辑
换句话说
如何在地图加载后在地图上显示可编辑的多边形。我用这种方法解决了这个问题
let polygon = [
[
51.40545845031738,
35.706447104954194
],
[
51.390438079833984,
35.70568044469603
],
[
51.38288497924805,
35.69689817401091
]
];
let geojson = {
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": []
}
}]
};
let arr = [];
polygon.forEach(function (item, index) {
arr.push([item[1], item[0]]);
});
geojson.features[0].geometry.coordinates.push(arr);
var drawnItems = new L.FeatureGroup();
var geoJsonGroup = L.geoJson(geojson).addTo(map);
addNonGroupLayers(geoJsonGroup, drawnItems);
// Would benefit from https://github.com/Leaflet/Leaflet/issues/4461
function addNonGroupLayers(sourceLayer, targetGroup) {
if (sourceLayer instanceof L.LayerGroup) {
sourceLayer.eachLayer(function (layer) {
addNonGroupLayers(layer, targetGroup);
});
} else {
targetGroup.addLayer(sourceLayer);
}
}
你的
arr
数组不就是你的polygon
数组的副本吗?似乎是一个多余的步骤,执行forEach
/推送
循环。我使用的是Angular 8!已实施“”。一切正常。我能够绘制多边形,但当我重新加载页面时,我希望从localStorage加载该多边形(上次创建的)。我正在尝试从组件(ts文件)加载该多边形。我可以稍后对本地存储进行排序。我正在绘制多边形,并通过从组件中安慰它们来获取值(Lat long)。。我想通过ngOnInit()或MapReady从组件中给出值,并在初始加载时绘制多边形。