最近在做一个android的项目,需要实现离线地图,在网上找了好久 但是大多数的都是用一大堆的代码实现的,对于初学者来说却是有点困难。于是,参考了ArcGIS for android的帮助文档,整合网上参考资料,已经向大侠求助,最终找到了一个很好的解决方法,这里贴出来和大家一起分享。废话不多说……
1,要在ArcGIS Server中发布你的地图(发布地图请自己上网google),最好是有切片的地图,然后找到发布的文件夹
2,直接将文件夹考到SD卡的根目录上(也可以到其他的文件夹,但是要记住你的路径)
3,在eclipse中新建 ArcGIS for android项目(这个不用我再教你们了吧。不会的可以google)
3,配置layout文件,添加MapView控件
<com.esri.android.map.MapView
android:id="@+id/LocalMap"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
4,在代码中加入一下代码
//声明MapView
MapView mMapView ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//实例化MapView
mMapView= (MapView)findViewById(R.id.LocalMap);
//存储切片文件路径
String path="file:///mnt/sdcard/WorldMapCompact/Layers/";
//声明并实例化ArcGISLocalTiledLayer
ArcGISLocalTiledLayer localMap=new ArcGISLocalTiledLayer(path);
//将离线地图加载到MapView中
mMapView.addLayer(localMap);
}
代码中的path就是存放在SD卡上的图片文件夹,这里的路径可以修改,请自行记好就OK啦!
5,加入权限,使手机有权限读取SD卡文件
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
6,运行 调试结果:
注意:有时出不来图,是因为你的手机在电脑上连接着,sd卡已经挂载,无法读取SD卡内容,或者有时需要在程序管理中强制停止程序后再打开才能出图。
本文介绍了一种简单易行的方法来实现Android应用中的离线地图功能。通过使用ArcGIS for Android,开发者可以轻松地将地图切片放置在设备的SD卡上,并在应用中加载这些切片以显示地图。
474

被折叠的 条评论
为什么被折叠?



