android - 如何控制捏放大,缩小在 Android map 上?

标签 android google-maps zooming pinch

在我的 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/

相关文章:

android - 使用双方值解析 JSON

java - SSL 套接字连接

javascript - 如何将信息从 WPF 应用程序传递到 HTML 页面

google-maps - 如何计算适当的谷歌地图缩放级别

javascript - 在现有 SVG (d3.js v4) 上应用缩放事件

iphone - 如何检测UIWebView的缩放比例

android - 使用 Android UI Automator 测试辅助显示屏上的内容

Android - Facebook SDK 4.30 初始化

android - 如何在 android studio 中为 android v2 map 创建发布 key

Javascript Web 应用程序,控制 iPhone 缩放输入焦点和模糊