单击时不打开传单弹出窗口(Safari 13.1.3)
Leaflet Popup not opening on click (Safari 13.1.3)
编辑- https://codepen.io/jdog6652/pen/YzNbPQg - 实例取消注释 JS 底部的函数调用
EDIT2- 感谢大家的帮助,这似乎是一个浏览器问题,在我的 Safari 版本 (13.1.3) 上弹出窗口不会加载,但在其他浏览器上这似乎不是问题。有什么方法可以让它在 Safari 中运行吗?
我遇到一个问题,当我将弹出窗口绑定到标记并将其添加到地图时,即使单击标记也不会出现。
如果我将其绑定到标记,将其添加到地图,然后链接一个 .openPopup() 弹出窗口出现在加载时,但在关闭后就不可能再次打开。
下面是我如何初始化地图的代码
var map = L.map('mapid').setView([51.505, -0.09], 13);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
下面是我如何将标记添加到地图的 for 循环
function populateLeaflet(data){
let json = JSON.parse(data);
map.flyTo([json[0]['lat'],json[0]['lng']], 12);
json.forEach(element =>
L.marker([element['lat'], element['lng']]).bindPopup(element['title']).addTo(map)
)
}
这将成功飞到将标记添加到地图的位置,但是当我点击标记时没有任何反应
切换绑定和添加的顺序不会改变任何内容,这是在单击标记时添加监听器的唯一解决方案,还是我犯了一些错误?
我在此处发现的类似问题并未解决这个奇怪的问题。
感谢发表的评论,我现在意识到问题不在于我的代码,而在于传单代码和浏览器,这个问题似乎得到了解答
编辑- https://codepen.io/jdog6652/pen/YzNbPQg - 实例取消注释 JS 底部的函数调用
EDIT2- 感谢大家的帮助,这似乎是一个浏览器问题,在我的 Safari 版本 (13.1.3) 上弹出窗口不会加载,但在其他浏览器上这似乎不是问题。有什么方法可以让它在 Safari 中运行吗?
我遇到一个问题,当我将弹出窗口绑定到标记并将其添加到地图时,即使单击标记也不会出现。
如果我将其绑定到标记,将其添加到地图,然后链接一个 .openPopup() 弹出窗口出现在加载时,但在关闭后就不可能再次打开。
下面是我如何初始化地图的代码
var map = L.map('mapid').setView([51.505, -0.09], 13);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
下面是我如何将标记添加到地图的 for 循环
function populateLeaflet(data){
let json = JSON.parse(data);
map.flyTo([json[0]['lat'],json[0]['lng']], 12);
json.forEach(element =>
L.marker([element['lat'], element['lng']]).bindPopup(element['title']).addTo(map)
)
}
这将成功飞到将标记添加到地图的位置,但是当我点击标记时没有任何反应
切换绑定和添加的顺序不会改变任何内容,这是在单击标记时添加监听器的唯一解决方案,还是我犯了一些错误?
我在此处发现的类似问题并未解决这个奇怪的问题。
感谢发表的评论,我现在意识到问题不在于我的代码,而在于传单代码和浏览器,这个问题似乎得到了解答