七、ArcGIS Runtime SDK for iOS 100.X教程系列之地理检索

ArcGIS直接提供了地理检索api,但是这个功能需要依托后台服务发布GeocodeServer服务

__weak __typeof(self)weakSelf = self;
    if (!self.locatorTask) {
        self.locatorTask = [[AGSLocatorTask alloc] initWithURL:[NSURL URLWithString:@"https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer"]];
    }
    if (!self.geoParams) {
        self.geoParams = [[AGSGeocodeParameters alloc] init];
        self.geoParams.resultAttributeNames = @[@"*"];
        self.geoParams.minScore = 75;//匹配度
//        self.geoParams.outputSpatialReference = self.mapView.spatialReference;
//        self.geoParams.preferredSearchLocation = AGSPointMake(530381, 392550, self.mapView.spatialReference);
//        self.geoParams.searchArea = self.dynamicLayer.fullExtent;
    }
    [self.locatorTask loadWithCompletion:^(NSError * _Nullable error) {
        if (!error) {
            [weakSelf.locatorTask geocodeWithSearchText:@"Disneyland" parameters:weakSelf.geoParams completion:^(NSArray<AGSGeocodeResult *> * _Nullable geocodeResults, NSError * _Nullable error) {
                
            }];
        }
    }];

该API还是比较浅显的,使用比较方便。

其实官方给出了一份开源的详细使用代码,还发布到了AppStore,git直达:https://github.com/Esri/arcgis-runtime-samples-ios,大家可以自行下载过来参考,只不过是swift版本的。

猜你喜欢

转载自blog.csdn.net/qq_31672459/article/details/79752772