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

Ser*_*rov 2 javascript geojson leaflet

我通过单击我的webapp中的按钮创建不同大小的多边形.

我还在对象内添加一些值作为嵌套对象,如{properties:{status:'active'}}.然后我跑toGeoJSON()了多边形的方法,并得到一个对象propertiesgeometry对象.properties对象是空的.

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

InP*_*uit 5

当为其创建GeoJSON对象时,Polygon上的任何"额外"数据都将丢失.只有多边形的坐标才会被转移到GeoJSON对象中.请参阅Leaflet源中的layer/GeoJSON.js中的第213和171行.在第171行,您可以看到创建了一个新对象,该对象具有一个名为"properties"的属性,但该属性与Polygon上名为"properties"的任何属性无关.

创建GeoJSON对象后,您可以通过执行以下操作将Polygon中的属性复制到GeoJSON对象上的属性对象中.但是 - 我不确定"属性"对象在GeoJSON规范中具有什么特定含义(如果有的话).

var json = polygon.toGeoJSON();
L.extend(json.properties, polygon.properties)
Run Code Online (Sandbox Code Playgroud)