Administrative Area

1. Import header files

  1. #import <NavinfoKit/NavinfoKit.h>

2. Configure APIKEY

Refer to Project Configuration Instructions.

3. Define NavinfoDistrictSearch

Define the traffic search object NavinfoDistrictSearch and inherit the search protocol <NavinfoDistrictDelegate>.

4. Construct NavinfoDistrictSearch

Construct an event search object NavinfoDistrictSearch and set the proxy.

  1. _distSearch = [NavinfoDistrictSearch new];
    _distSearch.delegate = self;

5. Set administrative area search query parameters

The request parameter class of the road fuzzy search query is NavinfoDistrictQuery, keyword (keyword) is a non-required parameter, search keyword support: administrative area name, code, adcode, subDistrictCount (child level administrative area). Set to display the lower administrative level; hasExtensionInfo (administrative area boundary) controls whether the administrative boundary coordinates are returned. Please refer to the API documentation for other parameters.

  1. NavinfoDistrictQuery *query = [NavinfoDistrictQuery new];
    Query.keyword = @"LIAONING";
    query.subDistrictCount = 1;
    query.hasExtensionInfo = NO;

6. Initiate search query parameters

Initiate a search request by calling the districtSearchWithQuery method of NavinfoDistrictQuery.

  1. [_distSearch districtSearchWithQuery:query];

7. Processing data in callbacks

Proxy method when the query is successful.

  1. - (void)onDistrictSearch:(NavinfoDistrictSearch *)search result:(NavinfoDistrictResult * _Nullable)result error:(NSError * _Nullable)error;

where NavinfoDistrictResult returns, NSError is nil, and the query result can be obtained at this time.

Description:

Get a collection of NavinfoBaseDistrict types through districts.

  1. - (void)onDistrictSearch:(NavinfoDistrictSearch *)search result:(NavinfoDistrictResult *)result error:(NSError *)error {
    NSLog(@"----> onDistrictSearch");
    if (result.districts) {
    NavinfoBaseDistrict *dist = result.districts[0];
    NSString *adcode = dist.adcode;
    NSString *cityCode = dist.cityCode;
    NSString *name = dist.name;
    NavinfoLonlat *lonlat = dist.center;
    NSString *center = [lonlat lonlatString];
    NSString *lonlats = dist.lonlats;
    NSString *level = dist.level;
    NSArray *dists = dist.districts;
    NSLog(@"----> result.adcode=%@, result.cityCode=%@, result.name=%@, result.center= %@, result.lonlats=%@, result.level=%@",adcode,cityCode,name,center,lonlats,level);
    for (NSInteger i = 0; i < [dists count]; i++) {
    NSLog(@"----> subdist.adcode=%@, subdist.cityCode=%@, subdist.name=%@, subdist.lonlats=%@, subdist.level=%@",dist.districts[i].adcode,dist.districts[i].cityCode,dist.districts[i].name,dist.districts[i].lonlats,dist.districts[i].level);
    }
    }
    }

8. Processing a failed query When the retrieval fails, Error returns, and the reason for the failure is obtained by the callback function.

TOP