질문이 있으십니까? 현재 속도에 따라 줌 레벨을 어떻게 설정할 수 있습니까? 예를 들어 느리게 이동할 때. 빨리 확대 할 때 가까운 곳으로 확대/축소합니다.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