如何在 iOS 中获取有关 AGSFeature 图层的详细信息

How to get detail information about AGSFeature layer in iOS

我可以在 arcgis iOS sdk 的底图上添加 3 个图层。现在我想从要素层获取详细信息。谁能帮我。有时数据会填充在地图上,但有时加载时间太长。下面是我的代码,我可以从中在底图上添加 3 个要素图层。

// Add basemap.
NSURL* url = [NSURL URLWithString: @"http://services.arcgisonline.com/arcgis/rest/services/World_Topo_map/mapserver"];
AGSTiledMapServiceLayer* layer = [AGSTiledMapServiceLayer tiledMapServiceLayerWithURL: url];
layer.delegate = self;
[self.mapView addMapLayer:layer withName:@"Streets"];

//zoom to an area
AGSEnvelope *envelope = [AGSEnvelope envelopeWithXmin:-1.34732920649E7 ymin:4533851.309500001 xmax:-1.3431785844E7

ymax:4641521.468800001 spatialReference:self.mapView.spatialReference]; [self.mapView zoomToEnvelope:envelope animated:NO];

// Structures.
NSString *urlString = [self.currentWorkOrder.detectionURL substringToIndex:[self.currentWorkOrder.detectionURL length]-1];

self.featureLayerURL0 = [NSURL URLWithString:[NSString stringWithFormat:@"%@0",urlString]];

self.featureLayer0 = [AGSFeatureLayer featureServiceLayerWithURL:self.featureLayerURL0 mode:AGSFeatureLayerModeOnDemand];
self.featureLayer0.delegate = self;
[self.mapView addMapLayer:self.featureLayer0 withName:@"CloudData0"];

// Alignment.
self.featureLayerURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@1",urlString]];

self.featureLayer = [AGSFeatureLayer featureServiceLayerWithURL:self.featureLayerURL mode:AGSFeatureLayerModeOnDemand];
self.featureLayer.delegate = self;
[self.mapView addMapLayer:self.featureLayer withName:@"CloudData"];

// Detections.
self.featureLayerURL1 = [NSURL URLWithString:[NSString stringWithFormat:@"%@2",urlString]];

self.featureLayer1 = [AGSFeatureLayer featureServiceLayerWithURL:self.featureLayerURL1 mode:AGSFeatureLayerModeOnDemand];
self.featureLayer1.delegate = self;
PO(self.featureLayer1.fields);
[self.mapView addMapLayer:self.featureLayer1 withName:@"CloudData1"];

请帮我解决这个问题。提前谢谢你。

这是一个网络,在地图上加载图层需要花费太多时间。现在可以从 AGSCalloutDelegate 方法中获取每一层的详细信息

  - (void)didClickAccessoryButtonForCallout:(AGSCallout *)callout
    {
        NSLog(callout.representedFeature);
    }