【问题标题】:ArcGIS Mapview in ScrollView map scrolling issueArcGIS Mapview 中的 ScrollView 地图滚动问题
【发布时间】:2014-06-27 21:25:13
【问题描述】:

我一直在查看有关 ScrollView 使用谷歌地图从 MapView 窃取触摸事件的问题的一系列不同主题,并且我已经看到了几种关于如何覆盖 onTouch 事件的不同解决方案。我正在为我的应用程序使用 ArcGIS 地图,我尝试了几种谷歌地图解决方案,但没有任何效果。所以我想知道那里是否有人可能有一个解决方案,可以在 ScrollView 中使用 ArcGIS mapview 来覆盖 onTouch 事件,以便可以垂直和水平地平移地图。

目前我只有添加了几个图层的 MapView,所以这是一个非常基本的设置,但如果发布一些代码会有所帮助,我会非常乐意发布一些代码。

【问题讨论】:

    标签: android map scrollview arcgis esri


    【解决方案1】:

    想出了一个可行的解决方案。

    我将监听器放在活动的 onCreate 中。

    MyTouchListener tl = new MyTouchListener(this, mMapView);
        mMapView.setOnTouchListener(tl);
    

    然后我在扩展 MapOnTouchListener 类的同一活动中创建了一个类。

        class MyTouchListener extends MapOnTouchListener{
    
                ScrollView sv;
    
        public MyTouchListener(Context c, MapView m){
            super(c, m);
        }
    
        public boolean onTouch(View v, MotionEvent event){
            sv = (ScrollView) findViewById(R.id.scroll);
                        int action = event.getAction();
            switch(action){
            case MotionEvent.ACTION_DOWN:
                // will disable the scrollview from being able to 
                                // intercept the touch events for the mapview
                                sv.requestDisallowInterceptTouchEvent(true);
                break;
    
            case MotionEvent.ACTION_UP:
                                // gives control back over to the scrollview
                sv.requestDisallowInterceptTouchEvent(false);
                break;
            }
    
            super.onTouch(v, event);
            return true;
        }
    
    
    }
    

    我希望这能帮助别人,并节省他们寻找所需内容的时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-04
      • 2012-10-09
      • 1970-01-01
      • 2016-09-14
      • 2021-11-27
      • 2016-12-22
      • 1970-01-01
      相关资源
      最近更新 更多