我将外部json添加到了传单层。当我点击geojson形状/多边形时,我想让geojson字符串退出。我该怎么做呢?我有一个对图层的引用,但我不知道如何使用属性来恢复geojson。
var layer = e.layer;
答案 0 :(得分:2)
使用layer
在点击处理函数中声明var
将使其成为本地,因此您将无法在点击处理程序之外访问它。如果您想全局访问layer
,您可以将其声明为global variable,方法是首先在函数外声明它,或者在没有var
的情况下在函数中声明它。以下代码使用后一种方法创建两个全局变量,一个将图层的GeoJSON作为对象,另一个将GeoJSON作为字符串:
layer.on('click', function() {
objectOut = layer.toGeoJSON();
textOut = JSON.stringify(objectOut);
});
如果在单击某个功能之前有其他可能尝试访问这些变量的例程,您可能希望首先在单击处理程序之外声明它们(例如,var textOut = 'nothing clicked'
等)。以下是使用此方法的示例小提琴: