所以我有点意见: a =固定位置,打开弹出窗口“目的地” b =用户的当前位置,没有弹出窗口
我知道我可以轻松打电话(概念上)
map.fitbound([latlng of a, latlng of b])
这将缩放我的地图以包含两个点,麻烦的是它没有考虑打开弹出窗口。由于我不知道用户的位置,固定点的方向或距离,我认为不可能使用填充。
有关如何解决此问题的任何提示?
这是展示问题的fiddle。
我看了几篇关于居中弹出窗口的帖子,但javascript对我来说有些偏差,js2coffee转换器不喜欢它。
答案 0 :(得分:2)
您可以探索一种解决方案,其中弹出窗口始终可见,而无需移动地图。
例如:https://github.com/erictheise/rrose
以下是我如何使用它:http://franceimage.github.io/map
移动地图以在边缘附近放置标记,悬停或单击它,弹出窗口始终可见。
答案 1 :(得分:0)
我不认为使用填充是可能的
Yes, yes it is,例如:
map.fitBounds(someLatLngBounds, {padding: [100, 100]});
查看working demo,不要忘记read the docs。
答案 2 :(得分:0)
我正在使用以下 CSS 解决方案将弹出窗口固定为始终出现在我想要的位置
<style>
.leaflet-popup {
transform: none !important;
position: absolute;
top: 600px !important;
left: 20px !important;
}
</style>
然后,为防止每次单击标记时都无法移动地图,请在弹出选项(https://leafletjs.com/reference-1.6.0.html#popup-autopan)中将autoPan
设置为false:
{ autoPan: false }