MapView - 禁用拖动,但允许缩放

时间:2012-08-29 21:29:55

标签: android android-mapview

我有一个里面有3个片段的ViewPager,在右边我想显示一个MapView - 到目前为止工作正常。但是我想禁用拖动它,但仍然让用户放大/缩小 - 使用固定的中心。如果允许用户拖动地图,则会使用viewpager滚动功能混乱。 试图禁用可点击+可聚焦,但 - 当然 - 不再缩放..

在stackoverflow上查看其他问题,但到目前为止还没有提供可行的解决方案..

谢谢!

1 个答案:

答案 0 :(得分:2)

忽略我到目前为止所说的所有内容(这就是为什么我编辑了我的答案),而是在MapActivity类中使用以下代码(它完美运行,只是试了一下!):

final GeoPoint point = new GeoPoint(latitudeE6, longitudeE6);
final MapController mapController = mapView.getController();

mapController.animateTo(point);
mapController.setZoom(6);

mapView.setOnTouchListener(new View.OnTouchListener() {

@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
  if(arg1.getAction() ==  MotionEvent.ACTION_UP)
  {
    mapController.setCenter(point);
    return true;
  }
  if(arg1.getPointerCount() > 1)
  {
   mapController.setCenter(point);
   return false;
  }
  else
  {
   return true;
  }
 } 
 });