在我的 Android 应用程序中,我有一个 MapActivity,当用两根手指(捏合)缩放 map 时,它会缩放,但当我抬起手指时,它会进一步缩放。意思是,如果伦敦在 map 上居中,当我缩放伦敦时,它会到达屏幕的边缘;当我抬起手指时,它会离开屏幕,进一步放大。我想要它像 iOS map 应用程序(没有进一步缩放)。我该怎么做?
我尝试了以下代码但没有成功。
class MapOvelay extends Overlay {
boolean moveTouch;
int i;
@Override
public boolean onTouchEvent(MotionEvent event, MapView mapView) {
switch (event.getAction()) {
case MotionEvent.ACTION_POINTER_UP://when two fingers are lifted
mapController.setZoom(i);
i=0;
break;
case MotionEvent.ACTION_MOVE://when two fingers are moving on map
i = mapView.getZoomLevel();
moveTouch = true;
break;
....
}
}
}
最佳答案
您是否尝试过 zoomToSpan 功能?
mMapController.zoomToSpan(maxLatitude - minLatitude,maxLongitude - minLongitude);
另外,你可以用这样的东西限制最低缩放
if (LOWEST_ZOOM_LEVEL < mMap.getZoomLevel() ) {
mMapController.setZoom(LOWEST_ZOOM_LEVEL);
}
关于android - 如何控制捏放大,缩小在 Android map 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10876454/