如何在标记点击上显示模态窗口?

时间:2017-03-15 15:08:31

标签: javascript leaflet

我正在使用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作为模态窗口

1 个答案:

答案 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);