簡體   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