AMapSearchAPI.h 13 KB

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