繁体   English   中英

在Leaflet中将新创建的多边形转换为GeoJSON

[英]Convert a newly created polygon to GeoJSON in Leaflet

我通过在Web应用程序中单击一个按钮来创建不同大小的多边形。

我还在对象内部添加了一些值作为嵌套对象,例如{properties:{status:'active'}} 然后,我运行多边形的toGeoJSON()方法,并获得具有propertiesgeometry对象的对象。 properties对象为空。

我的问题是如何将值添加到对象中,以便在转换时将其传递给GeoJSON对象?

为它创建GeoJSON对象时,多边形上的所有“额外”数据都会丢失。 只有多边形的坐标才被带入GeoJSON对象。 请参阅Leaflet源中layer / GeoJSON.js中的第213和171行。 在171行上,您可以看到创建了一个新对象,并且该对象具有一个称为“属性”的属性,但该属性与您的多边形上与任何名为“属性”的属性无关。

创建GeoJSON对象后,您可以通过执行以下操作将属性从“多边形”复制到GeoJSON对象上的属性对象中。 但是-我不确定GeoJSON规范中“属性”对象的具体含义(如果有)。

var json = polygon.toGeoJSON();
L.extend(json.properties, polygon.properties)

InPursuits答案肯定对我有用...

var rect = L.rectangle(bounds).toGeoJSON();
L.extend(rect.properties, {
    itemIndex: v.itemIndex
});

暂无
暂无

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

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