【发布时间】:2014-10-15 16:18:05
【问题描述】:
我正在使用传单中的 geojson 数据。在http://leafletjs.com/examples/geojson.html 的指南中,他们写道有两种方法可以将 geojson 数据添加到地图:
"GeoJSON 对象通过 GeoJSON 层添加到地图中。要创建它并将其添加到地图中,我们可以使用以下代码:"
L.geoJson(geojsonFeature).addTo(map);
“或者,我们可以创建一个空的 GeoJSON 层并将其分配给一个变量,以便我们以后可以向其添加更多功能。”
var myLayer = L.geoJson().addTo(map);
myLayer.addData(geojsonFeature);
我目前正在使用最后一种方法(我正在创建一个空层并向其中添加数据)。我现在正在做的是我正在尝试添加一个 onEachFeature 函数。虽然我在使用 myLayer.addData 方法时无法正常工作。
在我的代码中,我使用的是this.geoJson.addData(geoJson, { onEachFeature: onEachFeature });。其中geoJson 是实际的geoJson 字符串,“this.geoJson”是已创建并添加到地图的空geoJson 图层。虽然这不起作用。
但是,如果我在输入 geoJson 数据的同时创建一个新的 geoJson 图层,则一切正常:
L.geoJson(geoJson, {
onEachFeature: onEachFeature
}).addTo(this.map);
所以我主要想知道的是,在使用 layer.addData 函数添加数据时,我应该如何使 onEachFeature 函数正常工作?
【问题讨论】:
标签: javascript json leaflet geojson