单击或悬停传单标记时如何显示相同的弹出窗口?
How to show same popup when click or hover leaflet marker?
我有这样的代码,我想在每个标记中显示 '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);
我有这样的代码,我想在每个标记中显示 '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);