美文网首页ArcGIS学习
ArcGIS for IOS 使用和集成(四)

ArcGIS for IOS 使用和集成(四)

作者: 多喝热开水 | 来源:发表于2020-03-31 15:10 被阅读0次

    我们会看到ArcGIS中发布的图层不止有底图,还会有要素图层服务。那我们该如何加载要素图层服务呢,这里我们会讲解如何加载要素图层服务,对要素图层服务中的要素项进行筛选展示等等。
    我们这边主要的讲解是iOS端这边是如何处理,具体的服务端发布图层服务的过程详见:
    https://www.jianshu.com/p/30be7f1b0b80

    PC端的过程我们就不详细说明了,由客户端成功获取了要素图层服务地址后:

    1.加载要素图层服务

    在我们第二章创建的AGSMapView子类中初始化底层服务
    使用的

    NSURL *elementMapURL = [NSURL URLWithString:@"要素图层服务地址"];
    self.elementMapLayer = [AGSDynamicMapServiceLayer dynamicMapServiceLayerWithURL:elementMapURL];
    self.elementMapLayer.imageFormat = AGSImageFormatJPGPNG;
    [self insertMapLayer:self.elementMapLayer withName:@"MAP_ELEMENT_NAME" atIndex:1];
    

    直接将要素图层服务加载到底图上,就可以看到一个完整的带底图的图层服务


    image.png

    可以看到要素图层被覆盖在底图上。

    2.对要素图层服务的子图层进行选择展示

    发布的要素图层服务后可以通过直接在浏览器中打开,查看该图层服务的具体情况:


    image.png

    类似以上的AGSDynamicMapServiceLayer图层 下有六个子图层服务。子图层的名字后面的数字即是对应的layerId,将对应的图层layerId,传入以下代码即可展示对应的图层服务

    AGSDynamicMapServiceLayer *elementMapLayer = (AGSDynamicMapServiceLayer *)[self mapLayerForName:@"MAP_ELEMENT_NAME"];
    resourceMapLayer.visibleLayers = [NSArray arrayWithArray:@[@0,@1,@2,@3];
    [resourceMapLayer refresh];
    

    AGSMapView 可以通过 mapLayerForName:MAPNAME 直接获取对应的图层服务

    3.对要素图层服务的子图层进行筛选

    在发布要素图层服务时,可以选择要素的属性项,发布成功后即可在对应子图层的链接中查找到要素子图层的属性项。按照指定的信息可以对要素子图层的属性项进行筛选展示

    image.png

    例如:
    我发布的子图层服务里有一些周边商店信息,我需要对筛选周边商店为: 911 的店面,
    需要使用到AGSLayerDefinition这个对象
    注: 所发布的图层服务中需要有对应的属性信息

    // layerId 为对应的子图层id
    NSString *definitionString = [NSString stringWithFormat:@"STORENAME = %@",@”911“];
    AGSLayerDefinition *definition = [AGSLayerDefinition layerDefinitionWithLayerId:layerid definition:definitionString];
    AGSDynamicMapServiceLayer *resourceMapLayer = (AGSDynamicMapServiceLayer *)[self.mapView mapLayerForName:@"MAP_ELEMENT_NAME"];
    resourceMapLayer.layerDefinitions = [NSArray arrayWithArray:definitions];
    [resourceMapLayer refresh];
    

    相关文章

      网友评论

        本文标题:ArcGIS for IOS 使用和集成(四)

        本文链接:https://www.haomeiwen.com/subject/jgywuhtx.html