You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ArcGIS Runtime SDK离线场景下用图层URL替换PortalItem

用图层URL替代PortalItem初始化ArcGIS Runtime 100的OfflineMapTask

没问题,我来帮你搞定这个替换!在ArcGIS Runtime 100 SDK里,确实可以用图层URL来替代PortalItem创建OfflineMapTask,核心思路是先把URL对应的图层加载到AGSMap实例中,再用这个地图来初始化离线任务。具体步骤如下:

1. 创建地图并添加URL图层

首先你需要根据图层的类型(比如切片图层、要素图层),从URL创建对应的图层实例,然后添加到空地图中:

// 创建一个空地图,也可以指定空间参考适配你的图层
let map = AGSMap()

// 示例:添加切片图层(Tiled Layer)
if let tiledLayerURL = URL(string: "你的切片图层在线URL") {
    let tiledLayer = AGSTiledLayer(url: tiledLayerURL)
    map.operationalLayers.add(tiledLayer)
}

// 示例:添加要素图层(Feature Layer)
if let featureLayerURL = URL(string: "你的要素图层在线URL") {
    let featureLayer = AGSFeatureLayer(url: featureLayerURL)
    map.operationalLayers.add(featureLayer)
}

如果有多个需要离线的图层,只需要重复上述步骤把它们都添加到map.operationalLayers即可

2. 用地图初始化OfflineMapTask

有了包含目标图层的地图后,直接用AGSOfflineMapTask(map:)这个初始化方法替代原来的PortalItem版本:

// 用包含URL图层的地图实例化离线地图任务
self.offlineMapTask = AGSOfflineMapTask(map: map)

注意事项

  • 确保你的图层URL是可正常访问的在线地址,因为离线任务需要先在线获取图层的元数据,才能生成离线包。
  • 后续的离线流程(比如生成AGSOfflineMapParameters、创建离线包)和用PortalItem初始化的流程完全一致,不需要额外调整。

内容的提问来源于stack exchange,提问作者Parv Bhasker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:15:45