ArcGIS for Android入门程序之DrawTool
来源:互联网 发布:天星教育php招聘 编辑:程序博客网 时间:2024/06/06 03:51
ArcGIS for Android是Esri公司推出的基于Android平台的移动开发包。与ArcGIS for IOS及ArcGIS for Windows Phone一样,ArcGIS for Android访问ArcGIS Server发布的REST服务,包括动态服务、切片服务、要素服务等地图服务,Query、Identify、GP等空间分析服务。
ArcGIS for Android提供了很好的开发资料,包括API Reference、Sample等,为了方便开发,还提供了ArcGIS Plugin for Eclipse,用于创建专门基于ArcGIS for Android的项目。至于如何配置开发环境、如何使用ArcGIS for Android SDK实现MobileGIS的基本功能,可以参考牛人牛魔王有关ArcGIS for Android的系列技术文章(牛魔王博客:http://blog.csdn.net/warrenwyf)。
了解了一点ArcGIS for Android之后,发现在开发中对于手势事件的响应是一个需要一点时间琢磨的问题,所以写了一个入门程序DrawTool。DrawTool是一个可以画点、线、矩形、多边形、圆形的工具类,进行了简单封装,能满足一般的画图需求。通过这个程序能够较好的掌握ArcGIS for Android中该如何处理各种手势事件。程序中的DrawToolActivity.java展示了如何调用DrawTool。
DrawToolActivity.java代码如下,源代码下载地址:http://download.csdn.net/source/3552287
ArcGIS Android SDK 2.0版本下的DrawTool2.0:http://blog.csdn.net/arcgis_mobile/article/details/8084763
package com.esrichina.android;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;import com.esri.android.map.GraphicsLayer;import com.esri.android.map.MapView;import com.esri.core.symbol.MarkerSymbol;import com.esri.core.symbol.SimpleMarkerSymbol;import com.esrichina.android.ext.drawtool.DrawEvent;import com.esrichina.android.ext.drawtool.DrawEventListener;import com.esrichina.android.ext.drawtool.DrawTool;import com.esrichina.demo.geocoding.R;/** * * @author ropp gispace@yeah.net * * 由于要响应DrawTool的画图事件,此处需要实现DrawEventListener接口 */public class DrawToolActivity extends Activity implements DrawEventListener{ private MapView mapView; private GraphicsLayer drawLayer; private DrawTool drawTool; private MarkerSymbol markerSymbol; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); this.mapView = (MapView)this.findViewById(R.id.map); this.drawLayer = new GraphicsLayer(this.mapView.getContext()); this.mapView.addLayer(this.drawLayer); // 初始化DrawTool实例 this.drawTool = new DrawTool(this.mapView); // 将本Activity设置为DrawTool实例的Listener this.drawTool.addEventListener(this); // 此处可以根据需要设置DrawTool实例画图时使用的各种symbol this.markerSymbol = new SimpleMarkerSymbol(Color.RED, 20, SimpleMarkerSymbol.STYLE.CIRCLE); //this.drawTool.setMarkerSymbol(markerSymbol); } @Override public boolean onCreateOptionsMenu(Menu menu) {MenuInflater inflater = this.getMenuInflater();inflater.inflate(R.menu.menu, menu);return true; } @Override public boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {case R.id.point:drawTool.activate(DrawTool.POINT);break;case R.id.envelope:drawTool.activate(DrawTool.ENVELOPE);break;case R.id.polygon:drawTool.activate(DrawTool.POLYGON);break;case R.id.polyline:drawTool.activate(DrawTool.POLYLINE);break;case R.id.freehandpolygon:drawTool.activate(DrawTool.FREEHAND_POLYGON);break;case R.id.freehandpolyline:drawTool.activate(DrawTool.FREEHAND_POLYLINE);break;case R.id.circle:drawTool.activate(DrawTool.CIRCLE);break;case R.id.clear:this.drawLayer.clear();this.drawLayer.postInvalidate();this.drawTool.deactivate();break;}return true; } // 实现DrawEventListener中定义的方法 public void handleDrawEvent(DrawEvent event) {// 将画好的图形(已经实例化了Graphic),添加到drawLayer中并刷新显示this.drawLayer.addGraphic(event.getDrawGraphic());this.drawLayer.postInvalidate(); }}
效果图如下:
- ArcGIS for Android入门程序之DrawTool
- ArcGIS for Android入门程序之DrawTool2.0
- 【技术直通车】ArcGIS for Android入门程序之DrawTool2.0
- Android中ArcGIS中实现DrawTool类
- ArcGIS for Android 之callout初级实现
- ArcGIS for Android 之定位功能开发
- Arcgis API for Android之GPS定位
- Arcgis For Android之GPS定位实现
- ArcGIS for Android 之callout初级实现
- arcgis for android之加载移动地图包
- arcgis for android之加载移动地图包
- [arcgis for android]arcgis for android 定位
- ArcGIS for Android
- arcgis for android 学习
- ArcGis for Android定位
- ARCGIS for android
- 说说arcGIS for Android
- ArcGis for Android 开发
- 智能型指针另一种实现(基于计数)
- 用select模式收发处理数据(跨平台)
- 昔人已乘黄鹤去 此地空余黄鹤楼-崔颢
- 图解C#如何为winform程序打包发布应用
- 软件开发管理规范流程图
- ArcGIS for Android入门程序之DrawTool
- 第十六章:线程栈
- 拖拽到控件
- 调整JVM大小
- mysql 导出备份
- NLS_DATE_FORMAT 环境变量定义
- 纯C 字符串操作函数 实现 (strcpy, strncpy, memcpy, memset, strcat, strlen ... )
- iPhone 5 创建应用程序
- poj1338 poj2591 poj2545 这三道题