我正在使用很棒的插件 Leaflet.Control.Search为了在我的 map 上搜索标记(来自 geoJson 标记组)——效果很好。
我现在只有一个简单的问题: 如何打开搜索结果标记的弹出窗口? 我正在使用自定义标记图标,弹出窗口(点击打开)已经绑定(bind)到它们——但我想在通过搜索找到相应的弹出窗口后自动打开。
我的代码是这样的:
var searchControl = new L.Control.Search({layer: markers2, propertyName: 'Name', circleLocation:true});
searchControl.on('search_locationfound', function(e) {
e.layer.bindPopup(feature.properties.Name).openPopup();
}).on('search_collapsed', function(e) {
markers2.resetStyle(layer);
});
map.addControl( searchControl ); //inizialize search control
并认为它可能适用于该行:
e.layer.bindPopup(feature.properties.Name).openPopup();
但不幸的是它没有.. ;)
-
哦,还有第二个问题:目前我只在 1 个 geoJson 层(“markers2”)中搜索——有人知道是否可以一次在多个层中搜索吗?
有什么建议吗?如果有任何帮助,我将不胜感激,在此先致谢!
最佳答案
明白了:它是这样工作的:e.layer.openPopup().openOn(map);
关于search - 传单控件搜索 : open Popup for search result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23069012/