javascript - 同时使用 panTo 和 panBy

标签 javascript leaflet

我想创建一张带有一些图钉的 map (使用传单)。当用户点击其中之一时, map 应该移动,直到图钉位于 map 底部的水平中心。

我的 map 是 400 像素高,所以我使用以下代码:

map.panTo(new L.LatLng(lat, lng));
map.panBy(new L.Point(0, -200));

它的工作就像一个魅力 - 只有 IE 有一些问题:它开始向 map 的中心移动 (panTo),但一旦它开始向底部移动以及 (panBy) 它停止执行向中心的移动。

如何将这两个 Action 结合起来?我等不及 panTo 将 map 居中,因为如果图钉位于 map 的下半部分,这会导致 map 上下跳动。

最佳答案

从传单文档中,您可以使用以下方法以像素形式获取纬度/经度点:

latLngToPoint( <LatLng> latlng, <Number> zoom )

修改它,然后将其转换回纬度/经度:

pointToLatLng( <Point> point, <Number> zoom )

来源:http://leaflet.cloudmade.com/reference.html#icrs

关于javascript - 同时使用 panTo 和 panBy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12463759/

相关文章:

leaflet - 如何在Leaflet map 上实现点击+按住(长按)?

javascript - Leaflet:有效淡入/淡出图层组

javascript - div 中无法选择的文本到可选择的传单

传单中的javascript map 如何刷新

javascript - 将两个条形图组合在一个页面上

javascript - 如何在 AJAX 导航期间更新 Facebook 评论的内容

javascript - 使用 ng-show 属性测试 <span> 是否可见

javascript - window.scrollTo 不适用于 IOS 的phonegap

javascript - 如何用 jQuery 找出文件名?

Leaflet 如何设置点击标记时的中心 map