【问题标题】:How detect when user moves the map in android?如何检测用户何时在android中移动地图?
【发布时间】:2016-02-13 07:14:34
【问题描述】:

我的应用程序中有一个地图视图,我想检测用户何时移动地图并隐藏我拥有的图像视图,然后检测用户何时停止移动地图以再次显示图像视图。

【问题讨论】:

    标签: android maps listener android-mapview


    【解决方案1】:

    您可以使用 OnCameraMoveStartedListenerOnCameraIdleListener

    mMap.setOnCameraMoveStartedListener(new GoogleMap.OnCameraMoveStartedListener() {
        @Override
        public void onCameraMoveStarted(int reason) {
            // code
            // REASON_API_ANIMATION
            // REASON_DEVELOPER_ANIMATION
            // REASON_GESTURE
        }
    });
    
    mMap.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener() {
        @Override
        public void onCameraIdle() {
             // code
        }
    });
    

    看到这个link

    【讨论】:

      【解决方案2】:

      试试这个:-

      mapView.setOnTouchListener(new OnTouchListener() {
      
              @Override
              public boolean onTouch(View v, MotionEvent event) {
                  if (event.getAction() == MotionEvent.ACTION_UP) {
                      imageView.setVisibility(View.VISIBLE);
                      }else{
                  imageView.setVisibility(View.GONE);
                      }
                  return false;
              }
          });
      

      【讨论】:

      • mapView 不适用于 setOnTouchListener。但我的 GoogleMap 地图工作但没有 setOnTouchListener。
      【解决方案3】:

      使用 GoogleMap.OnCameraChangeListener ,但在您移动地图时不会立即调用它。或者像这个线程 intercept touch events 中的一样,来自一个透明的框架布局,你必须把它放在地图上。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-29
        • 1970-01-01
        • 2012-06-20
        • 2011-10-18
        • 1970-01-01
        • 1970-01-01
        • 2011-05-11
        • 1970-01-01
        相关资源
        最近更新 更多