( arcgis for android )用离线地图*.tpk(当.tpk不能用时)制作可用的离线地图的可用方法

( arcgis for android )用离线地图*.tpk(当.tpk不能用时)制作可用的离线地图的可用方法

最近在做一个安卓的项目,需要用到离线地图,关于网上离线地图多使用*.tpk的格式,但是有时候*.tpk不给力做出来后但是不用,这里经过我查阅大量资料所得总结出一种方法利用已经制作出来的*.tpk文件,制作可以调用的图层。下面介绍其制作步骤。

1.将现有的tpk文件更改后缀名即将  .tpk  改成  .zip的压缩包格式,如下图2。

图 1

修改并解压会得到三个文件夹,如下图2。


图2

现在提取出上图中v101文件夹,将文件夹的命名与图3的内容一致变为xmut,这个是我们需要用到的,图3是v101文件夹里面的内容。


图 3

2.以上数据准备已经完成,接下来就在ECLIPSE里面使用这个图层数据,

先在XML文件里面写入以下代码,进行添加mapview容器

   <com.esri.android.map.MapView
          android:id="@+id/map"
          android:layout_width="match_parent"
          android:layout_height="464dp" >  
       </com.esri.android.map.MapView>

MainActivity.java文件里面写入以下代码。

public class MainActivity extends Activity {

MapView mMapView ;//系统自动完成

       ArcGISLocalTiledLayer local;//定义ArcGISLocalTiledLayer 对象 

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        

       mMapView = new MapView(this);  //系统自动完成
        mMapView = (MapView)findViewById(R.id.map);//获取map实例

        // 离线地图调用
         local = new ArcGISLocalTiledLayer("file:///storage/sdcard1/xmut/xmut");//可以实现调用离线地图
         mMapView.addLayer(local);

    }

}

下图4就是在DDMS里面的文件位置的截图了


图4

 到此离线图层加载就已经完成了,顺便一提的是,在使用手机调试应用的时候,或者测试数据库的时候,需要将手机先Root,下载root expiorer,管理相应文件夹的权限问题。


猜你喜欢

转载自blog.csdn.net/u014741420/article/details/30755539