从外部访问 Leaflet.js GeoJson 功能

Posted

技术标签:

【中文标题】从外部访问 Leaflet.js GeoJson 功能【英文标题】:Accessing Leaflet.js GeoJson features from outside 【发布时间】:2015-04-21 11:40:58 【问题描述】:

我想与 L. 领域之外的传单驱动地图的 GeoJson 覆盖(多边形)进行交互,但我似乎无法访问由 L. 创建的对象。

互动包括:

getBounds(myFeature) fitBounds(myFeature) 设置样式 等等

我可以看到 Leaflet 暴露了 L.GeoJSON.getFeature(),但我似乎无法从中挤出任何东西。没有文档,检查员似乎建议它不接受参数...:\

这只是为了未来的发展吗?

【问题讨论】:

【参考方案1】:

您可以使用 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);

【讨论】:

这似乎是去/看的合乎逻辑的地方,但我无法得到它的信息。你碰巧有一个我可以看的例子吗? 对不起,被另一个项目完全劫持了。我还没有挂钩一些功能,但我现在可以从外部输入访问 Leaflet 的对象。感谢您的帮助。

以上是关于从外部访问 Leaflet.js GeoJson 功能的主要内容,如果未能解决你的问题,请参考以下文章

在 Leaflet.js 地图周围包裹 GeoJSON 对象

单击geojson多边形到传单地图时添加的更新d3图表

如何从 openlayers 读取外部 GeoJSON 文件?

如何仅使用 DOM 对象获取 leaflet.js 实例?

如何从地图外部与传单标记层进行交互?

html 加载外部GeoJSON(Promises):请求数据