从外部访问Leaflet.js GeoJson要素

7
我希望与叶子提供的地图的GeoJson叠加层(多边形)进行交互,但似乎无法访问由L.创建的对象。
交互包括:
- 获取范围(getBounds) - 适应范围(fitBounds) - 设置样式(setStyle)等
我可以看到Leaflet公开了L.GeoJSON.getFeature(),但似乎无法从中获得任何信息。没有文档,并且检查器似乎表明它不接受参数... :\
这只是为未来开发而存在吗?
图片请见上方。
1个回答

14

您可以使用getLayer根据其id获取要素。
http://leafletjs.com/reference.html#layergroup-getlayer

var geojsonLayer = L.geoJson(data,{
    onEachFeature: function(feature, layer) {
        layer._leaflet_id = feature.id;                                    
    }});
geojsonLayer.addTo(map);

feature = geojsonLayer.getLayer(12345); //your feature id here
alert(feature.feature.id);

这似乎是去/查找的逻辑位置,但我无法获取信息。你有例子可以给我看吗? - datafunk
抱歉,我被另一个项目完全占据了。我还没有连接一些功能,但现在我可以从外部输入访问Leaflet的对象了。感谢您的帮助。 - datafunk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接