我正在使用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,其中包含一个&#39; name&#39; (即,&#39;姓名&#39;布什机场&#39;)为每个功能。我只是在我的onEachFeature函数中添加一个switch语句吗?
只需要一点指导,谢谢。
注意:我正在使用Bootstrap作为模态窗口
答案 0 :(得分:0)
如果我理解正确,您就不需要设置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);