【问题标题】:Fix current Mapview and still handle the onTouch Event (GoogleMaps Android)修复当前 Mapview 并仍然处理 onTouch 事件(GoogleMaps Android)
【发布时间】:2012-11-20 01:13:02
【问题描述】:

我正在尝试在 Android 中修复我的 MapView 上的当前位置,但仍想处理 onTouch 事件。

背景:我的 mapView 旁边有一些按钮。如果我选择“移动”,则需要 mapView 的正常行为。

如果我选择另一个按钮,当前地图应该被锁定,所以我可以在地图上绘制一些东西。因此我需要地图的onTouch-Event...

我修复 mapView 的唯一解决方案是将 setClickable 设置为 false...但是当我这样做时,将不再支持 onTouch 事件...

我怎样才能做到这一点?

对不起,我的英语不好,

丹尼尔

【问题讨论】:

    标签: android android-mapview


    【解决方案1】:

    为避免MapView 处理运动事件,请不要调用super.dispatchTouchEvent() 并返回true;

    示例代码:

    @Override   
    public boolean dispatchTouchEvent(MotionEvent ev) {
        if(drawMode){
            //do my drawing here
            return true;
        } else retrun super.dispatchTouchEvent(ev);   
    }
    

    问候。

    【讨论】:

    • 您好,谢谢您的回复!我试过实现它,但是当进入drawMode时,我不能再触摸mapView了……我只想禁用这个功能,移动mapview,我做错了吗?
    • 您需要在我上面回答中提到的位置进行绘图。这应该覆盖绘图类的dispatchTouchEvent(),而不是Mapview
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    相关资源
    最近更新 更多