ArcGIS Runtime for Android开发教程V2.0(8)基础篇-----地图事件
2013-05-18 19:13
190 查看
目录
MapOnTouchListener
OnLongPressListener
OnPanListener
OnPinchListener
OnSingleTapListener
OnStatusChangedListener
OnZoomListener
ArcGIS Runtime sdk for Android为我们提供了丰富的事件监听器,本节将主要介绍我们经常使用的监听器,并且介绍通过这些监听器可以实现哪些功能,在下面的监听器中只有MapOnTouchListener是类,其他皆为接口类型,如图所示:
![](http://img.my.csdn.net/uploads/201212/06/1354756384_8698.png)
通过上面代码的方式我们就可以监听到不同的手势操作,对于不同的手势操作将执行不通过方法,通过这些方法我们可以添加我们所需的操作功能。如,当我们在地图上点击时弹出一个窗体,我们只需在onSingleTap()方法中完成点的获取、窗体的创建及其弹出操作即可。
从上面的代码我们可以清晰看到,对于MapView的状态变化主要有四种:
1) STATUS.INITIALIZED初始化成功
2) STATUS.LAYER_LOADED图层加载成功
3) STATUS.INITIALIZATION_FAILED初始化失败
4) STATUS.LAYER_LOADING_FAILED图层加载失败
到此,地图上的所有监听器都已经介绍完了,如有不明,可以加入ArcGIS 4 Android 群:167467748或250106494进行咨询。
原文链接:/article/1655234.html
MapOnTouchListener
OnLongPressListener
OnPanListener
OnPinchListener
OnSingleTapListener
OnStatusChangedListener
OnZoomListener
ArcGIS Runtime sdk for Android为我们提供了丰富的事件监听器,本节将主要介绍我们经常使用的监听器,并且介绍通过这些监听器可以实现哪些功能,在下面的监听器中只有MapOnTouchListener是类,其他皆为接口类型,如图所示:
![](http://img.my.csdn.net/uploads/201212/06/1354756384_8698.png)
1.1 MapOnTouchListener
MapOnTouchListener是MapView最为重要的监听器之一,它实现了OnTouchListener和MapGestureDetector.OnGestureListener接口,对于地图的所有操作MapOnTouchListener都可以进行相应,使用非常方便,在使用前我们只需扩展这个类并重写该类中的方法即可。用法如下myListener = new MyTouchListener(this, mapView); mapView.setOnTouchListener(myListener); /* * MapView's touch listener */ class MyTouchListener extends MapOnTouchListener { public MyTouchListener(Context context, MapView view) { super(context, view); } public void setType(String geometryType) { this.type = geometryType; } public String getType() { return this.type; } public boolean onSingleTap(MotionEvent e) { return true; } public boolean onDragPointerMove(MotionEvent from, MotionEvent to) { return super.onDragPointerMove(from, to); } @Override public boolean onDragPointerUp(MotionEvent from, MotionEvent to) { return super.onDragPointerUp(from, to); } }
通过上面代码的方式我们就可以监听到不同的手势操作,对于不同的手势操作将执行不通过方法,通过这些方法我们可以添加我们所需的操作功能。如,当我们在地图上点击时弹出一个窗体,我们只需在onSingleTap()方法中完成点的获取、窗体的创建及其弹出操作即可。
1.2 OnLongPressListener
OnLongPressListener接口主要用于监听在地图上的长按事件,用法如下://为地图添加一个长按监听器 mapView.setOnLongClickListener(new View.OnLongClickListener() { //长按后自动执行的方法 public boolean onLongClick(View v) { // TODO Auto-generated method stub return false; } });
1.3 OnPanListener
OnPanListener接口是用于当我们在MapView上平移地图操作时的事件监听,用法如下://为地图添加一个平移监听器 mapView.setOnPanListener(new OnPanListener() { public void prePointerUp(float fromx, float fromy, float tox, float toy) { } public void prePointerMove(float fromx, float fromy, float tox, float toy) { } public void postPointerUp(float fromx, float fromy, float tox, float toy) { } public void postPointerMove(float fromx, float fromy, float tox, float toy) { } });
1.4 OnPinchListener
OnPinchListener接口也是我们经常用到,它是对地图进行两指或多指进行操作时用到的事件监听,比如我们可以通过该接口实现两指夹/捏进行地图地图缩放。用法如下://为地图添加夹/捏监听器 mapView.setOnPinchListener(new OnPinchListener() { public void prePointersUp(float x1, float y1, float x2, float y2, double factor) { } public void prePointersMove(float x1, float y1, float x2, float y2, double factor) { } public void prePointersDown(float x1, float y1, float x2, float y2, double factor) { } public void postPointersUp(float x1, float y1, float x2, float y2, double factor) { } public void postPointersMove(float x1, float y1, float x2, float y2, double factor) { } public void postPointersDown(float x1, float y1, float x2, float y2, double factor) { } });
1.5 OnSingleTapListener
OnSingleTapListener接口是我们对地图进行点击操作时的事件监听器,用法如下://为地图添加单击事件监听 mapView.setOnSingleTapListener(new OnSingleTapListener() { //点击地图后自动执行的方法 public void onSingleTap(float x, float y) { // TODO Auto-generated method stub } });
1.6 OnStatusChangedListener
OnStatusChangedListener接口用于监听MapView或Layer状态变化的监听器,用法如下://添加状态监听器 mapView.setOnStatusChangedListener(new OnStatusChangedListener() { public void onStatusChanged(Object source, STATUS status) { if(status == STATUS.INITIALIZED){ }else if(status == STATUS.LAYER_LOADED){ }else if((status == STATUS.INITIALIZATION_FAILED)){ }else if((status == STATUS.LAYER_LOADING_FAILED)){ } } });
从上面的代码我们可以清晰看到,对于MapView的状态变化主要有四种:
1) STATUS.INITIALIZED初始化成功
2) STATUS.LAYER_LOADED图层加载成功
3) STATUS.INITIALIZATION_FAILED初始化失败
4) STATUS.LAYER_LOADING_FAILED图层加载失败
1.7 OnZoomListener
OnZoomListener接口主要监听地图的缩放事件,用法如下:mapView.setOnZoomListener(new OnZoomListener() { //缩放之前自动调用的方法 public void preAction(float pivotX, float pivotY, double factor) { } //缩放之后自动调用的方法 public void postAction(float pivotX, float pivotY, double factor) { } });
到此,地图上的所有监听器都已经介绍完了,如有不明,可以加入ArcGIS 4 Android 群:167467748或250106494进行咨询。
原文链接:/article/1655234.html
相关文章推荐
- ArcGIS Runtime for Android开发教程V2.0(8)基础篇-----地图事件
- ArcGIS Runtime for Android开发教程V2.0(8)基础篇-----地图事件
- ASP.NET Google Maps Javascript API V3 实战基础篇一地图事件
- ArcGIS API for Silverlight开发入门(2):一个基础地图实例
- ArcGIS API for Silverlight开发入门(2):一个基础地图实例
- arcgis api 4.x for js之基础地图篇
- ArcGIS API for Silverlight开发入门(2):一个基础地图实例
- [专家讲座] ArcGIS API for Silverlight开发入门(2):一个基础地图实例(转)
- ArcGIS API for Silverlight开发入门(2):一个基础地图实例
- Silverlight 结合ArcGis 在地图画面上显示名称+ 点选图层事件委派
- arcgis api 4.x for js之基础地图篇
- [专家讲座] ArcGIS API for Silverlight开发入门(2):一个基础地图实例(转)
- ArcGIS RunTime Sdk +WPF 基础地图显示
- ArcGIS RunTime Sdk +WPF 基础地图显示
- ArcGIS Server for flex 基础(一)地图控件的常用属性
- 安卓智能地图开发与实施六:离线基础底图 - ArcGIS Runtime SDK for Android(Version 100.0.0)
- C# arcgis globecontrol 三维地图 基础操作 加载地图 缩放 漫游
- ArcGIS API 简介与基础Web地图搭建
- ArcGIS API for Silverlight 入门学习笔记(三):基础地图实例
- ArcGIS API for Silverlight开发入门(2):一个基础地图实例