我通過單擊webapp中的按鈕來創建不同大小的多邊形。將新創建的多邊形轉換爲小冊子中的GeoJSON
我還在對象內添加了一些值作爲嵌套對象,如{properties:{status:'active'}}
。然後我運行多邊形的toGeoJSON()
方法,並獲得一個包含properties
和geometry
對象的對象。 properties
對象爲空。
我的問題是如何將我的值添加到對象中,以便它們在轉換時傳遞給GeoJSON對象?
我通過單擊webapp中的按鈕來創建不同大小的多邊形。將新創建的多邊形轉換爲小冊子中的GeoJSON
我還在對象內添加了一些值作爲嵌套對象,如{properties:{status:'active'}}
。然後我運行多邊形的toGeoJSON()
方法,並獲得一個包含properties
和geometry
對象的對象。 properties
對象爲空。
我的問題是如何將我的值添加到對象中,以便它們在轉換時傳遞給GeoJSON對象?
當爲其創建GeoJSON對象時,Polygon上的任何「額外」數據都將丟失。只有多邊形的座標纔會轉移到GeoJSON對象中。請參閱Leaflet源中的layer/GeoJSON.js中的第213和171行。在第171行中,您可以看到創建了一個新對象,並且該對象具有名爲「properties」的屬性,但該屬性與Polygon上的任何屬性(稱爲「屬性」)無關。
創建GeoJSON對象後,您可以通過執行以下操作將屬性從Polygon複製到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
});