【发布时间】:2013-02-09 10:04:18
【问题描述】:
我希望能够在您单击某个功能时将其拟合到某个功能,但是当它放大时,我希望它考虑到一个控制层,该控制层会在放大后出现,并放大但差不多向左 150 像素。目前我可以使用以下代码完成此操作,但不幸的是它不是平滑缩放,因为我当前的方法将使用 fitBounds 进行缩放,然后一旦缩放它使用 panBy 向左平移 150px。如果平移是平稳的,这可能不会那么糟糕,也许在等待 250 毫秒之后。理想情况下,我希望能够对传递给 fitBounds 方法的边界进行一些数学运算,以简单地考虑向左移动 150 像素。
这是我目前正在工作的example。
这是我正在使用的代码的简化版本:(您可以单击here 以获得包含所有源代码的完整版本)
点击时
function clickFeature(e) {
var layer = e.target;
map.fitBounds(layer.getBounds());
}
zoomEnd 上的地图:
map.on({
zoomend: function() {
map.panBy([150, 0]);
}
});
所以,我已经实现了想要的功能,但是并不顺利。
有没有办法对我们获得的点击特征的边界进行一些数学运算,以便在我们缩放时放大到已经修改的坐标,从而消除两步动画过程?
【问题讨论】:
标签: javascript maps leaflet