请问我有问题, 如何设置依赖于当前速度的缩放级别? 例如,当移动缓慢。放大到近处,快速时放大到远处。Android MapView动态设置缩放级别
这里是我的算法:
private int calculateZoomLevelBySpeed(float speed) {
int zoomLevelMax = mapView.getMaxZoomLevel();
// default
int zoomLevel = (zoomLevelMax > 0) ? (int)zoomLevelMax/2 : 4;
if (speed > 0) {
// 300km theoretically max/max zoom steps
double step = 300/zoomLevelMax;
zoomLevel = (int) Math.round(speed/step);
// reverse
zoomLevel = zoomLevelMax - zoomLevel;
zoomLevel = Math.min(zoomLevelMax, zoomLevelMax);
zoomLevel = Math.max(zoomLevelMax, 1);
}
return zoomLevel;
}
这不起作用,我该怎么办呢?
在此先感谢。
嗨拉兹洛,你已经发布的代码是计算变焦级别或设置缩放级别? – Vijju
'zoomLevel = Math.min(zoomLevelMax,zoomLevelMax);'? – cosmincalistru
也许这是问题,我会尝试使用固定代码, zoomLevel = Math.min(zoomLevel,zoomLevelMax); – Laszlo