如何在标记点击时显示模态窗口?
问题描述:
我正在使用leafletjs来构建web地图并试图找出如何在单击标记时显示模式窗口(而不是默认的弹出方法)。如何在标记点击时显示模态窗口?
这里是我的设置:
var myAirports = L.geoJson(myData, {
pointToLayer: function(latlng){
..snip..
},
onEachFeature: function(feature,layer){
$('#myModalOne').modal(options);
}
});
myAirports.addTo(map);
我的HTML像这样:
<div id="myModalOne">....</div>
<div id="myModalTwo">....</div>
比方说我的数据有 '名'(即 '名' 的键的FeatureCollection:“布什机场')为每个功能。我只是添加一个switch语句到我的onEachFeature函数?
只需要一点指导,谢谢。
注:我使用的引导为模态窗口
答
如果我理解正确的话,你不需要设置pointToLayer
选项,如果你想显示的东西比其他标志物是有用的。
您需要的是捕获标记上的click
事件并显示模式窗口。默认情况下没有弹出。
var myAirports = L.geoJson(myData, {
onEachFeature: function(feature,layer){
layer.on('click', function(e){
$('#myModal'+feature.properties.name).modal(options);
// or whatever that opens the right modal window
});
}
});
myAirports.addTo(map);