您现在的位置:

POI搜索

关键字搜索

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(关键字)、city(城市)、category(搜索类型)为必设参数。

关键字搜索category 为SERVICE_API_SEARCH_TEXT。

                    self.query = [[NavinfoPOIQuery alloc] initWithKeyword:@"如家" city:@"北京" lonlats:nil category:SERVICE_API_SEARCH_TEXT];
                

6. 发起关键字搜索查询参数

通过调用 NavinfoPOISearch的 search方法发起关键字搜索查询。

                    [self.search search:self.query];
                

7. 在回调中处理数据

当查询成功时,会进到 POISearch:result:error 回调函数,通过回调函数,可获取查询关键字搜索的结果。

                    - (void)POISearch:(NavinfoPOISearch *)poiSearch result:(NavinfoPOISearchResult *)result error:(NSError *)error
                

说明:

1)通过 result. total 获取检索的结果总数 信息。

2)通过 result. filter获取筛选排序配置信息的标识。

3)通过 result. provinces获取省份分布结果列表。详细信息参考NavinfoProvince。

4)通过 result. pois获取POI 信息列表 。详细信息参考NavinfoPOI。

5)通过 result. district获取行政区域切换信息 。详细信息参考NavinfoDistrict

8. 处理失败查询 当检索失败时,Error 会返回,通过该回调函数获取产生的失败的原因。


运行程序,效果如下图所示:

圆形搜索

详细参照关键字搜索,不同设置如下:

5. 设置圆形搜索查询参数

圆形搜索查询的请求参数类为 NavinfoPOIQuery,keyword(关键字)、city(城市)、lonlat (当前位置坐标 )、category(搜索类型)为必设参数。

圆形搜索category 为SERVICE_API_SEARCH_AROUND。

                    self.query = [[NavinfoPOIQuery alloc] initWithKeyword:@"美食" city:@"北京" lonlats:[NavinfoLonlat toLonlatsWithLonlatStrings:@"116.311050,39.980570"] category:SERVICE_API_SEARCH_AROUND];
                

矩形搜索

详细参照关键字搜索,不同设置如下:

5. 设置矩形搜索查询参数

矩形搜索查询的请求参数类为 NavinfoPOIQuery,keyword(关键字)、city(城市)、lonlats (矩形坐标串)、category(搜索类型)为必设参数。

矩形搜索category 为SERVICE_API_SEARCH_POLYGON。

                    NSString *lonlatString = @"116.311050,39.980570;116.310880,39.945280;116.335770,39.926260;116.359210,39.923100";
                    self.query = [[NavinfoPOIQuery alloc] initWithKeyword:@"美食" city:@"北京" lonlats:[NavinfoLonlat toLonlatsWithLonlatStrings:lonlatString] category:SERVICE_API_SEARCH_AROUND];
                

沿途搜索

详细参照关键字搜索,不同设置如下:

5. 设置沿途搜索查询参数

沿途搜索查询的请求参数类为 NavinfoPOIQuery,keyword(关键字)、city(城市)、lonlats (矩形坐标串)、category(搜索类型)为必设参数。

沿途搜索category 为SERVICE_API_SEARCH_LINE。

                    NSString *lonlatString = @"116.311050,39.980570;116.310880,39.945280;116.335770,39.926260;116.359210,39.923100";
                    self.query = [[NavinfoPOIQuery alloc] initWithKeyword:@"美食" city:@"北京" lonlats:[NavinfoLonlat toLonlatsWithLonlatStrings:lonlatString] category: SERVICE_API_SEARCH_LINE];                        
                

详情查询

1. 导入头文件

                    #import <NavinfoKit/NavinfoKit.h>
                

2. 配置APIKEY

参考工程配置说明

3. 定义 NavinfoDetailsSearch

定义主搜索对象NavinfoDetailsSearch,并继承搜索协议<NavinfoQueryDelegate>。

4. 构造 NavinfoDetailsSearch

构造事件搜索对象 NavinfoDetailsSearch,并设置代理。

                    self.detailSearch= [[NavinfoDetailsSearch alloc] init];
                    self.detailSearch.delegate = self;
                

5. 设置地点详情检索查询参数

地点详情检索的请求参数类为 NavinfoDetailsQuery,poiId (POI 唯一 id )、category(搜索类型)为必设参数。

poiId为搜索结果中携带的poi的信息,所以只能先搜索,再查看地点详情。

