gpt4 book ai didi

ios - 如何显示或隐藏 AGSArcGISMapImageLayer 子图层

转载 作者:行者123 更新时间:2023-11-30 11:26:27 26 4
gpt4 key购买 nike

我刚刚将项目从 arcgis Runtime 10.2 升级到 100.2.1,我能够运行 AGSFeature 图层,但 AGSArcGISMapImageLayer 出现问题

我只是加载包含子图层的AGSArcGISMapImageLayer图层并像这样获取它们的数据

let mapServiceInfo = (dynamicMapServiceLayer as? AGSArcGISMapImageLayer).mapServiceInfo
if let layerInfos = mapServiceInfo?.layerInfos {
for layerInfo in layerInfos {
//get the sublayer data
}
}

现在我只是根据用户要求显示和隐藏图层

为此我检查了此 arcgis 链接:- link to show hide the image layer

但是,在使用上述过程获取上述子层数据时,它给了我 10 个子层数据

但是根据我使用该方法时的链接

dynamicMapServiceLayer.mapImageSublayers.count

然后它只返回两个对象或子层因此我无法实现显示隐藏功能

那么在我的案例中我应该如何使用上述链接方法?或者还有其他方法可以做到这一点吗?

最佳答案

通过搜索 API,我找到了隐藏或显示动态 map 图层的解决方案(AGSArcGISMapImageLayer)

**layersHidden** is an array which contain the url of layers which I want to hide from map

let mapServiceInfo = dynamicMapServiceLayer?.mapServiceInfo
let layerInfos = mapServiceInfo?.layerInfos

for layerInfo in layerInfos {
if layerInfo.sublayerIDs.count == 0 {
// Get the url for the layer.
let layerUrl = "\(mapServiceInfo?.url?.absoluteString ?? "")/\(UInt(layerInfo.id))"
// add the name of layers which we want to hide from map in visibleLayers array
if layersHidden.contains(layerUrl) {
visibleLayers.append(layerInfo.name)
}
}
}

像这样的隐藏层

for i in 0...((dynamicMapServiceLayer?.mapImageSublayers.count)!-1) { 让层=dynamicMapServiceLayer?.mapImageSublayers [i]为! AGSArcGISMapImageSublayer

for subLayer in layer.subLayerContents {
if visibleLayers.contains(subLayer.name) {
subLayer.isVisible = false
}
else {
subLayer.isVisible = true
}
}
}

关于ios - 如何显示或隐藏 AGSArcGISMapImageLayer 子图层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50693909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com