Administrative Area
1. Import header files
- #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.
- _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.
- 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.
- [_distSearch districtSearchWithQuery:query];
7. Processing data in callbacks
Proxy method when the query is successful.
- - (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.
- - (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.