我通过点击我的webapp中的按钮来创建不同大小的多边形。
我还在对象中添加一些值作为嵌套对象,如{properties:{status:'active'}}
。然后我运行多边形的toGeoJSON()
方法,并获得一个包含properties
和geometry
个对象的对象。 properties
对象为空。
我的问题是如何将我的值添加到对象中,以便在转换时将它们传递给GeoJSON对象?
答案 0 :(得分:5)
任何"额外"为其创建GeoJSON对象时,Polygon上的数据将丢失。只有多边形的坐标才会被转移到GeoJSON对象中。请参阅Leaflet源中的layer / GeoJSON.js中的第213和171行。在第171行,您可以看到创建了一个新对象,该对象具有一个名为"属性"的属性。但是该属性属性与任何名为" properties"的属性无关。在您的多边形。
创建GeoJSON对象后,您可以通过执行以下操作将Polygon中的属性复制到GeoJSON对象的属性对象中。但是 - 我不确定"属性"具体含义是什么?对象具有GeoJSON规范。
var json = polygon.toGeoJSON();
L.extend(json.properties, polygon.properties)
答案 1 :(得分:0)
InPursuits答案肯定对我有用......
var rect = L.rectangle(bounds).toGeoJSON();
L.extend(rect.properties, {
itemIndex: v.itemIndex
});