Arcgis For Android之离线地图实现的几种方式
为什么要用,我想离线地图的好处是不言而喻的,所以很多人做系统的时候都会考虑用离线地图。在此,我给大家介绍几种Arcgis For Android下加载离线地图的方式。
在Arcgis For Android API下,既能加载Arc Server的切片文件,也能加载10.1的Title Package文件(*.tpk)。
一般来说,我们都是将Server的切片文件或者tpk文件复制到自己手机的SD卡上面。下面以我的手机为例说一下文件路径。小编没什么钱,买了一个华为的C8813Q的电信机器,正常来说,安卓的手机都是有运存,内存,和外存(SD卡存储)。运存,是程序运行是所需的存储,在程序运行结束后会有一个销毁的过程,所以运存是不做为存储的,所以,手机的内存和外存才是作为存储的,所以,一般来说,我们的离线地图是放在内存或者外存的,但是,为方便期间,个人建议将离线地图文件放在SD卡中,不支持SD卡的手机就只能放在内存了。如果既有内存,又支持SD卡,一般内存的路径为:file:///storage/sdcard0,SD卡的路径为file:///storage/sdcard1,没有SD卡的路径为:file:///storage/sdcard。
在Arcgis For Android中,实现离线地图的加载与显示,首先我们需要用Server或者10.1去做离线地图的切片文件或者切片打包文件。用Server做切片文件的大家都知道,就不多说了,切片打包文件可以参考这篇http://blog.csdn.net/arcgis_mobile/article/details/8048549文章,很详细,一看就会。有了离线地图文件,将文件拷贝到手机SD卡中,我的文件路径如下:
在SD卡的根目录下建了一个文件夹arcgis,将切片文件拷贝到了该目录下面。有了这些离线文件,在程序中需要一个MapView来显示地图:
<com.esri.android.map.MapView
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</com.esri.android.map.MapView>
有了MapView,我们需要
1、定义一个离线图层
MapView map = null;
ArcGISLocalTiledLayer local;
2、设置离线图源
在设置里线图源的时候,可以用下面两种方式:
local = new ArcGISLocalTiledLayer("file:///storage/sdcard1/arcgis/base_map.tpk");
local = new ArcGISLocalTiledLayer("file:///storage/sdcard1/arcgis/nmg/Layers");
此外,也可以写成,不过下面这种路径的书写方式不建议,有时候会读取不到。
local = new ArcGISLocalTiledLayer("file:///mnt/sdcard/arcgis/base_map.tpk");
local = new ArcGISLocalTiledLayer("file:///mnt/sdcard/arcgis/nmg/Layers");
3、将离线图层添加到mapview显示。
map.addLayer(local);
到此,离线地图的加载与显示已经实现了,更多的功能等你去开发了。不过,你得在配置文件中加入读取外部存储的许可。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Arcgis For Android之离线地图实现的几种方式的更多相关文章
- Android跟蓝牙耳机建立连接有两种方式
Android 跟蓝牙耳机建立连接有两种方式. 1. Android 主动跟蓝牙耳机连BluetoothSettings 中和蓝牙耳机配对上之后, BluetoothHeadsetService 会收 ...
- OpenCV4Android释疑: 透析Android以JNI调OpenCV的三种方式(让OpenCVManager永不困扰)
OpenCV4Android释疑: 透析Android以JNI调OpenCV的三种方式(让OpenCVManager永不困扰) 前文曾详细探讨了关于OpenCV的使用,原本以为天下已太平.但不断有人反 ...
- Android 查看项目依赖树的四种方式
Android 查看项目依赖树的四种方式: 方式一: ./gradlew 模块名:dependencies //查看单独模块的依赖 ./gradlew :app:dependencies --conf ...
- 【Arcgis for android】保存地图截图到sd卡
关键词:arcgis for android ,截图,bitmap,sd卡 参考文章:http://blog.csdn.net/wozaifeiyang0/article/details/767972 ...
- Android中访问sdcard路径的几种方式
以前的Android(4.1之前的版本)中,SDcard路径通过"/sdcard"或者"/mnt/sdcard"来表示,而在JellyBean(安卓4.1)系统 ...
- Android Activity返回键控制的两种方式
Android Activity返回键监听的两种方式 1.覆写Activity的OnBackPressed方法 官方解释: Called when the activity has detected ...
- android向web提交参数的4种方式总结,附带网站案例源码
第一种:基于http协议通过get方式提交参数 1.对多个参数的封装 public static String get_save(String name, String phone) { /** * ...
- 我的Android进阶之旅------>Android安全退出应用程序的几种方式
当应用不再使用时,通常需要关闭应用,可以使用以下几种方法关闭android应用: 第一种方法:首先获取当前进程的id,然后杀死该进程. 建议使用这种方式 android.os.Process.kil ...
- Android发送数据到web服务器4种方式
1./** 2. * Android中向web服务器提交数据的两种方式四种方法 3. */ 4.public class SubmitDataByHttpClientAndOrdinaryWay { ...
随机推荐
- delphi webbrowser 获取iframe
procedure TForm1.Button4Click(Sender: TObject);var Index: Integer; Document: IHTMLDocument2; FrameId ...
- Tomcat 源码分析(转)
本文转自:http://blog.csdn.net/haitao111313/article/category/1179996 Tomcat源码分析(一)--服务启动 1. Tomcat主要有两个组件 ...
- DateTable To Json
private string aaaa(DataTable dt) { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerial ...
- 一般处理程序中 C#中对象转化为Json对象
namespace: Newtonsoft.Json; context.Response.ContentType = "application/text"; 注:这里为什么不是 J ...
- Spring 之定义切面尝试(基于注解)
[Spring 之定义切面尝试] 1.标记为深红色的依赖包是必须的 <dependency> <groupId>org.springframework</groupId& ...
- SVN使用—概念及生命周期
一.SVN简介 Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统,Subversion 在 2000 年由 CollabNet Inc 开发,现在发展成为 Ap ...
- python——动态类型简介
动态类型简介 类型属于对象,而不是变量 每一个对象都有两个标准的头部信息:类型标志符和引用计数器. 对象的垃圾收集,就是通过引用计数器实现的.可以在脚本中任意使用对象而不需要考虑释放内存空间. 循环饮 ...
- linux 挂在新硬盘
记录一下 全忘了..... PS 测试服务器的主板太差劲了,没有多余的电源接口,只能把光驱的电源拿出来,才能让硬盘使用.把硬盘装好后,我们用 fdisk -l 查看下: 图中可以看出 /dev/ ...
- Hardware Prefetcher
硬件预取选项,指CPU有硬件预取功能,在CPU处理指令或数据之前,它将这些指令或数据从内存预取到L2缓存中,借此减少内存读取的时间,帮助消除潜在的瓶颈,以此提高系统效能.通常情况下建议设置为Enabl ...
- bootstrap重置校验方法
$(function (){ $("select").change(function(){ $('#DepartForm').bootstrapValidator('resetFo ...