我正在使用map.panTo()
在标记之间有一个很好的平滑过渡,当我从一个位置列表中点击时,但我看不到类似的缩放方法......我想像这样的东西setZoom(13, 1500)
其中1500是持续时间......
任何线索?
答案 0 :(得分:0)
目前唯一可以缩放的原生函数是map.setZoom,它不允许你改变速度。
如果您想根据一组标记将地图设置为缩放级别,可以执行以下操作:
var bounds : LatLngBounds = new LatLngBounds(southwestmarker.getLatLng(), northeastmarker.getLatLng());
bounds.extend(someMarker.getLatLng());
//some more extend() here
map.setZoom(map.getBoundsZoomLevel(bounds));
答案 1 :(得分:0)
我发现如果缩放级别在当前缩放级别的2之内,map.setZoom
将平滑过渡。
因此,如果地图设置为缩放10,并且我将其设置为12,则它将转换。但是,如果我将它设置为13则不会。
此外,您可以将缩放设置为非整数,但地图图块不会加载并显示“抱歉,我们这里没有图像”。
你可以尝试链接变焦,但我会轻松进出,所以看起来会不稳定。
如果转换超过2并且平滑很重要,您可以在其中一个地图DOM元素上手动编辑矩阵变换。它看起来像-webkit-transform: matrix(1, 0, 0, 1, -62, 71);
。更改第1和第4个数字会影响比例,第一个是x刻度,第4个是y刻度。
矩阵与transform: matrix(xs, 0, 0, ys, xt, yt);
类似,其中xs
和ys
是比例,将其设置为2将放大200%。此矩阵确实采用小数值,因此您可以缩放到1.1等。然后,您可以在转换结束时map.setZoom()
到最终数字。
这确实有一些警告,因为它不是预期用途: