javascript - 单击或悬停传单标记时如何显示相同的弹出窗口?
问题描述
我有这样的代码,我想在每个标记中显示'result [key] [16]',但是悬停弹出窗口总是显示来自json的最后一个数据,与点击的弹出窗口不同,因此可以显示'result [key] [16]'自己的标记数据,我想根据自己的数据制作悬停弹出窗口。我该怎么办?对不起我糟糕的英语。谢谢你
$.ajax({
url: "test.json",
dataType: "JSON",
type: "GET",
success: function (result) {
var popup = 'Code : ' + result[key][16];
L.marker([result[key][1], result[key][2]], {
icon: ikon
}).addTo(layertest).on({
click: showFunction.bind(null, i),
mouseover: function (e) {
layerPopup = L.popup({
closeButton: false,
className: 'hover'
})
.setLatLng(e.latlng)
.setContent(result[key][16])
.openOn(map);
},
mouseout: function (e) {
map.closePopup(layerPopup);
}
}).bindPopup(popup);
i=i+1;
}
})
解决方案
您可以使用与标记连接的弹出窗口的弹出内容bindPopup
-> e.target.getPopup().getContent()
:
layerPopup = L.popup({
closeButton: false,
className: 'hover'
})
.setLatLng(e.latlng)
.setContent(e.target.getPopup().getContent())
.openOn(map);
推荐阅读
- office-js - Office 插件审核评论
- c# - 实体框架有一些表是唯一的,而另一些则根据客户端不同
- cmake - 使用 CTest/CMake 时在 VS2019 测试资源管理器中指定命名空间/类
- swiftui - 如何在 navigationBarItems 中对齐动态按钮
- angular - 在传单中查找距目标点最近的点
- android - 滚动视图不适用于android中的按钮
- scons - 构建 gem5 时出错:TypeError:文件 /hdd/Me/gem5/src/systemc/ext/systemc 找到预期的目录
- mysql - 这些凭据与我们的记录不匹配。在 Laravel 6 中
- postgresql - PostgreSQL 活动但不接受连接
- mysql - 如何查看 pandas read_csv() 中跳过的记录?