AMapSearchAPI.h 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. //
  2. // AMapSearchAPI.h
  3. // AMapSearchKit
  4. //
  5. // Created by xiaoming han on 15/7/22.
  6. // Copyright (c) 2015年 Amap. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "AMapSearchObj.h"
  10. #import "AMapCommonObj.h"
  11. @protocol AMapSearchDelegate;
  12. ///搜索结果语言
  13. typedef NS_ENUM(NSInteger, AMapSearchLanguage)
  14. {
  15. AMapSearchLanguageZhCN = 0, ///< 中文
  16. AMapSearchLanguageEn = 1 ///< 英文
  17. };
  18. ///搜索类
  19. @interface AMapSearchAPI : NSObject
  20. ///实现了 AMapSearchDelegate 协议的类指针。
  21. @property (nonatomic, weak) id<AMapSearchDelegate> delegate;
  22. ///查询超时时间,单位秒,默认为20秒。
  23. @property (nonatomic, assign) NSInteger timeout;
  24. ///查询结果返回语言, 默认为中文。
  25. @property (nonatomic, assign) AMapSearchLanguage language;
  26. /**
  27. * @brief AMapSearch的初始化函数。
  28. * 初始化之前请正确设置key,否则将无法正常使用搜索服务.
  29. * @return AMapSearch类对象实例
  30. */
  31. - (instancetype)init;
  32. /**
  33. * @brief 取消所有未回调的请求,触发错误回调。
  34. */
  35. - (void)cancelAllRequests;
  36. #pragma mark - 搜索服务接口
  37. /**
  38. * @brief POI ID查询接口
  39. * @param request 查询选项。具体属性字段请参考 AMapPOIIDSearchRequest 类。
  40. */
  41. - (void)AMapPOIIDSearch:(AMapPOIIDSearchRequest *)request;
  42. /**
  43. * @brief POI 关键字查询接口
  44. * @param request 查询选项。具体属性字段请参考 AMapPOIKeywordsSearchRequest 类。
  45. */
  46. - (void)AMapPOIKeywordsSearch:(AMapPOIKeywordsSearchRequest *)request;
  47. /**
  48. * @brief POI 周边查询接口
  49. * @param request 查询选项。具体属性字段请参考 AMapPOIAroundSearchRequest 类。
  50. */
  51. - (void)AMapPOIAroundSearch:(AMapPOIAroundSearchRequest *)request;
  52. /**
  53. * @brief POI 多边形查询接口
  54. * @param request 查询选项。具体属性字段请参考 AMapPOIPolygonSearchRequest 类。
  55. */
  56. - (void)AMapPOIPolygonSearch:(AMapPOIPolygonSearchRequest *)request;
  57. /**
  58. * @brief 沿途查询接口 (v4.3.0)
  59. * @param request 查询选项。具体属性字段请参考 AMapRoutePOISearchRequest 类。
  60. */
  61. - (void)AMapRoutePOISearch:(AMapRoutePOISearchRequest *)request;
  62. /**
  63. * @brief 地址编码查询接口
  64. * @param request 查询选项。具体属性字段请参考 AMapGeocodeSearchRequest 类。
  65. */
  66. - (void)AMapGeocodeSearch:(AMapGeocodeSearchRequest *)request;
  67. /**
  68. * @brief 逆地址编码查询接口
  69. * @param request 查询选项。具体属性字段请参考 AMapReGeocodeSearchRequest 类。
  70. */
  71. - (void)AMapReGoecodeSearch:(AMapReGeocodeSearchRequest *)request;
  72. /**
  73. * @brief 输入提示查询接口
  74. * @param request 查询选项。具体属性字段请参考 AMapInputTipsSearchRequest 类。
  75. */
  76. - (void)AMapInputTipsSearch:(AMapInputTipsSearchRequest *)request;
  77. /**
  78. * @brief 公交站点查询接口
  79. * @param request 查询选项。具体属性字段请参考 AMapBusStopSearchRequest 类。
  80. */
  81. - (void)AMapBusStopSearch:(AMapBusStopSearchRequest *)request;
  82. /**
  83. * @brief 公交线路关键字查询
  84. * @param request 查询选项。具体属性字段请参考 AMapBusLineIDSearchRequest 类。
  85. */
  86. - (void)AMapBusLineIDSearch:(AMapBusLineIDSearchRequest *)request;
  87. /**
  88. * @brief 公交线路关键字查询
  89. * @param request 查询选项。具体属性字段请参考 AMapBusLineNameSearchRequest 类。
  90. */
  91. - (void)AMapBusLineNameSearch:(AMapBusLineNameSearchRequest *)request;
  92. /**
  93. * @brief 行政区域查询接口
  94. * @param request 查询选项。具体属性字段请参考 AMapDistrictSearchRequest 类。
  95. */
  96. - (void)AMapDistrictSearch:(AMapDistrictSearchRequest *)request;
  97. /**
  98. * @brief 驾车路径规划查询接口
  99. * @param request 查询选项。具体属性字段请参考 AMapDrivingRouteSearchRequest 类。
  100. */
  101. - (void)AMapDrivingRouteSearch:(AMapDrivingRouteSearchRequest *)request;
  102. /**
  103. * @brief 步行路径规划查询接口
  104. * @param request 查询选项。具体属性字段请参考 AMapWalkingRouteSearchRequest 类。
  105. */
  106. - (void)AMapWalkingRouteSearch:(AMapWalkingRouteSearchRequest *)request;
  107. /**
  108. * @brief 公交路径规划查询接口
  109. * @param request 查询选项。具体属性字段请参考 AMapTransitRouteSearchRequest 类。
  110. */
  111. - (void)AMapTransitRouteSearch:(AMapTransitRouteSearchRequest *)request;
  112. /**
  113. * @brief 骑行路径规划查询接口 (since 4.3.0)
  114. * @param request 查询选项。具体属性字段请参考 AMapRidingRouteSearchRequest 类。
  115. */
  116. - (void)AMapRidingRouteSearch:(AMapRidingRouteSearchRequest *)request;
  117. /**
  118. * @brief 货车路径规划查询接口 (since 6.1.0)
  119. * @param request 查询选项。具体属性字段请参考 AMapTruckRouteSearchRequest 类。
  120. */
  121. - (void)AMapTruckRouteSearch:(AMapTruckRouteSearchRequest *)request;
  122. /**
  123. * @brief 未来路线规划查询接口 (since 6.9.0)
  124. * @param request 查询选项。具体属性字段请参考 AMapTruckRouteSearchRequest 类。
  125. */
  126. - (void)AMapFutureRouteSearch:(AMapFutureRouteSearchRequest *)request;
  127. /**
  128. * @brief 天气查询接口
  129. * @param request 查询选项。具体属性字段请参考 AMapWeatherSearchRequest 类。
  130. */
  131. - (void)AMapWeatherSearch:(AMapWeatherSearchRequest *)request;
  132. /**
  133. * @brief 查询指定道路的实时路况 since 5.1.0
  134. * @param request 查询选项。具体属性字段请参考 AMapRoadTrafficSearchRequest 类。
  135. */
  136. - (void)AMapRoadTrafficSearch:(AMapRoadTrafficSearchRequest *)request;
  137. /**
  138. * @brief 查询圆形区域内道路的实时路况 since 5.5.0
  139. * @param request 查询选项。具体属性字段请参考 AMapRoadTrafficSearchRequest 类。
  140. */
  141. - (void)AMapRoadTrafficCircleSearch:(AMapRoadTrafficCircleSearchRequest *)request;
  142. /**
  143. * @brief 距离查询(since 6.1.0)
  144. * @param request 查询选项。具体属性字段请参考 AMapDistanceSearchRequest 类。
  145. */
  146. - (void)AMapDistanceSearch:(AMapDistanceSearchRequest *)request;
  147. #pragma mark - 附近搜索相关
  148. /**
  149. * @brief 附近搜索查询接口
  150. * @param request 查询选项。具体属性字段请参考 AMapNearbySearchRequest 类。
  151. */
  152. - (void)AMapNearbySearch:(AMapNearbySearchRequest *)request;
  153. #pragma mark - 云图搜索相关
  154. /**
  155. * @brief 云图周边查询接口
  156. * @param request 查询选项。具体属性字段请参考 AMapCloudPOIAroundSearchRequest 类。
  157. */
  158. - (void)AMapCloudPOIAroundSearch:(AMapCloudPOIAroundSearchRequest *)request;
  159. /**
  160. * @brief 云图polygon区域查询接口
  161. * @param request 查询选项。具体属性字段请参考 AMapCloudPOIPolygonSearchRequest 类。
  162. */
  163. - (void)AMapCloudPOIPolygonSearch:(AMapCloudPOIPolygonSearchRequest *)request;
  164. /**
  165. * @brief 云图ID查询接口
  166. * @param request 查询选项。具体属性字段请参考 AMapCloudPOIIDSearchRequest 类。
  167. */
  168. - (void)AMapCloudPOIIDSearch:(AMapCloudPOIIDSearchRequest *)request;
  169. /**
  170. * @brief 云图本地查询接口
  171. * @param request 查询选项。具体属性字段请参考 AMapCloudPOILocalSearchRequest 类。
  172. */
  173. - (void)AMapCloudPOILocalSearch:(AMapCloudPOILocalSearchRequest *)request;
  174. #pragma mark - 短串分享相关
  175. /**
  176. * @brief 位置短串分享接口
  177. * @param request 查询选项。具体属性字段请参考 AMapLocationShareSearchRequest 类。
  178. */
  179. - (void)AMapLocationShareSearch:(AMapLocationShareSearchRequest *)request;
  180. /**
  181. * @brief 兴趣点短串分享接口
  182. * @param request 查询选项。具体属性字段请参考 AMapPOIShareSearchRequest 类。
  183. */
  184. - (void)AMapPOIShareSearch:(AMapPOIShareSearchRequest *)request;
  185. /**
  186. * @brief 路线规划短串分享接口
  187. * @param request 查询选项。具体属性字段请参考 AMapRouteShareSearchRequest 类。
  188. */
  189. - (void)AMapRouteShareSearch:(AMapRouteShareSearchRequest *)request;
  190. /**
  191. * @brief 导航短串分享接口
  192. * @param request 查询选项。具体属性字段请参考 AMapNavigationShareSearchRequest 类。
  193. */
  194. - (void)AMapNavigationShareSearch:(AMapNavigationShareSearchRequest *)request;
  195. @end
  196. #pragma mark - AMapSearchDelegate
  197. ///AMapSearchDelegate协议, 定义了搜索结果的回调方法,发生错误时的错误回调方法。
  198. @protocol AMapSearchDelegate<NSObject>
  199. @optional
  200. /**
  201. * @brief 当请求发生错误时,会调用代理的此方法.
  202. * @param request 发生错误的请求.
  203. * @param error 返回的错误.
  204. */
  205. - (void)AMapSearchRequest:(id)request didFailWithError:(NSError *)error;
  206. /**
  207. * @brief POI查询回调函数
  208. * @param request 发起的请求,具体字段参考 AMapPOISearchBaseRequest 及其子类。
  209. * @param response 响应结果,具体字段参考 AMapPOISearchResponse 。
  210. */
  211. - (void)onPOISearchDone:(AMapPOISearchBaseRequest *)request response:(AMapPOISearchResponse *)response;
  212. /**
  213. * @brief 沿途查询回调函数 (since v4.3.0)
  214. * @param request 发起的请求,具体字段参考 AMapRoutePOISearchRequest 及其子类。
  215. * @param response 响应结果,具体字段参考 AMapRoutePOISearchResponse 。
  216. */
  217. - (void)onRoutePOISearchDone:(AMapRoutePOISearchRequest *)request response:(AMapRoutePOISearchResponse *)response;
  218. /**
  219. * @brief 地理编码查询回调函数
  220. * @param request 发起的请求,具体字段参考 AMapGeocodeSearchRequest 。
  221. * @param response 响应结果,具体字段参考 AMapGeocodeSearchResponse 。
  222. */
  223. - (void)onGeocodeSearchDone:(AMapGeocodeSearchRequest *)request response:(AMapGeocodeSearchResponse *)response;
  224. /**
  225. * @brief 逆地理编码查询回调函数
  226. * @param request 发起的请求,具体字段参考 AMapReGeocodeSearchRequest 。
  227. * @param response 响应结果,具体字段参考 AMapReGeocodeSearchResponse 。
  228. */
  229. - (void)onReGeocodeSearchDone:(AMapReGeocodeSearchRequest *)request response:(AMapReGeocodeSearchResponse *)response;
  230. /**
  231. * @brief 输入提示查询回调函数
  232. * @param request 发起的请求,具体字段参考 AMapInputTipsSearchRequest 。
  233. * @param response 响应结果,具体字段参考 AMapInputTipsSearchResponse 。
  234. */
  235. - (void)onInputTipsSearchDone:(AMapInputTipsSearchRequest *)request response:(AMapInputTipsSearchResponse *)response;
  236. /**
  237. * @brief 公交站查询回调函数
  238. * @param request 发起的请求,具体字段参考 AMapBusStopSearchRequest 。
  239. * @param response 响应结果,具体字段参考 AMapBusStopSearchResponse 。
  240. */
  241. - (void)onBusStopSearchDone:(AMapBusStopSearchRequest *)request response:(AMapBusStopSearchResponse *)response;
  242. /**
  243. * @brief 公交线路关键字查询回调
  244. * @param request 发起的请求,具体字段参考 AMapBusLineSearchRequest 。
  245. * @param response 响应结果,具体字段参考 AMapBusLineSearchResponse 。
  246. */
  247. - (void)onBusLineSearchDone:(AMapBusLineBaseSearchRequest *)request response:(AMapBusLineSearchResponse *)response;
  248. /**
  249. * @brief 行政区域查询回调函数
  250. * @param request 发起的请求,具体字段参考 AMapDistrictSearchRequest 。
  251. * @param response 响应结果,具体字段参考 AMapDistrictSearchResponse 。
  252. */
  253. - (void)onDistrictSearchDone:(AMapDistrictSearchRequest *)request response:(AMapDistrictSearchResponse *)response;
  254. /**
  255. * @brief 路径规划查询回调
  256. * @param request 发起的请求,具体字段参考 AMapRouteSearchBaseRequest 及其子类。
  257. * @param response 响应结果,具体字段参考 AMapRouteSearchResponse 。
  258. */
  259. - (void)onRouteSearchDone:(AMapRouteSearchBaseRequest *)request response:(AMapRouteSearchResponse *)response;
  260. /**
  261. * @brief 未来路径规划查询回调 since 6.9.0
  262. * @param request 发起的请求,具体字段参考 AMapRouteSearchBaseRequest 及其子类。
  263. * @param response 响应结果,具体字段参考 AMapRouteSearchResponse 。
  264. */
  265. - (void)onFutureRouteSearchDone:(AMapRouteSearchBaseRequest *)request response:(AMapFutureRouteSearchResponse *)response;
  266. /**
  267. * @brief 距离查询回调
  268. * @param request 发起的请求,具体字段参考 AMapDistanceSearchRequest 及其子类。
  269. * @param response 响应结果,具体字段参考 AMapDistanceSearchResponse 。
  270. */
  271. - (void)onDistanceSearchDone:(AMapDistanceSearchRequest *)request response:(AMapDistanceSearchResponse *)response;
  272. /**
  273. * @brief 天气查询回调
  274. * @param request 发起的请求,具体字段参考 AMapWeatherSearchRequest 。
  275. * @param response 响应结果,具体字段参考 AMapWeatherSearchResponse 。
  276. */
  277. - (void)onWeatherSearchDone:(AMapWeatherSearchRequest *)request response:(AMapWeatherSearchResponse *)response;
  278. /**
  279. * @brief 道路路况查询回调 since 5.1.0
  280. * @param request 发起的请求,具体字段参考 AMapRoadTrafficSearchBaseRequest 及其子类 。
  281. * @param response 响应结果,具体字段参考 AMapRoadTrafficSearchResponse 。
  282. */
  283. - (void)onRoadTrafficSearchDone:(AMapRoadTrafficSearchBaseRequest *)request response:(AMapRoadTrafficSearchResponse *)response;
  284. #pragma mark - 附近搜索回调
  285. /**
  286. * @brief 附近搜索回调
  287. * @param request 发起的请求,具体字段参考 AMapNearbySearchRequest 。
  288. * @param response 响应结果,具体字段参考 AMapNearbySearchResponse 。
  289. */
  290. - (void)onNearbySearchDone:(AMapNearbySearchRequest *)request response:(AMapNearbySearchResponse *)response;
  291. #pragma mark - 云图搜索回调
  292. /**
  293. * @brief 云图查询回调函数
  294. * @param request 发起的请求,具体字段参考 AMapCloudSearchBaseRequest 。
  295. * @param response 响应结果,具体字段参考 AMapCloudPOISearchResponse 。
  296. */
  297. - (void)onCloudSearchDone:(AMapCloudSearchBaseRequest *)request response:(AMapCloudPOISearchResponse *)response;
  298. #pragma mark - 短串分享搜索回调
  299. /**
  300. * @brief 短串分享搜索回调
  301. * @param request 发起的请求
  302. * @param response 相应结果,具体字段参考 AMapShareSearchResponse。
  303. */
  304. - (void)onShareSearchDone:(AMapShareSearchBaseRequest *)request response:(AMapShareSearchResponse *)response;
  305. @end