arcgis android 通过getExtent得到当前地图范围四个点的坐标
2012-08-05 20:35
471 查看
困扰了我很久的问题终于要得到解决了,先欢喜一下。
我的目的是想做一个当程序完全退出后,再次打开程序地图直接显示上次程序退出前地图的范围。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);这个方法得到了我想要的结果。
代码奉上
我的目的是想做一个当程序完全退出后,再次打开程序地图直接显示上次程序退出前地图的范围。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);这个方法得到了我想要的结果。
代码奉上
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 android 通过getExtent得到当前地图范围四个点的坐标
- Android中通过反射和getResource()得到id的方式去改变View的显示效果
- ArcGIS api for javascript——加入地图并显示当前地图范围
- android 通过百度地图定位获取坐标在导航地图上面显示,坐标发生偏移
- ArcGIS Runtime SDK for iOS 开发之地图范围(map extent)
- ArcGIS API for Flex(四) 地图的当前范围和规模
- 通过ArcGISforAndroid在手机地图上动态绘制椭圆
- arcgis for flex api version3.7 教程:9.地图范围extent的设置和使用
- android百度离线地图可以通过经纬度获取当前地理信息么(不联网的情况下)
- android百度离线地图可以通过经纬度获取当前地理信息么(不联网的情况下)
- java/android 编程实现通过日期得到当前的星期
- android地图,判断坐标是否在你要求的范围内
- Android开发之————通过代码来得到当前手机屏幕的密度值
- 3ff8 android地图,判断坐标是否在你要求的范围内
- 在ios中使用手机定位获得的经纬度坐标 通过 arcgis的api 显示在wgs84 坐标系的地图上。
- android5.1.1通过getRunningServices获取当前运行的pid,进程名等
- android百度离线地图可以通过经纬度获取当前地理信息么(不联网的情况下)
- js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
- js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
- ArcGis for android 的HelloWorld的应用无法加载地图的问题的解决