AMapSearchObj.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. //
  2. // AMapSearchObj.h
  3. // AMapSearchKit
  4. //
  5. // Created by xiaoming han on 15/7/22.
  6. // Copyright (c) 2015年 AutoNavi. All rights reserved.
  7. //
  8. /**
  9. * 该文件定义了搜索请求和返回对象。
  10. */
  11. #import <Foundation/Foundation.h>
  12. #import "AMapCommonObj.h"
  13. #pragma mark - AMapPOISearchBaseRequest
  14. /// POI搜索请求基类
  15. @interface AMapPOISearchBaseRequest : AMapSearchObject
  16. @property (nonatomic, copy) NSString *types; //!< 类型,多个类型用“|”分割 可选值:文本分类、分类代码
  17. @property (nonatomic, assign) NSInteger sortrule; //<! 排序规则, 0-距离排序;1-综合排序, 默认0
  18. @property (nonatomic, assign) NSInteger offset; //<! 每页记录数, 范围1-50, [default = 20]
  19. @property (nonatomic, assign) NSInteger page; //<! 当前页数, 范围1-100, [default = 1]
  20. @property (nonatomic, assign) BOOL requireExtension; //<! 是否返回扩展信息,默认为 NO。
  21. @end
  22. /// POI ID搜索请求
  23. @interface AMapPOIIDSearchRequest : AMapPOISearchBaseRequest
  24. @property (nonatomic, copy) NSString *uid; //<! POI全局唯一ID
  25. @end
  26. /// POI关键字搜索
  27. @interface AMapPOIKeywordsSearchRequest : AMapPOISearchBaseRequest
  28. @property (nonatomic, copy) NSString *keywords; //<! 查询关键字,多个关键字用“|”分割
  29. @property (nonatomic, copy) NSString *city; //!< 查询城市,可选值:cityname(中文或中文全拼)、citycode、adcode.
  30. @end
  31. /// POI周边搜索
  32. @interface AMapPOIAroundSearchRequest : AMapPOISearchBaseRequest
  33. @property (nonatomic, copy) NSString *keywords; //<! 查询关键字,多个关键字用“|”分割
  34. @property (nonatomic, copy) AMapGeoPoint *location; //<! 中心点坐标
  35. @property (nonatomic, assign) NSInteger radius; //<! 查询半径,范围:0-50000,单位:米 [default = 3000]
  36. @end
  37. /// POI多边形搜索
  38. @interface AMapPOIPolygonSearchRequest : AMapPOISearchBaseRequest
  39. @property (nonatomic, copy) NSString *keywords; //<! 查询关键字,多个关键字用“|”分割
  40. @property (nonatomic, copy) AMapGeoPolygon *polygon; //<! 多边形
  41. @end
  42. /// POI搜索返回
  43. @interface AMapPOISearchResponse : AMapSearchObject
  44. @property (nonatomic, assign) NSInteger count; //!< 返回的POI数目
  45. @property (nonatomic, strong) AMapSuggestion *suggestion; //!< 关键字建议列表和城市建议列表
  46. @property (nonatomic, strong) NSArray *pois; //!< POI结果,AMapPOI 数组
  47. @end
  48. #pragma mark - AMapInputTipsSearchRequest
  49. /// 搜索提示请求
  50. @interface AMapInputTipsSearchRequest : AMapSearchObject
  51. @property (nonatomic, copy) NSString *keywords; //!< 查询关键字
  52. @property (nonatomic, copy) NSString *city; //!< 查询城市,可选值:cityname(中文或中文全拼)、citycode、adcode.
  53. @end
  54. /// 搜索提示返回
  55. @interface AMapInputTipsSearchResponse : AMapSearchObject
  56. @property (nonatomic, assign) NSInteger count; //!< 返回数目
  57. @property (nonatomic, strong) NSArray *tips; //!< 提示列表 AMapTip 数组
  58. @end
  59. #pragma mark - AMapGeocodeSearchRequest
  60. /// 地理编码请求
  61. @interface AMapGeocodeSearchRequest : AMapSearchObject
  62. @property (nonatomic, copy) NSString *address; //!< 地址
  63. @property (nonatomic, copy) NSString *city; //!< 查询城市,可选值:cityname(中文或中文全拼)、citycode、adcode.
  64. @end
  65. /// 地理编码请求
  66. @interface AMapGeocodeSearchResponse : AMapSearchObject
  67. @property (nonatomic, assign) NSInteger count; //!< 返回数目
  68. @property (nonatomic, strong) NSArray *geocodes; //!< 地理编码结果 AMapGeocode 数组
  69. @end
  70. #pragma mark - AMapReGeocodeSearchRequest
  71. /// 逆地理编码请求
  72. @interface AMapReGeocodeSearchRequest : AMapSearchObject
  73. @property (nonatomic, assign) BOOL requireExtension; //!< 是否返回扩展信息,默认NO。
  74. @property (nonatomic, copy) AMapGeoPoint *location; //!< 中心点坐标。
  75. @property (nonatomic, assign) NSInteger radius; //!< 查询半径,单位米,范围0~3000,默认1000。
  76. @end
  77. /// 逆地理编码返回
  78. @interface AMapReGeocodeSearchResponse : AMapSearchObject
  79. @property (nonatomic, strong) AMapReGeocode *regeocode; //!< 逆地理编码结果
  80. @end
  81. #pragma mark - AMapBusStopSearchRequest
  82. /// 公交站点请求
  83. @interface AMapBusStopSearchRequest : AMapSearchObject
  84. @property (nonatomic, copy) NSString *keywords; //!< 查询关键字
  85. @property (nonatomic, copy) NSString *city; //!< 城市 可选值:cityname(中文或中文全拼)、citycode、adcode
  86. @property (nonatomic, assign) NSInteger offset; //!< 每页记录数,默认为20,取值为:1-50
  87. @property (nonatomic, assign) NSInteger page; //!< 当前页数,默认值为1,取值为:1-100
  88. @end
  89. /// 公交站点返回
  90. @interface AMapBusStopSearchResponse : AMapSearchObject
  91. @property (nonatomic, assign) NSInteger count; //!< 公交站数目
  92. @property (nonatomic, strong) AMapSuggestion *suggestion; //!< 关键字建议列表和城市建议列表
  93. @property (nonatomic, strong) NSArray *busstops; //!< 公交站点数组,数组中存放AMapBusStop对象
  94. @end
  95. #pragma mark - AMapBusLineSearchRequest
  96. /// 公交线路查询请求基类,不可直接调用
  97. @interface AMapBusLineBaseSearchRequest : AMapSearchObject
  98. @property (nonatomic, copy) NSString *city; //!< 城市 可选值:cityname(中文或中文全拼)、citycode、adcode
  99. @property (nonatomic, assign) BOOL requireExtension; //!< 是否返回扩展信息,默认为NO
  100. @property (nonatomic, assign) NSInteger offset; //!< 每页记录数,默认为20,取值为1-50
  101. @property (nonatomic, assign) NSInteger page; //!< 当前页数,默认为1,取值为1-100
  102. @end
  103. /// 公交站线路根据名字请求
  104. @interface AMapBusLineNameSearchRequest : AMapBusLineBaseSearchRequest
  105. @property (nonatomic, copy) NSString *keywords; //!< 查询关键字
  106. @end
  107. /// 公交站线路根据ID请求
  108. @interface AMapBusLineIDSearchRequest : AMapBusLineBaseSearchRequest
  109. @property (nonatomic, copy) NSString *uid;
  110. @end
  111. /// 公交站线路返回
  112. @interface AMapBusLineSearchResponse : AMapSearchObject
  113. @property (nonatomic, assign) NSInteger count; //!< 返回公交站数目
  114. @property (nonatomic, strong) AMapSuggestion *suggestion; //!< 关键字建议列表和城市建议列表
  115. @property (nonatomic, strong) NSArray *buslines; //!< 公交线路数组,数组中存放 AMapBusLine 对象
  116. @end
  117. #pragma mark - AMapDistrictSearchRequest
  118. @interface AMapDistrictSearchRequest : AMapSearchObject
  119. @property (nonatomic, copy) NSString *keywords; //!< 查询关键字,只支持单关键字搜索,全国范围
  120. @property (nonatomic, assign) BOOL requireExtension; //!< 是否返回边界坐标,默认为NO
  121. @end
  122. @interface AMapDistrictSearchResponse : AMapSearchObject
  123. @property (nonatomic, assign) NSInteger count; //!< 返回数目
  124. @property (nonatomic, strong) NSArray *districts; //!< 行政区域 AMapDistrict 数组
  125. @end
  126. #pragma mark - AMapRouteSearchBaseRequest
  127. /// 路径规划基础类,不可直接调用
  128. @interface AMapRouteSearchBaseRequest : AMapSearchObject
  129. @property (nonatomic, copy) AMapGeoPoint *origin; //!< 出发点
  130. @property (nonatomic, copy) AMapGeoPoint *destination; //!< 目的地
  131. @end
  132. #pragma mark - AMapDrivingRouteSearchRequest
  133. /// 驾车路径规划
  134. @interface AMapDrivingRouteSearchRequest : AMapRouteSearchBaseRequest
  135. /// 驾车导航策略:0-速度优先(时间);1-费用优先(不走收费路段的最快道路);2-距离优先;3-不走快速路;4-结合实时交通(躲避拥堵);5-多策略(同时使用速度优先、费用优先、距离优先三个策略);6-不走高速;7-不走高速且避免收费;8-躲避收费和拥堵;9-不走高速且躲避收费和拥堵
  136. @property (nonatomic, assign) NSInteger strategy; //!< 驾车导航策略([default = 0])
  137. @property (nonatomic, copy) NSArray *waypoints; //!< 途经点 AMapGeoPoint 数组
  138. @property (nonatomic, copy) NSArray *avoidpolygons; //!< 避让区域 AMapGeoPolygon 数组
  139. @property (nonatomic, copy) NSString *avoidroad; //!< 避让道路名
  140. @property (nonatomic, copy) NSString *originId; //!< 出发点 POI ID
  141. @property (nonatomic, copy) NSString *destinationId; //!< 目的地 POI ID
  142. @property (nonatomic, assign) BOOL requireExtension; //!< 是否返回扩展信息,默认为 NO
  143. @end
  144. #pragma mark - AMapWalkingRouteSearchRequest
  145. /// 步行路径规划
  146. @interface AMapWalkingRouteSearchRequest : AMapRouteSearchBaseRequest
  147. /// 是否提供备选步行方案: 0-只提供一条步行方案; 1-提供备选步行方案(有可能无备选方案)
  148. @property (nonatomic, assign) NSInteger multipath; //!< 是否提供备选步行方案([default = 0])
  149. @end
  150. #pragma mark - AMapTransitRouteSearchRequest
  151. /// 公交路径规划
  152. @interface AMapTransitRouteSearchRequest : AMapRouteSearchBaseRequest
  153. /// 公交换乘策略:0-最快捷模式;1-最经济模式;2-最少换乘模式;3-最少步行模式;4-最舒适模式;5-不乘地铁模式
  154. @property (nonatomic, assign) NSInteger strategy; //!< 公交换乘策略([default = 0])
  155. @property (nonatomic, copy) NSString *city; //!< 城市
  156. @property (nonatomic, assign) BOOL nightflag; //!< 是否包含夜班车,默认为 NO
  157. @property (nonatomic, assign) BOOL requireExtension; //!< 是否返回扩展信息,默认为 NO
  158. @end
  159. #pragma mark - AMapRouteSearchResponse
  160. /// 路径规划返回
  161. @interface AMapRouteSearchResponse : AMapSearchObject
  162. @property (nonatomic, assign) NSInteger count; //!< 路径规划信息数目
  163. @property (nonatomic, strong) AMapRoute *route; //!< 路径规划信息
  164. @end
  165. #pragma mark - AMapWeatherSearchWeather
  166. /// 天气查询类型
  167. typedef NS_ENUM(NSInteger, AMapWeatherType)
  168. {
  169. AMapWeatherTypeLive = 1, //<! 实时
  170. AMapWeatherTypeForecast //<! 预报
  171. };
  172. /// 天气查询请求
  173. @interface AMapWeatherSearchRequest : AMapSearchObject
  174. @property (nonatomic, copy) NSString *city; //!< 城市名称,支持cityname及adcode
  175. @property (nonatomic, assign) AMapWeatherType type; //!< 气象类型,Live为实时天气,Forecast为后三天预报天气,默认为Live
  176. @end
  177. /// 天气查询返回
  178. @interface AMapWeatherSearchResponse : AMapSearchObject
  179. @property (nonatomic, strong) NSArray *lives; //!< 实时天气数据信息 AMapLocalWeatherLive 数组,仅在请求实时天气时有返回。
  180. @property (nonatomic, strong) NSArray *forecasts; //!< 预报天气数据信息 AMapLocalWeatherForecast 数组,仅在请求预报天气时有返回。
  181. @end
  182. #pragma mark - AMapNearbySearchRequest
  183. /// 附近搜索距离类型
  184. typedef NS_ENUM(NSInteger, AMapNearbySearchType)
  185. {
  186. AMapNearbySearchTypeLiner = 0, //!< 直线距离
  187. AMapNearbySearchTypeDriving = 1, //!< 驾车行驶距离
  188. };
  189. /// 附近搜索请求
  190. @interface AMapNearbySearchRequest : AMapSearchObject
  191. @property (nonatomic, copy) AMapGeoPoint *center; //<! 中心点坐标
  192. @property (nonatomic, assign) NSInteger radius; //<! 查询半径,范围:[0, 10000],单位:米 [default = 1000]
  193. @property (nonatomic, assign) AMapNearbySearchType searchType; //<! 搜索距离类型,默认为直线距离
  194. @property (nonatomic, assign) NSInteger timeRange; //<! 检索时间范围,超过24小时的数据无法返回,范围[5, 24*60*60] 单位:秒 [default = 1800]
  195. @property (nonatomic, assign) NSInteger limit; //<! 返回条数,范围[1, 100], 默认30
  196. @end
  197. /// 附近搜索返回
  198. @interface AMapNearbySearchResponse : AMapSearchObject
  199. @property (nonatomic, assign) NSInteger count; //!< 结果总条数
  200. @property (nonatomic, strong) NSArray *infos; //!< 周边用户信息 AMapNearbyUserInfo 数组
  201. @end