原文  arcgis android 图上记录gps轨迹

public class MainActivity extends Activity {

    MapView mMapView;
LocationDisplayManager lDisplayManager = null;
GraphicsLayer gpsGraphicsLayer;
Polyline mPolyline;
int pointCount = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// after the content of this activity is set
// the map can be accessed from the layout
mMapView = (MapView) findViewById(R.id.map);
ArcGISTiledMapServiceLayer tile = new ArcGISTiledMapServiceLayer("http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity_Mobile/MapServer");
mMapView.addLayer(tile);
gpsGraphicsLayer = new GraphicsLayer();
mMapView.addLayer(gpsGraphicsLayer);
mPolyline = new Polyline();
mMapView.setOnStatusChangedListener(new OnStatusChangedListener() {
@Override
public void onStatusChanged(Object source, STATUS status) {
if (source == mMapView && status == STATUS.INITIALIZED) {
lDisplayManager = mMapView.getLocationDisplayManager();//获取LocationDisplayManager
lDisplayManager.setAutoPanMode(LocationDisplayManager.AutoPanMode.OFF);
lDisplayManager.setShowLocation(false);//不显示当前位置,坐标系不一致坐标偏移严重
lDisplayManager.setShowPings(false);
lDisplayManager.setAccuracyCircleOn(false);
lDisplayManager.setAllowNetworkLocation(true);
lDisplayManager.setLocationListener(new LocationListener() {
@Override
public void onLocationChanged(Location loc) {
//火星坐标转换
double[] gcj = CoordinateConvert.wgs2GCJ(loc.getLatitude(), loc.getLongitude()); Point wgspoint = new Point(gcj[1], gcj[0]);
Point p = (Point) GeometryEngine.project(wgspoint,
SpatialReference.create(SpatialReference.WKID_WGS84),
mMapView.getSpatialReference());
SimpleMarkerSymbol ptSym = new SimpleMarkerSymbol(Color.BLUE, 15,
SimpleMarkerSymbol.STYLE.CIRCLE);
Graphic graphic = new Graphic(p, ptSym, null);
if (pointCount == 0) {
mPolyline.startPath(p.getX(), p.getY());
mMapView.zoomTo(p, 17);
} else {
mPolyline.lineTo(p.getX(), p.getY());//点画线
mMapView.centerAt(p, true);
}
gpsGraphicsLayer.removeAll();
SimpleLineSymbol lineSym = new SimpleLineSymbol(Color.RED, 10);
Graphic g = new Graphic(mPolyline, lineSym);
gpsGraphicsLayer.addGraphic(g);
pointCount++; gpsGraphicsLayer.addGraphic(graphic);
} @Override
public void onProviderDisabled(String arg0) {
} @Override
public void onProviderEnabled(String arg0) {
} @Override
public void onStatusChanged(String arg0, int arg1,
Bundle arg2) { }
}); // Actionlistener lDisplayManager.start();
}
}
}); } }

arcgis android 图上记录gps轨迹的更多相关文章

  1. ArcGIS for Android地图上实际距离与对应的屏幕像素值计算

    本篇文章主要介绍了"ArcGIS for Android地图上实际距离与对应的屏幕像素值计算",主要涉及到ArcGIS for Android地图上实际距离与对应的屏幕像素值计算方 ...

  2. GPS/轨迹追踪、轨迹回放、围栏控制

    折腾一个多月终于弄完了这个项目,起初都未曾接触GPS/轨迹追踪.轨迹回放.圈划围栏...等一些在百度地图或者Googel地图操作的一些业务,后端的业务相对来说简单点 cas单点登录,mongdb灵活的 ...

  3. 强烈推荐:Android史上最强大的自定义任务软件Tasker

    强烈推荐:Android史上最强大的自定义任务软件Taskerhttp://bbs.mumayi.com/thread-28387-1-1.html(出处: 木蚂蚁手机乐园) Android上的Tas ...

  4. Android权限全记录(转)

    常用权限: 读写存储卡装载和卸载文件系统 android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_EXTERNAL_STOR ...

  5. (转) Android平台上关于IM的实践总结

    前言 IM通信在互联网发展到现在已经是码农的世界里人尽皆知的技术,特别在当下移动互联网迅猛发展的时代这种技术的开发也更加火热,其中老牌的代表作就有QQ和MSN,和最近新崛起的微信,默默,易信,来往等眼 ...

  6. Arcgis android - Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

    报错: Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE Please check logcat output for more deta ...

  7. 如何在 Android 手机上实现抓包?

    如何在 Android 手机上实现抓包? http://www.zhihu.com/question/20467503 我想知道某个应用究竟在数据提交到哪里,提交了什么.网上的教程太复杂,不想麻烦.有 ...

  8. 如何增强ArcGIS插值图出图效果

    如何增强ArcGIS插值图出图效果 by 李远祥 在一些科研领域,经常会遇到使用插值的方式进行处理,并生成最终的插值图.插值图在ArcGIS里面非常容易生成,只要具备了采用点数据,通过ArcToolB ...

  9. arcgis android 中shapefile的加载

    前言 本文为大家分享arcgis android 中shapefile的加载,默认你有java环境,懂一定的android基础知识,默认你已经安装android studio.如缺乏以上环境和知识,请 ...

随机推荐

  1. app——分享wap站,数据处理页面展示

    无意中接到了一个小的工作任务:配合手机app端的分享功能做一个wap站,简言之:将手机app端分享的文章id传过来,利用此id再进行一系列的操作,由于文章分为纯文本,图文以及图集的三种类型的文章,因此 ...

  2. 在FireFox中修改cookie

    一.安装Firebug插件(web开发中常用的调试工具) 1.打开菜单选择[附加组件] 2.搜索firebug,点击安装 3.安装完成    二.cookie的新建与编辑 1.选择cookies标签, ...

  3. numtoyminterval函数——数字转换函数

      numtoyminterval函数——数字转换函数 ----转至51CTO 水滴的博客  语法:NUMTOYMINTERVAL ( n , 'char_expr' )              c ...

  4. CodeForces 688A-Opponents

    题意: Arya在学校有n个敌人(一串含有0,1的数字表示),有一个游戏规则,如果当天这n个敌人全部出席("1"代表出席,),即这串数字全部为"1",则Arya ...

  5. Python的平凡之路(10)

    异步IO 数据库 队列 缓存 1.Gevent协程 定义:用户态的轻量级线程.协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下 ...

  6. HBase with MapReduce (MultiTable Read)

    hbase当中没有两表联查的操作,要实现两表联查或者在查询一个表的同时也需要访问另外一张表的时候,可以通过mapreduce的方式来实现,实现方式如下:由于查询是map过程,因此这个过程不需要设计re ...

  7. Java中面向对象的详解

    1:成员变量和局部变量的区别(理解) (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义中或者方法声明上 (2)在内存中的位置不同 成员变量:在堆中 局部变量:在栈中 (3)生命周期不同 ...

  8. Hibernate原生SQL查询多表关联,SQL语句要注意的问题

    Hibernate原生SQL查询多表关联,SQL语句要注意的问题 @for&ever 2009-9-4 系统环境: MySQL5.1 Hibernate3.3 有如下的假定: 实体类 Ques ...

  9. VIM_git

    一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...

  10. Xml Schema:C#访问在complextype中插入新元素

    最近用c#写Xml Schema代码,找了很久也找不到如何在已有的complextype中插入新的element,最后我充分发挥自己的聪明才智,哈哈,终于从...中找到了灵感. XmlSchemaSe ...