|
//
// *** * * * * * *
// * * * * *
// * * * * * * *
// * * * *
// *** * * * * *
//
// IPUBMapSearchService.h
// IPUBaiDuMap
// Created by Benny (AsiaInfo PRD IPU) on 2019/12/23 16:56.
// Copyright © 2019 黄玉林. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <IPUFoundation/IPUFoundation.h>
#import <CoreLocation/CoreLocation.h>
@interface IPUBMapSearchService : NSObject
/// 逆地理编码
/// @param coordinate 经纬度坐标
/// @param completion <#completion description#>
- (void)reverseGeoCode:(CLLocationCoordinate2D)coordinate completion:(IPUExcuteCompletion)completion;
/// POI城市检索
/// @param keyword 检索关键字,必选。举例:天安门
/// @param tags 检索分类,与keyword字段组合进行检索,多个分类以","分隔。举例:美食,酒店
/// @param city 区域名称(市或区的名字,如北京市,海淀区)或区域编码,必选
/// @param isCityLimit 区域数据返回限制,可选,为true时,仅返回city对应区域内数据
/// @param scope 检索结果详细程度,1:Basic, 2:Detail
/// @param filter 检索过滤条件, scope为2时生效。
/**
@{
@"industryType" : @"1(宾馆)、2(餐饮)、3(生活娱乐)" ,
@"sortBasis" : @"参考百度地图api枚举值:BMKPOISortBasisType",
@"sortRule" : @"0(降序)、1(升序)",
@"isGroupon" : @"0(无团购)、1(有团购)",
@"isDiscount" : @"0(无折扣)、1(有折扣)"
}
*/
/// @param pageIndex 分页页码,默认为0,0代表第一页,1代表第二页,以此类推
/// @param pageSize 单次召回POI数量,默认为10条记录,最大返回20条。
/// @param completion <#completion description#>
- (void)searchDataForCity:(NSString *)keyword
tags:(NSArray <NSString *> *)tags
city:(NSString *)city
isCityLimit:(BOOL)isCityLimit
scope:(NSInteger)scope
filter:(NSDictionary *)filter
pageIndex:(NSInteger)pageIndex
pageSize:(NSInteger)pageSize
completion:(IPUExcuteCompletion)completion;
/// POI周边检索
/// @param keywords 检索关键字,必选。在周边检索中关键字为数组类型,可以支持多个关键字并集检索,如银行和酒店。每个关键字对应数组一个元素。最多支持10个关键字。
/// @param tags 检索分类,可选。该字段与keywords字段组合进行检索。支持多个分类,如美食和酒店。每个分类对应数组中一个元素
/// @param location 检索中心点的经纬度,必选
/// @param radius 检索半径,可选,单位是米。当半径过大,超过中心点所在城市边界时,会变为城市范围检索,检索范围为中心点所在城市
/// @param isRadiusLimit 是否严格限定召回结果在设置检索半径范围内。默认值为false。值为true代表检索结果严格限定在半径范围内;值为false时不严格限定。注意:值为true时会影响返回结果中total准确性及每页召回poi数量,我们会逐步解决此类问题。
/// @param scope <#scope description#>
/// @param filter <#filter description#>
/// @param pageIndex <#pageIndex description#>
/// @param pageSize <#pageSize description#>
/// @param completion <#completion description#>
- (void)searchDataForNearby:(NSArray <NSString *> *)keywords
tags:(NSArray <NSString *> *)tags
location:(CLLocationCoordinate2D)location
radius:(CGFloat)radius
isRadiusLimit:(BOOL)isRadiusLimit
scope:(NSInteger)scope
filter:(NSDictionary *)filter
pageIndex:(NSInteger)pageIndex
pageSize:(NSInteger)pageSize
completion:(IPUExcuteCompletion)completion;
/// POI矩形区域检索
/// @param keywords <#keywords description#>
/// @param tags <#tags description#>
/// @param leftBottom 矩形检索区域的左下角经纬度坐标,必选
/// @param rightTop 矩形检索区域的右上角经纬度坐标,必选
/// @param scope <#scope description#>
/// @param filter <#filter description#>
/// @param pageIndex <#pageIndex description#>
/// @param pageSize <#pageSize description#>
/// @param completion <#completion description#>
- (void)searchDataForBound:(NSArray <NSString *> *)keywords
tags:(NSArray <NSString *> *)tags
leftBottom:(CLLocationCoordinate2D)leftBottom
rightTop:(CLLocationCoordinate2D)rightTop
scope:(NSInteger)scope
filter:(NSDictionary *)filter
pageIndex:(NSInteger)pageIndex
pageSize:(NSInteger)pageSize
completion:(IPUExcuteCompletion)completion;
/// 本地云检索
/// @param region 区域名称(市或区的名字,如北京市,海淀区),必选, 必须最长25个字符
/// @param keyword <#keyword description#>
/// @param tags <#tags description#>
/// @param sortby 排序字段,可选: sortby={keyname}:1 升序;sortby={keyname}:-1 降序
/**
* 排序字段,可选: sortby={keyname}:1 升序;sortby={keyname}:-1 降序。
* 以下keyname为系统预定义的:
* 1.distance 距离排序
* 2.weight 权重排序
* 默认为按weight排序
* 如果需要自定义排序则指定排序字段
* 样例:按照价格由便宜到贵排序sortby=price:1
*/
/// @param filter 过滤条件,可选:'|'竖线分隔的多个key-value对,price:9.99,19.99|time:2012,2012
/**
* 过滤条件,可选
* '|'竖线分隔的多个key-value对
* key为筛选字段的名称(存储服务中定义)
* value可以是整形或者浮点数的一个区间:格式为“small,big”逗号分隔的2个数字
* 样例:筛选价格为9.99到19.99并且生产时间为2013年的项:price:9.99,19.99|time:2012,2012
*/
/// @param pageIndex <#pageIndex description#>
/// @param pageSize <#pageSize description#>
/// @param ak access_key(必须),最大长度50
/// @param sn 用户的权限签名,(可选),最大长度50
/// @param geoTableId geo table 表主键(必须)
/// @param completion <#completion description#>
- (void)searchDataForCloundLocal:(NSString *)region
keyword:(NSString *)keyword
tags:(NSString *)tags
sortby:(NSString *)sortby
filter:(NSString *)filter
pageIndex:(NSInteger)pageIndex
pageSize:(NSInteger)pageSize
ak:(NSString *)ak
sn:(NSString *)sn
geoTableId:(int)geoTableId
completion:(IPUExcuteCompletion)completion;
/// 周边云检索
/// @param location 检索的中心点,逗号分隔的经纬度(116.4321,38.76623),string(25)
/// @param radius 周边检索半径
/// @param keyword <#keyword description#>
/// @param tags <#tags description#>
/// @param sortby <#sortby description#>
/// @param filter <#filter description#>
/// @param pageIndex <#pageIndex description#>
/// @param pageSize <#pageSize description#>
/// @param ak <#ak description#>
/// @param sn <#sn description#>
/// @param geoTableId <#geoTableId description#>
/// @param completion <#completion description#>
- (void)searchDataForCloundNearby:(NSString *)location
radius:(int)radius
keyword:(NSString *)keyword
tags:(NSString *)tags
sortby:(NSString *)sortby
filter:(NSString *)filter
pageIndex:(NSInteger)pageIndex
pageSize:(NSInteger)pageSize
ak:(NSString *)ak
sn:(NSString *)sn
geoTableId:(int)geoTableId
completion:(IPUExcuteCompletion)completion;
/// 矩形云检索
/// @param bounds 矩形区域,左下角和右上角的经纬度坐标点。2个点用;号分隔(116.30,36.20;117.30,37.20),string(25)
/// @param keyword <#keyword description#>
/// @param tags <#tags description#>
/// @param sortby <#sortby description#>
/// @param filter <#filter description#>
/// @param pageIndex <#pageIndex description#>
/// @param pageSize <#pageSize description#>
/// @param ak <#ak description#>
/// @param sn <#sn description#>
/// @param geoTableId <#geoTableId description#>
/// @param completion <#completion description#>
- (void)searchDataForCloundBound:(NSString *)bounds
keyword:(NSString *)keyword
tags:(NSString *)tags
sortby:(NSString *)sortby
filter:(NSString *)filter
pageIndex:(NSInteger)pageIndex
pageSize:(NSInteger)pageSize
ak:(NSString *)ak
sn:(NSString *)sn
geoTableId:(int)geoTableId
completion:(IPUExcuteCompletion)completion;
@end
|