mmpk文件的打包与加载(ArcGIS for Android 100.x)

一、mmpk文件的生成

        移动地图包是一个以“.mmpk”结尾的单独文件扩展,它可以将你的组织的maps、资源、道路网、或者坐标集成到一个文件。根据这些数据你的用户就可以清楚自己的方向,知道什么是他们所需要的,探索它们的附近的区域、有效的利用他们的资源去工作。地图数据包格式是面向当前手机设备的最佳格式,它小而快速,因为它是被压缩的且容易分享。相比于传统的地图包(tpk、vtpk等),它保存所有的feature要素。

         mmpk可以将各种地图和数据资源打包,其中也包括矢量切片数据,同时这种格式地图包可轻松部署到终端使用,由于数据是存储于压缩的mobile GDB中,底图上展示的内容都是要素,可供查询和分析,同时支持路径规划、地址编码等高级分析应用。移动地图包支持离线应用。移动地图包既解决了移动端符号渲染问题,又结合矢量切片底图解决了地图包过大的问题,支持离线的查询、分析等各种应用场景。

 也可以参考官网:

http://pro.arcgis.com/zh-cn/pro-app/tool-reference/data-management/create-mobile-map-package.htm

到此,mmpk文件就创建好了。

二、加载mmpk

        在Runtime 100里,对于移动地图包专门有个类MobileMapPackage进行管理,其官方解释为:

 具体可见官网解释和用法:

https://developers.arcgis.com/android/api-reference/reference/com/esri/arcgisruntime/mapping/MobileMapPackage.html

详细代码为:

public void load(){
        mMapView.setAttributionTextVisible(false);
        final String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/data/cssj/ff.mmpk";
        File file = new File(path);
        if (!file.exists()) {
            Toast.makeText(MainActivity.this, "文件不存在!", Toast.LENGTH_LONG).show();
        }
        final MobileMapPackage mainMobileMapPackage = new MobileMapPackage(path);

        String v = mainMobileMapPackage.getVersion(); //获取mmpk的版本
        mainMobileMapPackage.loadAsync();
        mainMobileMapPackage.addDoneLoadingListener(new Runnable() {
            @Override
            public void run() {
                LoadStatus mainLoadStatus = mainMobileMapPackage.getLoadStatus();
                if (mainLoadStatus == LoadStatus.LOADED) {
                    List<ArcGISMap> mainArcGISMapL = mainMobileMapPackage.getMaps();
                    ArcGISMap arcGISMap = mainArcGISMapL.get(0);
                    list = arcGISMap.getOperationalLayers(); // 可取出这里面的所有图层
                    mMapView.setMap(arcGISMap);
                } else {
                    Exception e = mainMobileMapPackage.getLoadError();
                    e.printStackTrace();
                    Toast.makeText(MainActivity.this, "加载失败!", Toast.LENGTH_LONG).show();
                }
            }
        });
    }

效果图为:

如图所示,这个地图里包含了两个业务图层,通过我们的移动地图包数据,直接一步就加载好,因为移动数据包不仅包含地图展示所需的所有图层,也包含他们图层的顺序,因此使用起来非常方便。 

这里也提供一个测试mmpk文件:

链接:百度网盘下载mmpk
提取码:apqi

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老杜_d

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值