1
我將外部json添加到傳單層。當我點擊geojson形狀/多邊形時,我想要返回geojson字符串。我該怎麼做呢?我有一個對圖層的引用,但是我沒有看到如何使用屬性取回geojson。如何將geojson對象添加到傳單中?
var layer = e.layer;
我將外部json添加到傳單層。當我點擊geojson形狀/多邊形時,我想要返回geojson字符串。我該怎麼做呢?我有一個對圖層的引用,但是我沒有看到如何使用屬性取回geojson。如何將geojson對象添加到傳單中?
var layer = e.layer;
使用var
將使當地單擊處理函數內聲明layer
,所以您將無法訪問它的點擊處理程序之外。如果要全局訪問layer
,則需要聲明它爲global variable,可以先聲明它在函數外部,或者在沒有var
的函數內聲明它。下面的代碼使用後者的方法創建兩個全局變量,一個與該層的GeoJSON的一個對象,一個與以GeoJSON作爲字符串:
layer.on('click', function() {
objectOut = layer.toGeoJSON();
textOut = JSON.stringify(objectOut);
});
如果您有其他程序可能會嘗試之前訪問這些變量點擊一個功能,您可能需要首先在點擊處理程序之外聲明它們(例如,var textOut = 'nothing clicked'
等)。下面是一個使用這個方法的例子小提琴:「在函數內部聲明(一VAR)無(使用關鍵字)VAR」
請不要這樣做。沒有明確地確定你的變量的範圍是字面上你可以在JS中做的最糟糕的事情之一,並且可能導致各種錯誤。這是代碼評論中表翻轉的第二個原因,而第一個原因是因爲JS嚴重訪談失敗(開玩笑,而不是開玩笑)。 – technicolorenvy