我设法在工作地图上获得自定义图标标记,并且弹出窗口在工作等。
但是我无法解决一件事。目前,我将地图放大并在弹出窗口打开时居中。我想让地图在所有弹出窗口都关闭时返回到起始位置。
我确实找到了一个片段,该片段使地图在关闭时返回到起始位置,但是当您从一个弹出窗口单击到另一个弹出窗口时触发了该片段。我猜想它确实满足了我的要求,但这对可用性不是很好。
我有一个标准设置,但添加了以下内容:
function markerOnClick(e) {
var latLngs = [e.target.getLatLng()];
var markerBounds = L.latLngBounds(latLngs);
maphitchin.fitBounds(markerBounds);
}
答案 0 :(得分:0)
一种方法是使用popupopen
and popupclose
events of L.Map
...来统计地图中打开了多少个弹出窗口。
var openPopupsCount = 0;
map.on('popupopen', function(){ openPopupsCount++; });
map.on('popupclose', function(){ openPopupsCount--; });
...并在这样的popupclose
事件中,当计数达到零时,运行任意操作:
map.on('popupclose', function(){
openPopupsCount--;
if (openPopupsCount === 0) {
map.fitBounds(initialBounds);
}
});