arcgis for android(七)加载arcgis server服务

1、上一章讲了arcgis for android 入门与提高(六)定位https://blog.csdn.net/HB_Programmer/article/details/119993487,在前几章的基础上继续学习新的知识:arcgis for android API可以加载arcgis server发布的服务,如何发布服务可以在网上一搜就有很多详细的资料,把发布的服务放到服务器,生成一个url,就是我们要访问的地址。先来看三个重要的图层类,以及它们之间的区别和使用。矢量数据和影像数据都能发布成服务,都可以在Android中加载。

2、ArcGISVectorTiledLayer,矢量瓦片图层可以在ArcGIS Pro中创建,并作为离线软件包或在线服务发布。ArcGIS矢量瓦片层与传统的基于栅格的底图(ArcGIS瓦片层)相比具有许多优势,包括不同屏幕DPI之间的平滑缩放、较小的封装尺寸以及动态旋转符号和标签的能力。核心代码:

String url = "";
ArcGISVectorTiledLayer vectorTiledLayer = new ArcGISVectorTiledLayer(url);
mMapView.getMap().getOperationalLayers().add(vectorTiledLayer);
vectorTiledLayer.addDoneLoadingListener(new Runnable() {
    @Override
    public void run() {
        if (vectorTiledLayer.getLoadStatus() == LoadStatus.LOADED)
            mMapView.setViewpoint(new Viewpoint(vectorTiledLayer.getFullExtent()));
    }
});

3、ArcGISMapImageLayer,地图影像图层也称为动态地图服务,可以在ArcMap中创建。这些服务在服务器上动态生成映像,并将生成的映像发送给请求的客户端。当在网络环境中渲染复杂的制图或大量数据时,这非常有用,因为客户端只显示服务器返回的图像。这可以使图层更精确、执行速度更快,不仅能加载影像服务,也能加载矢量服务。核心代码:

String url = "";
ArcGISMapImageLayer mapImageLayer = new ArcGISMapImageLayer(url);
mMapView.getMap().getOperationalLayers().add(mapImageLayer);
mapImageLayer.addDoneLoadingListener(new Runnable() {
    @Override
    public void run() {
        if (mapImageLayer.getLoadStatus() == LoadStatus.LOADED)
            mMapView.setViewpoint(new Viewpoint(mapImageLayer.getFullExtent()));
    }
});

4、ArcGISTiledLayer,瓦片图层使用ArcGIS服务或瓦片包(.tpk和.tpkx)提供的栅格图层,可以在ArcMap中创建。将栅格划分为瓦片,可在平移和缩放时为用户提供相关瓦片和详细程度,从而实现快速地图可视化和导航。例如,假设您想要一个包含您所在城市所有博物馆的地图的应用程序,以便您可以与游客共享。由于只有博物馆需要在应用程序中支持可识别或可查询,因此定位和引导游客所需的所有其他上下文信息都可以从单个ArcGIS平铺层中获取,从而提高性能并最大限度地减少加载地图的时间,不仅能加载影像服务,也能加载矢量服务。核心代码:

String url = "";
ArcGISTiledLayer tiledLayer = new ArcGISTiledLayer(url);
mMapView.getMap().getOperationalLayers().add(tiledLayer);
tiledLayer.addDoneLoadingListener(new Runnable() {
    @Override
    public void run() {
        if (tiledLayer.getLoadStatus() == LoadStatus.LOADED)
            mMapView.setViewpoint(new Viewpoint(tiledLayer.getFullExtent()));
    }
});

5、创建tpk:共享为切片包tpk只能放在本地使用,它的最大优势是加载速度非常快,不需要联网,缩放级别越高分辨率越高,反之越低,

  如何共享为切片包,打开arcgis,找到自定义菜单,选择最下面的ArcMap选项

核心代码: 

String fileTPK = Environment.getExternalStorageDirectory().getAbsolutePath() + "/test.tpk";
ArcGISTiledLayer arcGISTiledLayer = new ArcGISTiledLayer(fileTPK);
Basemap basemap = new Basemap(arcGISTiledLayer);
ArcGISMap arcGISMap = new ArcGISMap(basemap);
arcGISMap.setBackgroundColor(Color.WHITE);//设置背景为白色
mMapView.setMap(arcGISMap);  

6、下一节讲解 arcgis for android 入门与提高(八)加载shape和影像arcgis for android 入门与提高(八)加载shape和影像_郝大大的博客-CSDN博客

欢迎订阅专栏!

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值