从外部访问 Leaflet.js GeoJson 功能

Accessing Leaflet.js GeoJson features from outside(从外部访问 Leaflet.js GeoJson 功能)
本文介绍了从外部访问 Leaflet.js GeoJson 功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

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

I want to interact with a leaflet powered map's GeoJson overlay (polygons) from outside of L.'s realm, but I don't seem to be able to access objects created by L..

互动包括:

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

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

I can see Leaflet exposing L.GeoJSON.getFeature(), but I don't seem to be able to squeeze anything out of it. No documentation, and the inspector seems to suggest it does not take arguments... :

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

Is this just there for future development?

推荐答案

您可以使用 getLayer 通过其 id 获取该功能.
http://leafletjs.com/reference.html#layergroup-getlayer

You may use getLayer to get the feature by its 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.js GeoJson 功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

How do I can get a text of all the cells of the table using testcafe(如何使用 testcafe 获取表格中所有单元格的文本)
node_modules is not recognized as an internal or external command(node_modules 未被识别为内部或外部命令)
How can I create conditional test cases using Protractor?(如何使用 Protractor 创建条件测试用例?)
PhantomJS and clicking a form button(PhantomJS 并单击表单按钮)
Clicking #39;OK#39; on alert or confirm dialog through jquery/javascript?(在警报上单击“确定或通过 jquery/javascript 确认对话框?)
QunitJS-Tests don#39;t start: PhantomJS timed out, possibly due to a missing QUnit start() call(QunitJS-Tests 不启动:PhantomJS 超时,可能是由于缺少 QUnit start() 调用)