传单:加载geoJSON文件和特定的PopUp
Leaflet: Load geoJSON file and specific PopUp
在传单教程(http://leafletjs.com/examples/geojson/)中,他们展示了如何将标记或功能与弹出窗口相关联-弹出窗口可以包含HTML代码。
我希望用户能够指定一个特定的弹出加载使用URL。在传单教程的URLhttp://leafletjs.com/examples/geojson/example.html加载地图和功能-但是直到用户点击功能时才会出现弹出窗口。
是否有关联URL的方法?http://leafletjs.com/examples/geojson/example.html#Coors%40Field使用特定的功能,以便在用户指定URL时自动显示?
要解释你到底在问什么有点困难,但在我看来,你想在当前文档位置的哈希部分与地理特征的某些属性匹配时自动打开一个弹出窗口。
那么实例化你的层,然后循环使用L.GeoJSON.eachLayer()
的GeoJSON
的特征,检查名称是否匹配哈希:
var group = L.geoJSON(geojson, {...}).addTo(map);
group.eachLayer(function(layer) {
if ('#' + layer.feature.properties.name === document.location.hash) {
layer.openPopup();
}
});
注意以下几点:
- 存储对
L.GeoJSON
实例的引用,以便您可以操作它(调用其eachLayer()
方法)。 - 当
L.GeoJSON
实例化一个传单层(L.Marker
,L.Polyline
或L.Polygon
)时,它将GeoJSON特征存储为新创建层的属性,因此layer.feature
。 -
document.location
的哈希部分是一个总是以#
开头的字符串。您应该事先清理它,特别注意URL编码。
相关文章:
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在php文件中获取$.post-ajax传递的值
- 直接下载文件,而不是从window.open(url)
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用压缩的JavaScript文件(不是运行时压缩)
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- Javascript运行php文件,然后下载文件
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- 为Magnific Popup定义Typescript文件
- 传单:加载geoJSON文件和特定的PopUp