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 { ...
随机推荐
- python16_day04【编码、函数、装饰器、包】
一.编码总结 """python2 文件存储默认是ascii方式,启动加#coding:utf8就是文件以utf8方式打开.否则就是以ascii.变量则是str. 例子: ...
- while循环中的break、continue和else
break:直接结束当前循环然后跳到下面的语句.break之后在循环外continue:结束本次循环,跳到下次循环.continue之后依然还在循环内else:这是while循环所特有,当循环结束之后 ...
- 什么是EventLoop
Event Loop 是一个很重要的概念,指的是计算机系统的一种运行机制. JavaScript语言就采用这种机制,来解决单线程运行带来的一些问题. 本文参考C. Aaron Cois的<Und ...
- redis 笔记04 服务器、复制
服务器 1. 一个命令请求从发送到完成主要包括以下步骤: 1). 客户端将命令请求发送给服务器 2). 服务器读取命令请求,并分析出命令参数 3). 命令执行器根据参数查找命令的实现函数,然后执行实现 ...
- Linux——网络配置及命令
traceroute命令(unix)/tracert命令(windows) tracert命令的格式为:tracert [-d] [-h maximum_hops] [-j host-list] [- ...
- 通过FFmpeg将多媒体文件解码后保存成Bmp图像(YUV420 RGB32)
/* g++ -o test test.cpp -lavformat -lavcodec -lavutil -lz -lm -lpthread -lswscale */ #include <st ...
- GPL协议本身就是剥削,oracle维权玩的让人恶心
我们先来看一下MySQL的版权问题.当前,MySQL采用双重授权(Dual Licensed),他们是GPL和MySQL AB制定的商业许可协议.如果你在一个遵循GPL的自由(开源)项目中使用MyS ...
- winform webbrowser禁用网页target=blank
/// <summary> /// 屏蔽target=_blank 的弹出窗口 /// </summary> /// <param name="sender&q ...
- 浅析 MySQL Replication(本文转自网络)
作者:卢飞 来源:DoDBA(mysqlcode) 0.导读 本文几乎涵盖了MySQL Replication(主从复制)的大部分知识点,包括Replication原理.binlog format.复 ...
- AtCoder Regular Contest 093
AtCoder Regular Contest 093 C - Traveling Plan 题意: 给定n个点,求出删去i号点时,按顺序从起点到一号点走到n号点最后回到起点所走的路程是多少. \(n ...