arcgis android 通过getExtent得到当前地图范围四个点的坐标
2016-04-07 13:57
465 查看
困扰了我很久的问题终于要得到解决了,先欢喜一下。
我的目的是想做一个当程序完全退出后,再次打开程序地图直接显示上次程序退出前地图的范围。arcgis for android官方软件就有这个功能。网上搜索了一些关于activity保存状态的方法,但是这些方法只能保存非销毁后的Activity,即当程序完全退出后,采用这种方法程序是不能保存Activity状态的。所以想着用数据库保存状态的方法。
我的方法是初始化的时候去读取数据库,如果里面有Extent的记录,则加载这条记录作为iniExtent的值,如果没有则插入一条记录初始化,以后程序退出前,获取当前的extent,将这个矩形的左下角及右上角两个点坐标更新到数据库有,以便下次程序启动时调用。
动态设置地图初始范围不难,直接用map.setExtentEnvelope envelope);方法就可以了。但是要获取地图范围的那两个点坐标,花了点我的时间,开始以为直接用map.getExtent()方法就Ok,但是仔细一看,这个方法返回一个polygon对象,而不是setExtent()方法里所需要的Envelope参数类型,一想,肯定需要转换,但查官方API文档,硬是没有,时间都花这里了。后来看到一编文章,http://blog.csdn.net/wozaifeiyang0/article/details/7327729,这编文章给我我启发,感谢这位兄台。是的,用map.getExtent().queryEnvelope(envelope);这个方法得到了我想要的结果。
代码奉上
[html] view plain copy
print?
Envelope rExtent=new Envelope();
map.getExtent().queryEnvelope(rExtent);
leftB_x=rExtent.getXMin();
leftB_y=rExtent.getYMin();
topR_x=rExtent.getXMax();
topR_y=rExtent.getYMax();
这样,是不是得到了那两个点的坐标呢,原来很简单,只是官方文档不给力啊
我的目的是想做一个当程序完全退出后,再次打开程序地图直接显示上次程序退出前地图的范围。arcgis for android官方软件就有这个功能。网上搜索了一些关于activity保存状态的方法,但是这些方法只能保存非销毁后的Activity,即当程序完全退出后,采用这种方法程序是不能保存Activity状态的。所以想着用数据库保存状态的方法。
我的方法是初始化的时候去读取数据库,如果里面有Extent的记录,则加载这条记录作为iniExtent的值,如果没有则插入一条记录初始化,以后程序退出前,获取当前的extent,将这个矩形的左下角及右上角两个点坐标更新到数据库有,以便下次程序启动时调用。
动态设置地图初始范围不难,直接用map.setExtentEnvelope envelope);方法就可以了。但是要获取地图范围的那两个点坐标,花了点我的时间,开始以为直接用map.getExtent()方法就Ok,但是仔细一看,这个方法返回一个polygon对象,而不是setExtent()方法里所需要的Envelope参数类型,一想,肯定需要转换,但查官方API文档,硬是没有,时间都花这里了。后来看到一编文章,http://blog.csdn.net/wozaifeiyang0/article/details/7327729,这编文章给我我启发,感谢这位兄台。是的,用map.getExtent().queryEnvelope(envelope);这个方法得到了我想要的结果。
代码奉上
[html] view plain copy
print?
Envelope rExtent=new Envelope();
map.getExtent().queryEnvelope(rExtent);
leftB_x=rExtent.getXMin();
leftB_y=rExtent.getYMin();
topR_x=rExtent.getXMax();
topR_y=rExtent.getYMax();
这样,是不是得到了那两个点的坐标呢,原来很简单,只是官方文档不给力啊
相关文章推荐
- Android调用系统邮件,短信
- Android:性能典范:拯救计划
- Android 解析包出错问题
- Android事件传递机制
- Android最牛的开源整理
- 【Android 基础】AsynTask 异步任务
- Android入门——补间动画和帧动画应用小结
- ToolBar 和 DrawerLayout实现侧滑栏
- ListView原理
- Android 中 AutoCompleteTextView 自动补全功能
- android ListView的优化
- android优化
- Android下如何计算两经纬点之间距离?
- android的下拉框添加数据
- Android Studio 简介
- 关于要使用全局dialog的解决方案
- 安卓开发与分析者的利器--安卓右键工具
- Android自动滚动 轮播循环的ViewPager
- Android出现“Read-only file system”解决办法
- 在android中如何查看sqlite数据表结构,以及data文件打不开问题