如何实现两个重叠层?一个是Popups,另一个是Info-div

时间:2014-01-29 16:18:06

标签: javascript leaflet geojson

我正在尝试显示两个重叠的图层(geojson)。 Layer1应该通过将鼠标悬停在它上面给我信息(根据Leaflet Choropleth Map示例正常工作.Player2位于Layer1内,并且应该通过点击哪些不起作用给我信息。看起来好像Layer1在前面并且禁用了与之交互另一个。

我已尝试使用bringToFront()bringToBack()方法来解决问题。

要查看我的意思,请点击此处:http://jsfiddle.net/uFPwB/2/

1 个答案:

答案 0 :(得分:0)

它就在高亮特征功能中。

if (!L.Browser.ie && !L.Browser.opera) {
    layer.bringToFront();
}

当您将鼠标悬停时,这将使图层高于另一个图层。我更新了没有这条线的小提琴,似乎工作得很好。 http://jsfiddle.net/uFPwB/3/

如果要保留它并测试另一个多边形上的点击,则需要捕获事件并直接在另一个多边形的边界上测试它。

编辑:它不漂亮,但是如果点击是在geojson2上但是点击是在geojson1上,那么如何手动触发弹出窗口:http://jsfiddle.net/uFPwB/4/

var ll = e.latlng;
if (geojson2.getBounds().contains(ll)) {
    geojson2.openPopup();
}

希望这有帮助!