地点详情检索category 为SERVICE_API_SEARCH_DETAIL 。

                    self.detailQuery = [[NavinfoDetailsQuery alloc] init];
                    self.detailQuery.category = SERVICE_API_SEARCH_DETAIL;
                

6. 发起地点详情检索查询

通过调用 NavinfoDetailsSearch的 getLocationDetails方法发起地点详情检索查询。

                    self.detailSearch getLocationDetails:[result.pois objectAtIndex:0].poiId query:self.detailQuery];
                

7. 在回调中处理数据

当查询成功时,会进到 locationDetails:result:error 回调函数,通过回调函数,可获取查询地点详情检索的结果。

                    - (void)POISearch:(NavinfoPOISearch *)poiSearch result:(NavinfoPOISearchResult *)result error:(NSError *)error
                

说明:

1)通过 result. total 获取检索的结果总数 信息。

2)通过 result. filter获取筛选排序配置信息的标识。

3)通过 result. provinces获取省份分布结果列表。详细信息参考NavinfoProvince。

4)通过 result. pois获取POI 信息列表 。详细信息参考NavinfoPOI。

5)通过 result. district获取行政区域切换信息 。详细信息参考NavinfoDistrict。

8. 处理失败查询

当检索失败时,Error 会返回,通过该回调函数获取产生的失败的原因。


运行程序,效果如下图所示:

合作方信息查询

1. 导入头文件

                    #import <NavinfoKit/NavinfoKit.h>
                

2. 配置APIKEY

参考工程配置说明

3. 定义 NavinfoCooperationDetailsSearch

定义主搜索对象NavinfoCooperationDetailsSearch,并继承搜索协议<NavinfoCooperationQueryDelegate>。

4. 构造 NavinfoCooperationDetailsSearch

构造事件搜索对象 NavinfoCooperationDetailsSearch,并设置代理。

                    self.cooperationDetailSearch= [[NavinfoCooperationDetailsSearch alloc] init];
                    self.cooperationDetailSearch.delegate = self;
                

5. 设置合作方地点详情检索参数

合作方地点详情检索的请求参数类为 NavinfoCooperationDetailsQuery,poiId (POI唯一id )、poiName (POI唯一名称)为必设参数。

poiId、poiName为搜索结果中携带的poi的信息,所以只能先搜索,再查看地点详情。

                    self.cooperationDetailQuery = [[NavinfoCooperationDetailsQuery alloc] init];
                

6. 发起合作方地点详情检索

通过调用 NavinfoCooperationDetailsSearch的 getCooperationLocationDetails 方法发起合作方地点详情检索查询。

                    [self.cooperationDetailSearch getCooperationLocationDetails:[result.pois objectAtIndex:0].extend.cooperationId cooperationName:[result.pois objectAtIndex:0].extend.cooperationName query:self.cooperationDetailQuery];
                

7. 在回调中处理数据

当查询成功时,会进到 locationCooperationDetails:result:error 回调函数,通过回调函数,可获取查询合作方地点详情检索的结果。

                    - (void)locationCooperationDetails:(NavinfoCooperationDetailsSearch *)poiSearch
                    result:(NavinfoCooperationInfomationResult *)result
                    error:(NSError *)error 
                

说明:

1)通过 result. cooperationId获取合作方地点详情唯一标识。

2)通过 result. cooperationName获取合作方地点详情名称。

3)通过 result. lonlat获取合作方地点详情坐标。

4)通过 result. address获取合作方地点详情地址。

5)通过 result. city获取合作方地点详情城市。

6)通过 result. phone获取合作方地点详情电话。

7)通过 result. officeTime获取合作方地点详情营业时间。

8)通过 result. type获取合作方地点详情类别, hotel:酒店、cater:美食、scenery:景点 parking:停车场。

9)通过 result. rinfo获取合作方地点详情简介I。

10)通过 result. rImageUrl获取合作方地点详情封面图。

11)通过 result. facility获取合作方地点详情设施 仅酒店和美食有数据返回。

12)通过 result. recommend获取合作方地点详情推荐信息 type=scenery,返回购票须知 (仅景点有数据返回)。

13)通过 result. rImageUrls获取合作方地点详情图片集最多5个。

14)通过 result. extend获取合作方地点详情扩展信息, 仅当 exinfo =2 时,显示该字段,不同的poi类型,显示的内容不一样。

8. 处理失败查询

当检索失败时,Error 会返回,通过该回调函数获取产生的失败的原因。

返回顶部