請問我有問題, 如何設置依賴於當前速度的縮放級別? 例如,當移動緩慢。放大到近處,快速時放大到遠處。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