充电桩搜索
关键字搜索
1. 导入头文件
#import <NavinfoKit/NavinfoKit.h>
2. 配置APIKEY
参考工程配置说明。
3. 定义 NavinfoPOISearch
定义主搜索对象 NavinfoPOISearch,并继承搜索协议<NavinfoQueryDelegate >。
4. 构造 NavinfoPOISearch
构造搜索对象 NavinfoPOISearch,并设置代理。
self.search = [[NavinfoPOISearch alloc] init]; self.search.delegate = self;
5. 设置关键字充电桩搜索查询参数
关键字充电桩搜索查询的请求参数类为 NavinfoPOIQuery,keyword(关键字)、category(搜索类型)为必设参数。
关键字充电桩搜索category 为SERVICE_API_EV_TEXT。
self.query = [[NavinfoPOIQuery alloc] initWithKeyword:@"加油站" city:nil lonlats:nil category: SERVICE_API_EV_TEXT];
6. 发起关键字充电桩搜索查询参数
通过调用 NavinfoPOISearch的 search方法发起关键字充电桩搜索查询。
[_incidentSearch search:query];
7. 在回调中处理数据
当查询成功时,会进到 POISearch:result:error 回调函数,通过回调函数,可获取查询关键字充电桩搜索的结果。
- (void)POISearch:(NavinfoPOISearch *)poiSearch result:(NavinfoPOISearchResult *) result error:(NSError *)error ;
说明:
1)通过 result. total 获取检索的结果总数 信息。
2)通过 result. provinces获取省份分布结果列表。详细信息参考NavinfoProvince。
3)通过 result. pois获取POI 信息列表 。详细信息参考NavinfoPOI。
4)通过 result. district获取行政区域切换信息 。详细信息参考NavinfoDistrict。
8. 处理失败查询
当检索失败时,Error 会返回,通过该回调函数获取产生的失败的原因。
圆形搜索
详细参照关键字充电桩搜索,不同设置如下:
5. 设置圆形充电桩搜索查询参数
圆形充电桩搜索查询的请求参数类为 NavinfoPOIQuery,lonlat (当前坐标点)、category(搜索类型)为必设参数。
关键字充电桩搜索category 为SERVICE_API_EV_TEXT。
self.query = [[NavinfoPOIQuery alloc] initWithKeyword:nil city:nil lonlats:[NavinfoLonlat toLonlatsWithLonlatStrings:@"116.311050,39.980570"] category: SERVICE_API_EV_AROUND];
多边形搜索
详细参照关键字充电桩搜索,不同设置如下:
5. 设置多边形充电桩搜索查询参数
多边形充电桩搜索查询的请求参数类为 NavinfoPOIQuery,lonlats (多边形标串)、category(搜索类型)为必设参数。
矩形搜索category 为SERVICE_API_EV_POLYGON。
NSString *lonlatString = @"116.311050,39.980570;116.310880,39.945280;116.335770,39.926260;116.359210,39.923100"; self.query = [[NavinfoPOIQuery alloc] initWithKeyword:nil city:nil lonlats:[NavinfoLonlat toLonlatsWithLonlatStrings:lonlatString] category: SERVICE_API_EV_POLYGON];
沿途搜索
详细参照关键字充电桩搜索,不同设置如下:
5. 设置沿途充电桩搜索查询参数
沿途充电桩搜索查询的请求参数类为 NavinfoPOIQuery,lonlats (多边形坐标串)、category(搜索类型)为必设参数。
沿途充电桩搜索category 为SERVICE_API_EV_LINE。
NSString *lonlatString = @"116.311050,39.980570;116.310880,39.945280;116.335770,39.926260;116.359210,39.923100"; self.query = [[NavinfoPOIQuery alloc] initWithKeyword:nil city:nil lonlats:[NavinfoLonlat toLonlatsWithLonlatStrings:lonlatString] category: SERVICE_API_EV_LINE];
详情查询
详细参照关键字地点详情检索,不同设置如下:
5. 设置沿途充电桩搜索查询参数
详情充电桩搜索查询的请求参数类为 NavinfoDetailsQuery,poiEVIds (POI唯一id )、category(搜索类型)为必设参数。
详情充电桩搜索category 为SERVICE_API_EV_DETAIL。
self.detailQuery = [[NavinfoDetailsQuery alloc] init]; self.detailQuery.category = SERVICE_API_EV_DETAIL;