我将外部 json 添加到传单层。当我点击 geojson 形状/多边形时,我想取回 geojson 字符串。我该怎么做呢?我有对图层的引用,但我不知道如何使用属性取回 geojson。
var layer = e.layer;
Run Code Online (Sandbox Code Playgroud)
layer在单击处理程序函数中声明usingvar将使其本地化,因此您将无法在单击处理程序之外访问它。如果要layer全局访问,则需要将其声明为全局变量,方法是首先在函数外声明它,或者在函数内声明它而不使用var. 以下代码使用后一种方法创建两个全局变量,一个将图层的 GeoJSON 作为对象,另一个将 GeoJSON 作为字符串:
layer.on('click', function() {
objectOut = layer.toGeoJSON();
textOut = JSON.stringify(objectOut);
});
Run Code Online (Sandbox Code Playgroud)
如果您有其他例程可能会在单击某个功能之前尝试访问这些变量,则您可能希望首先在单击处理程序之外声明它们(例如,var textOut = 'nothing clicked'等)。这是使用此方法的示例小提琴:
http://fiddle.jshell.net/nathansnider/pgk26r6n/
| 归档时间: |
|
| 查看次数: |
4156 次 |
| 最近记录: |