如何检测用户何时在android中移动地图?

时间:2016-02-13 07:14:35

标签: android maps listener android-mapview

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

3 个答案:

答案 0 :(得分:0)

试试这个: -

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;
        }
    });

答案 1 :(得分:0)

使用GoogleMap.OnCameraChangeListener,但移动地图时不会立即调用此方法。或者喜欢这个线程intercept touch events来自透明的framelayout,你必须把它放在地图上。

答案 2 :(得分:0)

您可以使用 OnCameraMoveStartedListener OnCameraIdleListener

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