AMapSearchObj.h 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757
  1. //
  2. // AMapSearchObj.h
  3. // AMapSearchKit
  4. //
  5. // Created by xiaoming han on 15/7/22.
  6. // Copyright (c) 2015年 Amap. All rights reserved.
  7. //
  8. /* 该文件定义了搜索请求和返回对象。*/
  9. #import <Foundation/Foundation.h>
  10. #import "AMapCommonObj.h"
  11. ///沿途搜索类型
  12. typedef NS_ENUM(NSInteger, AMapRoutePOISearchType)
  13. {
  14. AMapRoutePOISearchTypeGasStation = 0, ///< 加油站
  15. AMapRoutePOISearchTypeMaintenanceStation = 1, ///< 维修站
  16. AMapRoutePOISearchTypeATM = 2, ///< ATM
  17. AMapRoutePOISearchTypeToilet = 3, ///< 厕所
  18. AMapRoutePOISearchTypeGasAirStation = 4, ///< 加气站
  19. AMapRoutePOISearchTypeParkStation = 5, ///< 服务区
  20. };
  21. ///天气查询类型
  22. typedef NS_ENUM(NSInteger, AMapWeatherType)
  23. {
  24. AMapWeatherTypeLive = 1, ///< 实时
  25. AMapWeatherTypeForecast ///< 预报
  26. };
  27. ///企业地图搜索结果排序
  28. typedef NS_ENUM(NSInteger, AMapCloudSortType)
  29. {
  30. AMapCloudSortTypeDESC = 0, ///< 降序
  31. AMapCloudSortTypeASC = 1 ///< 升序
  32. };
  33. ///附近搜索距离类型
  34. typedef NS_ENUM(NSInteger, AMapNearbySearchType)
  35. {
  36. AMapNearbySearchTypeLiner = 0, ///< 直线距离
  37. AMapNearbySearchTypeDriving = 1, ///< 驾车行驶距离
  38. };
  39. ///货车类型
  40. typedef NS_ENUM(NSInteger, AMapTruckSizeType)
  41. {
  42. AMapTruckSizeTypeMini = 1, ///< 微型车
  43. AMapTruckSizeTypeLight = 2, ///< 轻型车
  44. AMapTruckSizeTypeMedium = 3, ///< 中型车
  45. AMapTruckSizeTypeHeavy = 4, ///< 重型车
  46. };
  47. ///规避道路类型
  48. typedef NS_ENUM(NSInteger, AMapDrivingRouteExcludeType)
  49. {
  50. AMapDrivingRouteExcludeTypeNone = 0, ///< 不规避
  51. AMapDrivingRouteExcludeTypeToll = 1, ///< 收费道路
  52. AMapDrivingRouteExcludeTypeMotorway = 2, ///< 高速路
  53. AMapDrivingRouteExcludeTypeFerry = 3, ///< 渡船
  54. };
  55. #pragma mark - AMapPOISearchBaseRequest
  56. ///POI搜索请求基类
  57. @interface AMapPOISearchBaseRequest : AMapSearchObject
  58. ///类型,多个类型用“|”分割 可选值:文本分类、分类代码
  59. @property (nonatomic, copy) NSString *types;
  60. ///排序规则, 0-距离排序;1-综合排序, 默认0
  61. @property (nonatomic, assign) NSInteger sortrule;
  62. ///每页记录数, 范围1-50, [default = 20]
  63. @property (nonatomic, assign) NSInteger offset;
  64. ///当前页数, 范围1-100, [default = 1]
  65. @property (nonatomic, assign) NSInteger page;
  66. ///建筑物POI编号,传入建筑物POI之后,则只在该建筑物之内进行搜索(since 4.5.0)
  67. @property (nonatomic, copy) NSString *building;
  68. ///是否返回扩展信息,默认为 NO。
  69. @property (nonatomic, assign) BOOL requireExtension;
  70. ///是否返回子POI,默认为 NO。
  71. @property (nonatomic, assign) BOOL requireSubPOIs;
  72. @end
  73. ///POI ID搜索请求
  74. @interface AMapPOIIDSearchRequest : AMapPOISearchBaseRequest
  75. ///POI全局唯一ID
  76. @property (nonatomic, copy) NSString *uid;
  77. @end
  78. ///POI关键字搜索
  79. @interface AMapPOIKeywordsSearchRequest : AMapPOISearchBaseRequest
  80. ///查询关键字,多个关键字用“|”分割
  81. @property (nonatomic, copy) NSString *keywords;
  82. ///查询城市,可选值:cityname(中文或中文全拼)、citycode、adcode.(注:台湾省的城市一律设置为【台湾】,不具体到市。)
  83. @property (nonatomic, copy) NSString *city;
  84. ///强制城市限制功能 默认NO,例如:在上海搜索天安门,如果citylimit为true,将不返回北京的天安门相关的POI
  85. @property (nonatomic, assign) BOOL cityLimit;
  86. ///设置后,如果sortrule==0,则返回结果会按照距离此点的远近来排序,since 5.2.1
  87. @property (nonatomic, strong) AMapGeoPoint *location;
  88. @end
  89. ///POI周边搜索
  90. @interface AMapPOIAroundSearchRequest : AMapPOISearchBaseRequest
  91. ///查询关键字,多个关键字用“|”分割
  92. @property (nonatomic, copy) NSString *keywords;
  93. ///中心点坐标
  94. @property (nonatomic, copy) AMapGeoPoint *location;
  95. ///查询半径,范围:0-50000,单位:米 [default = 3000]
  96. @property (nonatomic, assign) NSInteger radius;
  97. ///查询城市,可选值:cityname(中文或中文全拼)、citycode、adcode。注:当用户指定的经纬度和city出现冲突,若范围内有用户指定city的数据,则返回相关数据,否则返回为空。(since 5.7.0)
  98. @property (nonatomic, copy) NSString *city;
  99. ///是否对结果进行人工干预,如火车站,原因为poi较为特殊,结果存在人工干预,干预结果优先,所以距离优先的排序未生效,默认为YES (since 7.4.0)
  100. @property (nonatomic, assign) BOOL special;
  101. @end
  102. ///POI多边形搜索
  103. @interface AMapPOIPolygonSearchRequest : AMapPOISearchBaseRequest
  104. ///查询关键字,多个关键字用“|”分割
  105. @property (nonatomic, copy) NSString *keywords;
  106. ///多边形
  107. @property (nonatomic, copy) AMapGeoPolygon *polygon;
  108. @end
  109. ///POI搜索返回
  110. @interface AMapPOISearchResponse : AMapSearchObject
  111. ///返回的POI数目
  112. @property (nonatomic, assign) NSInteger count;
  113. ///关键字建议列表和城市建议列表
  114. @property (nonatomic, strong) AMapSuggestion *suggestion;
  115. ///POI结果,AMapPOI 数组
  116. @property (nonatomic, strong) NSArray<AMapPOI *> *pois;
  117. @end
  118. #pragma mark - AMapPOIRouteSearchRequest
  119. ///沿途搜索, 注意起点和终点不能相距太远(大概70公里),否则可能搜索结果为空
  120. @interface AMapRoutePOISearchRequest : AMapSearchObject
  121. ///中心点坐标
  122. @property (nonatomic, copy) AMapGeoPoint *origin;
  123. ///目标点坐标
  124. @property (nonatomic, copy) AMapGeoPoint *destination;
  125. ///搜索类型
  126. @property (nonatomic, assign) AMapRoutePOISearchType searchType;
  127. ///驾车导航策略,同驾车路径规划请求的策略(5 多策略除外)
  128. @property (nonatomic, assign) NSInteger strategy;
  129. ///道路周围搜索范围,单位米,[0-500],默认250。
  130. @property (nonatomic, assign) NSInteger range;
  131. ///用户自己规划的路线,在origine、destination未填入时为必填.格式为:"经度,维度;经度,维度;...". 目前限制个数最多为100个点
  132. @property (nonatomic, strong) NSString *polylineStr;
  133. ///用户自己规划的路线,在origine、destination未填入且polylineStr未填入时为必填. 目前限制个数最多为100个点
  134. @property (nonatomic, strong) NSArray<AMapGeoPoint*> *polyline;
  135. @end
  136. ///沿途搜索返回
  137. @interface AMapRoutePOISearchResponse : AMapSearchObject
  138. ///返回的POI数目
  139. @property (nonatomic, assign) NSInteger count;
  140. ///POI结果,AMapRoutePOI 数组
  141. @property (nonatomic, strong) NSArray<AMapRoutePOI *> *pois;
  142. @end
  143. #pragma mark - AMapInputTipsSearchRequest
  144. ///搜索提示请求
  145. @interface AMapInputTipsSearchRequest : AMapSearchObject
  146. ///查询关键字
  147. @property (nonatomic, copy) NSString *keywords;
  148. ///查询城市,可选值:cityname(中文或中文全拼)、citycode、adcode.
  149. @property (nonatomic, copy) NSString *city;
  150. ///类型,多个类型用“|”分割 可选值:文本分类、分类代码
  151. @property (nonatomic, copy) NSString *types;
  152. ///强制城市限制功能,例如:在上海搜索天安门,如果citylimit为true,将不返回北京的天安门相关的POI
  153. @property (nonatomic, assign) BOOL cityLimit;
  154. ///格式形如:@"116.481488,39.990464",(经度,纬度),不可以包含空格。如果设置,在此location附近优先返回搜索关键词信息, since 5.0.0
  155. @property (nonatomic, copy) NSString *location;
  156. @end
  157. ///搜索提示返回
  158. @interface AMapInputTipsSearchResponse : AMapSearchObject
  159. ///返回数目
  160. @property (nonatomic, assign) NSInteger count;
  161. ///提示列表 AMapTip 数组, AMapTip 有多种属性,可根据该对象的返回信息,配合其他搜索服务使用,完善您应用的功能。如:\n 1)uid为空,location为空,该提示语为品牌词,可根据该品牌词进行POI关键词搜索。\n 2)uid不为空,location为空,为公交线路,根据uid进行公交线路查询。\n 3)uid不为空,location也不为空,是一个真实存在的POI,可直接显示在地图上。
  162. @property (nonatomic, strong) NSArray<AMapTip *> *tips;
  163. @end
  164. #pragma mark - AMapGeocodeSearchRequest
  165. ///地理编码请求
  166. @interface AMapGeocodeSearchRequest : AMapSearchObject
  167. ///地址
  168. @property (nonatomic, copy) NSString *address;
  169. ///查询城市,可选值:cityname(中文或中文全拼)、citycode、adcode.
  170. @property (nonatomic, copy) NSString *city;
  171. ///指定查询国家,支持多个国家,用“|”分隔,可选值:国家代码ISO 3166 或 global,仅海外生效(since 7.4.0)
  172. @property (nonatomic, copy) NSString *country;
  173. @end
  174. ///地理编码返回
  175. @interface AMapGeocodeSearchResponse : AMapSearchObject
  176. ///返回数目
  177. @property (nonatomic, assign) NSInteger count;
  178. ///地理编码结果 AMapGeocode 数组
  179. @property (nonatomic, strong) NSArray<AMapGeocode *> *geocodes;
  180. @end
  181. #pragma mark - AMapReGeocodeSearchRequest
  182. ///逆地理编码请求
  183. @interface AMapReGeocodeSearchRequest : AMapSearchObject
  184. ///是否返回扩展信息,默认NO。
  185. @property (nonatomic, assign) BOOL requireExtension;
  186. ///中心点坐标。
  187. @property (nonatomic, copy) AMapGeoPoint *location;
  188. ///查询半径,单位米,范围0~3000,默认1000。
  189. @property (nonatomic, assign) NSInteger radius;
  190. ///指定返回结果poi数组中的POI类型,在requireExtension=YES时生效。输入为typecode, 支持传入多个typecode, 多值时用“|”分割
  191. @property (nonatomic, copy) NSString *poitype;
  192. ///distance 按距离返回,score 按权重返回,仅海外生效(since 7.4.0)
  193. @property (nonatomic, copy) NSString *mode;
  194. @end
  195. ///逆地理编码返回
  196. @interface AMapReGeocodeSearchResponse : AMapSearchObject
  197. ///逆地理编码结果
  198. @property (nonatomic, strong) AMapReGeocode *regeocode;
  199. @end
  200. #pragma mark - AMapBusStopSearchRequest
  201. ///公交站点请求
  202. @interface AMapBusStopSearchRequest : AMapSearchObject
  203. ///查询关键字
  204. @property (nonatomic, copy) NSString *keywords;
  205. ///城市 可选值:cityname(中文或中文全拼)、citycode、adcode
  206. @property (nonatomic, copy) NSString *city;
  207. ///每页记录数,默认为20,取值为:1-50
  208. @property (nonatomic, assign) NSInteger offset;
  209. ///当前页数,默认值为1,取值为:1-100
  210. @property (nonatomic, assign) NSInteger page;
  211. @end
  212. ///公交站点返回
  213. @interface AMapBusStopSearchResponse : AMapSearchObject
  214. ///公交站数目
  215. @property (nonatomic, assign) NSInteger count;
  216. ///关键字建议列表和城市建议列表
  217. @property (nonatomic, strong) AMapSuggestion *suggestion;
  218. ///公交站点数组,数组中存放AMapBusStop对象
  219. @property (nonatomic, strong) NSArray<AMapBusStop *> *busstops;
  220. @end
  221. #pragma mark - AMapBusLineSearchRequest
  222. ///公交线路查询请求基类,不可直接调用
  223. @interface AMapBusLineBaseSearchRequest : AMapSearchObject
  224. ///城市 可选值:cityname(中文或中文全拼)、citycode、adcode
  225. @property (nonatomic, copy) NSString *city;
  226. ///是否返回扩展信息,默认为NO
  227. @property (nonatomic, assign) BOOL requireExtension;
  228. ///每页记录数,默认为20,取值为1-50
  229. @property (nonatomic, assign) NSInteger offset;
  230. ///当前页数,默认为1,取值为1-100
  231. @property (nonatomic, assign) NSInteger page;
  232. @end
  233. ///公交站线路根据名字请求
  234. @interface AMapBusLineNameSearchRequest : AMapBusLineBaseSearchRequest
  235. ///查询关键字
  236. @property (nonatomic, copy) NSString *keywords;
  237. @end
  238. ///公交站线路根据ID请求
  239. @interface AMapBusLineIDSearchRequest : AMapBusLineBaseSearchRequest
  240. ///唯一标识
  241. @property (nonatomic, copy) NSString *uid;
  242. @end
  243. ///公交站线路返回
  244. @interface AMapBusLineSearchResponse : AMapSearchObject
  245. ///返回公交站数目
  246. @property (nonatomic, assign) NSInteger count;
  247. ///关键字建议列表和城市建议列表
  248. @property (nonatomic, strong) AMapSuggestion *suggestion;
  249. ///公交线路数组,数组中存放 AMapBusLine 对象
  250. @property (nonatomic, strong) NSArray<AMapBusLine *> *buslines;
  251. @end
  252. #pragma mark - AMapDistrictSearchRequest
  253. ///行政区划查询请求
  254. @interface AMapDistrictSearchRequest : AMapSearchObject
  255. ///查询关键字,只支持单关键字搜索,全国范围
  256. @property (nonatomic, copy) NSString *keywords;
  257. ///是否返回边界坐标,默认NO
  258. @property (nonatomic, assign) BOOL requireExtension;
  259. ///是否显示商圈信息,默认NO。注:已废弃,行政区划搜索无商圈信息。
  260. @property (nonatomic, assign) BOOL showBusinessArea __attribute__((deprecated("已废弃, from 5.3.0")));;
  261. ///每页记录数, 范围1-50, [default = 20]
  262. @property (nonatomic, assign) NSInteger offset;
  263. ///当前页数, 范围1-100, [default = 1]
  264. @property (nonatomic, assign) NSInteger page;
  265. ///子区域层级,默认1。规则:设置显示下级行政区级数(行政区级别包括:国家、省/直辖市、市、区/县、乡镇/街道多级数据)可选值:0、1、2、3等数字,0-不返回下级行政区;1-返回下一级行政区;2-返回下两级行政区;3-返回下三级行政区
  266. @property (nonatomic, assign) NSInteger subdistrict;
  267. @end
  268. ///行政区划响应
  269. @interface AMapDistrictSearchResponse : AMapSearchObject
  270. ///返回数目
  271. @property (nonatomic, assign) NSInteger count;
  272. ///行政区域 AMapDistrict 数组
  273. @property (nonatomic, strong) NSArray<AMapDistrict *> *districts;
  274. @end
  275. #pragma mark - AMapRouteSearchBaseRequest
  276. ///路径规划基础类,不可直接调用
  277. @interface AMapRouteSearchBaseRequest : AMapSearchObject
  278. ///出发点
  279. @property (nonatomic, copy) AMapGeoPoint *origin;
  280. ///目的地
  281. @property (nonatomic, copy) AMapGeoPoint *destination;
  282. @end
  283. #pragma mark - AMapDrivingRouteSearchRequest
  284. ///驾车路径规划
  285. @interface AMapDrivingRouteSearchRequest : AMapRouteSearchBaseRequest
  286. /**
  287. 驾车导航策略,默认策略为0。
  288. 0,速度优先(时间);1,费用优先(不走收费路段的最快道路);2,距离优先;3,不走快速路;4,躲避拥堵;
  289. 5,多策略(同时使用速度优先、费用优先、距离优先三个策略计算路径),其中必须说明,就算使用三个策略算路,会根据路况不固定的返回一至三条路径规划信息;
  290. 6,不走高速;7,不走高速且避免收费;8,躲避收费和拥堵;9,不走高速且躲避收费和拥堵;
  291. 10,多备选,时间最短,距离最短,躲避拥堵(考虑路况);
  292. 11,多备选,时间最短,距离最短;
  293. 12,多备选,躲避拥堵(考虑路况);
  294. 13,多备选,不走高速;
  295. 14,多备选,费用优先;
  296. 15,多备选,躲避拥堵,不走高速(考虑路况);
  297. 16,多备选,费用有限,不走高速;
  298. 17,多备选,躲避拥堵,费用优先(考虑路况);
  299. 18,多备选,躲避拥堵,不走高速,费用优先(考虑路况);
  300. 19,多备选,高速优先;
  301. 20,多备选,高速优先,躲避拥堵(考虑路况)
  302. */
  303. @property (nonatomic, assign) NSInteger strategy;
  304. ///途经点 AMapGeoPoint 数组,最多支持16个途经点
  305. @property (nonatomic, copy) NSArray<AMapGeoPoint *> *waypoints;
  306. ///避让区域 AMapGeoPolygon 数组,最多支持100个避让区域,每个区域16个点
  307. @property (nonatomic, copy) NSArray<AMapGeoPolygon *> *avoidpolygons;
  308. ///避让道路名
  309. @property (nonatomic, copy) NSString *avoidroad;
  310. ///出发点 POI ID
  311. @property (nonatomic, copy) NSString *originId;
  312. ///目的地 POI ID
  313. @property (nonatomic, copy) NSString *destinationId;
  314. ///出发点POI类型编码
  315. @property (nonatomic, copy) NSString *origintype;
  316. ///目的地POI类型编码
  317. @property (nonatomic, copy) NSString *destinationtype;
  318. ///是否返回扩展信息,默认为 NO
  319. @property (nonatomic, assign) BOOL requireExtension;
  320. ///车牌省份,用汉字填入车牌省份缩写。用于判断是否限行
  321. @property (nonatomic, copy) NSString *plateProvince;
  322. ///车牌详情,填入除省份及标点之外的字母和数字(需大写)。用于判断是否限行。
  323. @property (nonatomic, copy) NSString *plateNumber;
  324. ///使用轮渡,0使用1不使用,默认为0使用
  325. @property (nonatomic, assign) NSInteger ferry;
  326. /**
  327. 驾车路径规划车辆类型,默认策略为0。
  328. 0:普通汽车(默认值);
  329. 1:纯电动车;
  330. 2:插电混动车
  331. */
  332. @property (nonatomic, assign) NSInteger cartype;
  333. ///规避道路类型,默认为AMapDrivingRouteExcludeTypeNone,仅海外生效
  334. @property (nonatomic, assign) AMapDrivingRouteExcludeType exclude;
  335. @end
  336. #pragma mark - AMapWalkingRouteSearchRequest
  337. ///步行路径规划
  338. @interface AMapWalkingRouteSearchRequest : AMapRouteSearchBaseRequest
  339. ///是否提供备选步行方案([default = 0])0-只提供一条步行方案; 1-提供备选步行方案(有可能无备选方案)
  340. @property (nonatomic, assign) NSInteger multipath __attribute__((deprecated("已废弃, from 5.0.0")));
  341. @end
  342. #pragma mark - AMapTransitRouteSearchRequest
  343. ///公交路径规划
  344. @interface AMapTransitRouteSearchRequest : AMapRouteSearchBaseRequest
  345. ///公交换乘策略([default = 0])\n 0-最快捷模式;\n 1-最经济模式;\n 2-最少换乘模式;\n 3-最少步行模式;\n 4-最舒适模式;\n 5-不乘地铁模式
  346. @property (nonatomic, assign) NSInteger strategy;
  347. ///城市, 必填
  348. @property (nonatomic, copy) NSString *city;
  349. ///目的城市, 跨城时需要填写,否则会出错
  350. @property (nonatomic, copy) NSString *destinationCity;
  351. ///是否包含夜班车,默认为 NO
  352. @property (nonatomic, assign) BOOL nightflag;
  353. ///是否返回扩展信息,默认为 NO
  354. @property (nonatomic, assign) BOOL requireExtension;
  355. @end
  356. #pragma mark - AMapRidingRouteSearchRequest
  357. ///骑行路径规划
  358. @interface AMapRidingRouteSearchRequest : AMapRouteSearchBaseRequest
  359. ///路径方案类型([default = 0])\n 0-推荐路线及最快路线综合\n 1-推荐路线\n 2-最快路线
  360. @property (nonatomic, assign) NSInteger type __attribute__((deprecated("已废弃, from 5.0.0")));
  361. ///是否返回扩展信息,默认为 NO (since 7.6.0)
  362. @property (nonatomic, assign) BOOL requireExtension;
  363. @end
  364. ///路径规划返回
  365. @interface AMapRouteSearchResponse : AMapSearchObject
  366. ///路径规划信息数目
  367. @property (nonatomic, assign) NSInteger count;
  368. ///路径规划信息
  369. @property (nonatomic, strong) AMapRoute *route;
  370. @end
  371. ///骑行路径规划返回
  372. @interface AMapRidingRouteSearchResponse : AMapRouteSearchResponse
  373. @end
  374. #pragma mark - AMapTruckRouteSearchRequest
  375. ///货车路径规划(since 6.1.0)
  376. @interface AMapTruckRouteSearchRequest : AMapRouteSearchBaseRequest
  377. /**
  378. 驾车导航策略,默认为策略1。
  379. 1,返回的结果考虑路况,尽量躲避拥堵而规划路径,与高德地图的“躲避拥堵”策略一致;
  380. 2,返回的结果不走高速,与高德地图“不走高速”策略一致;
  381. 3,返回的结果尽可能规划收费较低甚至免费的路径,与高德地图“避免收费”策略一致;
  382. 4,返回的结果考虑路况,尽量躲避拥堵而规划路径,并且不走高速,与高德地图的“躲避拥堵&不走高速”策略一致;
  383. 5,返回的结果尽量不走高速,并且尽量规划收费较低甚至免费的路径结果,与高德地图的“避免收费&不走高速”策略一致;
  384. 6,返回路径规划结果会尽量的躲避拥堵,并且规划收费较低甚至免费的路径结果,与高德地图的“躲避拥堵&避免收费”策略一致;
  385. 7,返回的结果尽量躲避拥堵,规划收费较低甚至免费的路径结果,并且尽量不走高速路,与高德地图的“避免拥堵&避免收费&不走高速”策略一致;
  386. 8,返回的结果会优先选择高速路,与高德地图的“高速优先”策略一致;
  387. 9,返回的结果会优先考虑高速路,并且会考虑路况躲避拥堵,与高德地图的“躲避拥堵&高速优先”策略一致。
  388. */
  389. @property (nonatomic, assign) NSInteger strategy;
  390. ///途经点 AMapGeoPoint 数组,最多支持16个途经点
  391. @property (nonatomic, copy) NSArray<AMapGeoPoint *> *waypoints;
  392. ///出发点 POI ID
  393. @property (nonatomic, copy) NSString *originId;
  394. ///目的地 POI ID
  395. @property (nonatomic, copy) NSString *destinationId;
  396. ///出发点POI类型编码
  397. @property (nonatomic, copy) NSString *origintype;
  398. ///目的地POI类型编码
  399. @property (nonatomic, copy) NSString *destinationtype;
  400. ///车牌省份,用汉字填入车牌省份缩写。用于判断是否限行
  401. @property (nonatomic, copy) NSString *plateProvince;
  402. ///车牌详情,填入除省份及标点之外的字母和数字(需大写)。用于判断是否限行。
  403. @property (nonatomic, copy) NSString *plateNumber;
  404. ///货车大小,默认为 轻型车(AMapTruckSizeTypeLight)
  405. @property (nonatomic, assign) AMapTruckSizeType size;
  406. ///车辆高度,单位米,取值[0 – 25.5]米,默认 1.6 米
  407. @property (nonatomic, assign) CGFloat height;
  408. ///车辆宽度,单位米,取值[0 – 25.5]米,默认 2.5 米
  409. @property (nonatomic, assign) CGFloat width;
  410. ///车辆总重,单位吨,取值[0 – 6553.5]吨,默认 0.9 吨
  411. @property (nonatomic, assign) CGFloat load;
  412. ///货车核定载重,单位吨,取值[0 – 6553.5]吨,默认 10 吨
  413. @property (nonatomic, assign) CGFloat weight;
  414. ///车辆轴数,单位个,取值[0 –255]个,默认 2个轴
  415. @property (nonatomic, assign) NSInteger axis;
  416. ///是否返回扩展信息,默认为 NO (since 7.6.0)
  417. @property (nonatomic, assign) BOOL requireExtension;
  418. @end
  419. #pragma mark - AMapDistanceSearchRequest
  420. ///距离查询请求(since 6.1.0)
  421. @interface AMapDistanceSearchRequest : AMapSearchObject
  422. ///起点坐标数组,最多支持100个点。
  423. @property (nonatomic, strong) NSArray<AMapGeoPoint *> *origins;
  424. ///终点坐标
  425. @property (nonatomic, strong) AMapGeoPoint *destination;
  426. ///路径计算的方式和方法.0:直线距离; 1:驾车导航距离(仅支持国内坐标)此时会考虑路况,故在不同时间请求返回结果可能不同,此策略和driving接口的 strategy=4策略一致; 默认为1
  427. @property (nonatomic, assign) NSInteger type;
  428. ///是否返回扩展信息,默认为 NO (since 7.6.0)
  429. @property (nonatomic, assign) BOOL requireExtension;
  430. @end
  431. ///距离查询结果(since 6.1.0)
  432. @interface AMapDistanceSearchResponse : AMapSearchObject
  433. ///距离查询结果 AMapDistanceResult 数组。
  434. @property (nonatomic, strong) NSArray<AMapDistanceResult *> *results;
  435. @end
  436. #pragma mark - AMapWeatherSearchRequest
  437. ///天气查询请求
  438. @interface AMapWeatherSearchRequest : AMapSearchObject
  439. ///城市名称,支持cityname及adcode
  440. @property (nonatomic, copy) NSString *city;
  441. ///气象类型,Live为实时天气,Forecast为后三天预报天气,默认为Live
  442. @property (nonatomic, assign) AMapWeatherType type;
  443. @end
  444. ///天气查询返回
  445. @interface AMapWeatherSearchResponse : AMapSearchObject
  446. ///实时天气数据信息 AMapLocalWeatherLive 数组,仅在请求实时天气时有返回。
  447. @property (nonatomic, strong) NSArray<AMapLocalWeatherLive *> *lives;
  448. ///预报天气数据信息 AMapLocalWeatherForecast 数组,仅在请求预报天气时有返回
  449. @property (nonatomic, strong) NSArray<AMapLocalWeatherForecast *> *forecasts;
  450. @end
  451. #pragma mark - AMapRoadTrafficSearchRequest
  452. @interface AMapRoadTrafficSearchBaseRequest : AMapSearchObject
  453. ///道路等级,1:高速(京藏高速)2:城市快速路、国道(西三环、103国道) 3:高速辅路(G6辅路)4:主要道路(长安街、三环辅路路)5:一般道路(彩和坊路)6:无名道路。默认为5. since 5.5.0
  454. @property (nonatomic, assign) NSInteger level;
  455. ///是否返回扩展信息,默认为 NO
  456. @property (nonatomic, assign) BOOL requireExtension;
  457. @end
  458. ///道路实时路况查询请求 since 5.1.0
  459. @interface AMapRoadTrafficSearchRequest : AMapRoadTrafficSearchBaseRequest
  460. ///道路名称,可通过逆地理编码查询获取
  461. @property (nonatomic, copy) NSString *roadName;
  462. ///城市adcode,可参考 http://a.amap.com/lbs/static/zip/AMap_adcode_citycode.zip
  463. @property (nonatomic, copy) NSString *adcode;
  464. @end
  465. ///圆形区域道路实时路况查询请求 since 5.5.0 注意:返回路况结果取决于发起请求时刻的实时路况,不保证范围内的所有路线路况都会返回,也不保证返回的路况长度一定在限制半径内
  466. @interface AMapRoadTrafficCircleSearchRequest : AMapRoadTrafficSearchBaseRequest
  467. ///必填,中心点坐标。
  468. @property (nonatomic, copy) AMapGeoPoint *location;
  469. ///查询半径,单位:米。[0, 5000], 默认值为1000.
  470. @property (nonatomic, assign) NSInteger radius;
  471. @end
  472. ///道路实时路况查询返回 since 5.1.0
  473. @interface AMapRoadTrafficSearchResponse : AMapSearchObject
  474. ///路况信息
  475. @property (nonatomic, strong) AMapTrafficInfo *trafficInfo;
  476. @end
  477. #pragma mark - AMapNearbySearchRequest
  478. ///附近搜索请求
  479. @interface AMapNearbySearchRequest : AMapSearchObject
  480. ///中心点坐标
  481. @property (nonatomic, copy) AMapGeoPoint *center;
  482. ///查询半径,范围:[0, 10000],单位:米 [default = 1000]
  483. @property (nonatomic, assign) NSInteger radius;
  484. ///搜索距离类型,默认为直线距离
  485. @property (nonatomic, assign) AMapNearbySearchType searchType;
  486. ///检索时间范围,超过24小时的数据无法返回,范围[5, 24*60*60] 单位:秒 [default = 1800]
  487. @property (nonatomic, assign) NSInteger timeRange;
  488. ///返回条数,范围[1, 100], 默认30
  489. @property (nonatomic, assign) NSInteger limit;
  490. @end
  491. ///附近搜索返回
  492. @interface AMapNearbySearchResponse : AMapSearchObject
  493. ///结果总条数
  494. @property (nonatomic, assign) NSInteger count;
  495. ///周边用户信息 AMapNearbyUserInfo 数组
  496. @property (nonatomic, strong) NSArray<AMapNearbyUserInfo *> *infos;
  497. @end
  498. #pragma mark - AMapCloudSearchBaseRequest
  499. ///企业地图搜索请求基类
  500. @interface AMapCloudSearchBaseRequest : AMapSearchObject
  501. ///要查询的表格ID, 必选
  502. @property (nonatomic, copy) NSString *tableID;
  503. ///筛选条件数组, 可选, 说明:\n 1.支持建立索引的字段根据多个条件筛选,多个条件用双&符号连接;\n 2.判断符合支持:>= 大于等于,<= 小于等于,>大于,<小于,= 精确匹配(text索引不可用);\n 3.示例规则:key1=value1&&key2=value2&&lastloctime>=1469817532,示例:"name=王师傅|张师傅&&lastloctime>=1469817532
  504. @property (nonatomic, strong) NSArray<NSString *> *filter;
  505. ///排序字段名, 可选.\n 说明:\n 1.支持按建立了排序筛选索引的整数或小数字段进行排序:sortFields = "字段名";\n 2.系统预设的字段(忽略sortType):_distance:坐标与中心点距离升序排序,仅在周边检索时有效(若其它请求使用会异常返回);_weight:权重降序排序,当存在keywords时有效;\n;
  506. @property (nonatomic, copy) NSString *sortFields;
  507. ///可选, 排序方式(默认升序)
  508. @property (nonatomic, assign) AMapCloudSortType sortType;
  509. ///可选, 每页记录数(每页最大记录数100, 默认20)
  510. @property (nonatomic, assign) NSInteger offset;
  511. ///可选, 当前页数(>=1, 默认1)
  512. @property (nonatomic, assign) NSInteger page;
  513. @end
  514. #pragma mark - AMapCloudPlaceAroundSearchRequest
  515. ///企业地图周边搜请求
  516. @interface AMapCloudPOIAroundSearchRequest : AMapCloudSearchBaseRequest
  517. ///必填,中心点坐标。
  518. @property (nonatomic, copy) AMapGeoPoint *center;
  519. ///可选,查询半径(默认值为3000),单位:米
  520. @property (nonatomic, assign) NSInteger radius;
  521. ///可选,搜索关键词。\n 说明:1. 只支持建立过文本索引的字段查询/n 2.支持关键字模糊检索,即对建立【文本索引字段】对应列内容进行模糊检索;如keywords=工商银行,检索返回已建立文本索引列值中包含“工商”或者“银行”或者“工商银行”关键字的POI结果集。/n 3.支持关键字多值模糊检索;如keywords=招商银行&&华夏银行&&工商银行,检索返回已建立索引列值中包含“招商银行”或者“华夏银行”或者“工商银行”的POI结果集,不会返回检索词切分后,如仅包含“招商”或者“银行”的POI集
  522. @property (nonatomic, copy) NSString *keywords;
  523. @end
  524. ///企业地图polygon区域查询请求
  525. @interface AMapCloudPOIPolygonSearchRequest : AMapCloudSearchBaseRequest
  526. ///必填,多边形。
  527. @property (nonatomic, copy) AMapGeoPolygon *polygon;
  528. ///可选,搜索关键词。\n 说明:1. 只支持建立过文本索引的字段查询/n 2.支持关键字模糊检索,即对建立【文本索引字段】对应列内容进行模糊检索;如keywords=工商银行,检索返回已建立文本索引列值中包含“工商”或者“银行”或者“工商银行”关键字的POI结果集。/n 3.支持关键字多值模糊检索;如keywords=招商银行&&华夏银行&&工商银行,检索返回已建立索引列值中包含“招商银行”或者“华夏银行”或者“工商银行”的POI结果集,不会返回检索词切分后,如仅包含“招商”或者“银行”的POI集
  529. @property (nonatomic, copy) NSString *keywords;
  530. @end
  531. ///企业地图ID查询请求
  532. @interface AMapCloudPOIIDSearchRequest : AMapCloudSearchBaseRequest
  533. ///必填,POI的ID
  534. @property (nonatomic, assign) NSInteger uid;
  535. @end
  536. ///企业地图本地查询请求
  537. @interface AMapCloudPOILocalSearchRequest : AMapCloudSearchBaseRequest
  538. ///可选,搜索关键词。\n 说明:1. 只支持建立过文本索引的字段查询/n 2.支持关键字模糊检索,即对建立【文本索引字段】对应列内容进行模糊检索;如keywords=工商银行,检索返回已建立文本索引列值中包含“工商”或者“银行”或者“工商银行”关键字的POI结果集。/n 3.支持关键字多值模糊检索;如keywords=招商银行&&华夏银行&&工商银行,检索返回已建立索引列值中包含“招商银行”或者“华夏银行”或者“工商银行”的POI结果集,不会返回检索词切分后,如仅包含“招商”或者“银行”的POI集
  539. @property (nonatomic, copy) NSString *keywords;
  540. ///必填,城市名称\n 说明:\n 1. 支持全国/省/市/区县行政区划范围的检索;\n 2. city = "全国",即对用户全表搜索;\n 3. 当city值设置非法或不正确时,按照 city = "全国"返回。
  541. @property (nonatomic, copy) NSString *city;
  542. @end
  543. ///企业地图搜索返回
  544. @interface AMapCloudPOISearchResponse : AMapSearchObject
  545. ///返回结果总数目
  546. @property (nonatomic, assign) NSInteger count;
  547. ///返回的结果, AMapCloudPOI 数组
  548. @property (nonatomic, strong) NSArray<AMapCloudPOI *> *POIs;
  549. @end
  550. #pragma mark - AMapShareSearchBaseRequest
  551. ///短串分享搜索请求基类, 请使用具体的子类。
  552. @interface AMapShareSearchBaseRequest : AMapSearchObject
  553. @end
  554. ///位置短串分享请求
  555. @interface AMapLocationShareSearchRequest : AMapShareSearchBaseRequest
  556. ///必填, 位置坐标
  557. @property (nonatomic, copy) AMapGeoPoint *location;
  558. ///位置名称,请不要包含【,%&@#】等特殊符号
  559. @property (nonatomic, copy) NSString *name;
  560. @end
  561. ///兴趣点短串分享请求
  562. @interface AMapPOIShareSearchRequest : AMapShareSearchBaseRequest
  563. ///POI的ID,如果有ID则指定POI,否则按name查询。
  564. @property (nonatomic, copy) NSString *uid;
  565. ///坐标
  566. @property (nonatomic, copy) AMapGeoPoint *location;
  567. ///名称,请不要包含【,%&@#】等特殊符号。
  568. @property (nonatomic, copy) NSString *name;
  569. ///地址,请不要包含【,%&@#】等特殊符号。
  570. @property (nonatomic, copy) NSString *address;
  571. @end
  572. ///路径规划短串分享请求
  573. @interface AMapRouteShareSearchRequest : AMapShareSearchBaseRequest
  574. ///默认为0\n 驾车:0-速度最快(时间);\n 1-避免收费(不走收费路段的最快道路);\n 2-距离优先;\n 3-不走高速;\n 4-结合实时交通(躲避拥堵);\n 5-不走高速且避免收费;\n 6-不走高速且躲避拥堵;\n 7-躲避收费和拥堵;\n 8-不走高速且躲避收费和拥堵\n\n 公交:0-最快捷;\n 1-最经济;\n 2-最少换乘;\n 3-最少步行;\n 4-最舒适;\n 5-不乘地铁;\n\n 步行,无策略,均一样
  575. @property (nonatomic, assign) NSInteger strategy;
  576. ///Route的type,默认为0,超出范围为0.\n 0为驾车,\n 1为公交,\n 2为步行
  577. @property (nonatomic, assign) NSInteger type;
  578. ///起点坐标
  579. @property (nonatomic, copy) AMapGeoPoint *startCoordinate;
  580. ///终点坐标
  581. @property (nonatomic, copy) AMapGeoPoint *destinationCoordinate;
  582. ///起点名称,默认为“已选择的位置”,请不要包含【,%&@#】等特殊符号
  583. @property (nonatomic, copy) NSString *startName;
  584. ///终点名称,默认为“已选择的位置”,请不要包含【,%&@#】等特殊符号
  585. @property (nonatomic, copy) NSString *destinationName;
  586. @end
  587. ///导航短串分享请求
  588. @interface AMapNavigationShareSearchRequest : AMapShareSearchBaseRequest
  589. ///默认为0,超出范围为0\n 驾车:0-速度最快(时间);\n 1-避免收费(不走收费路段的最快道路);\n 2-距离优先;\n 3-不走高速;\n 4-结合实时交通(躲避拥堵);\n 5-不走高速且避免收费;\n 6-不走高速且躲避拥堵;\n 7-躲避收费和拥堵;\n 8-不走高速且躲避收费和拥堵
  590. @property (nonatomic, assign) NSInteger strategy;
  591. ///起点坐标,若跳转到高德地图,默认更换为定位坐标
  592. @property (nonatomic, copy) AMapGeoPoint *startCoordinate;
  593. ///终点坐标
  594. @property (nonatomic, copy) AMapGeoPoint *destinationCoordinate;
  595. @end
  596. ///导航短串分享响应
  597. @interface AMapShareSearchResponse : AMapSearchObject
  598. ///转换后的短串
  599. @property (nonatomic, copy) NSString *shareURL;
  600. @end
  601. ///未来路线规划(since 6.9.0)
  602. @interface AMapFutureRouteSearchRequest : AMapRouteSearchBaseRequest
  603. ///出发时间 单位为秒
  604. @property (nonatomic, copy) NSString *beginTime;
  605. ///时间间隔 单位为秒
  606. @property (nonatomic, assign) NSInteger interval;
  607. ///时间点个数,最多48个
  608. @property (nonatomic, assign) NSInteger timeCount;
  609. /**
  610. 未来路线规划策略,默认策略为0。
  611. 1,返回的结果考虑路况,尽量躲避拥堵而规划路径,与高德地图的“躲避拥堵”策略一致
  612. 2,返回的结果不走高速,与高德地图“不走高速”策略一致
  613. 3,返回的结果尽可能规划收费较低甚至免费的路径,与高德地图“避免收费”策略一致
  614. 4,返回的结果考虑路况,尽量躲避拥堵而规划路径,并且不走高速,与高德地图的“躲避拥堵&不走高速”策略一致
  615. 5,返回的结果尽量不走高速,并且尽量规划收费较低甚至免费的路径结果,与高德地图的“避免收费&不走高速”策略一致
  616. 6,返回路径规划结果会尽量的躲避拥堵,并且规划收费较低甚至免费的路径结果,与高德地图的“躲避拥堵&避免收费”策略一致
  617. 7,返回的结果尽量躲避拥堵,规划收费较低甚至免费的路径结果,并且尽量不走高速路,与高德地图的“避免拥堵&避免收费&不走高速”策略一致
  618. 8,返回的结果会优先选择高速路,与高德地图的“高速优先”策略一致
  619. 9,返回的结果会优先考虑高速路,并且会考虑路况躲避拥堵,与高德地图的“躲避拥堵&高速优先”策略一致
  620. 10,不考虑路况,返回速度最优、耗时最短的路线,但是此路线不一定距离最短
  621. 11,避让拥堵&速度优先&避免收费
  622. */
  623. @property (nonatomic, assign) NSInteger strategy;
  624. ///出发点 POI ID
  625. @property (nonatomic, copy) NSString *originId;
  626. ///目的地 POI ID
  627. @property (nonatomic, copy) NSString *destinationId;
  628. ///出发点POI类型编码
  629. @property (nonatomic, copy) NSString *origintype;
  630. ///目的地POI类型编码
  631. @property (nonatomic, copy) NSString *destinationtype;
  632. ///终点的父POI ID
  633. @property (nonatomic, copy) NSString *parentId;
  634. /////是否返回扩展信息,默认为 NO
  635. //@property (nonatomic, assign) BOOL requireExtension;
  636. ///车牌省份,用汉字填入车牌省份缩写。用于判断是否限行
  637. @property (nonatomic, copy) NSString *plateProvince;
  638. ///车牌详情,填入除省份及标点之外的字母和数字(需大写)。用于判断是否限行。
  639. @property (nonatomic, copy) NSString *plateNumber;
  640. /**
  641. 驾车路径规划车辆类型,默认策略为0。
  642. 0:普通汽车(默认值);
  643. 1:纯电动车;
  644. 2:插电混动车
  645. */
  646. @property (nonatomic, assign) NSInteger cartype;
  647. @end
  648. ///未来路线规划(since 6.9.0)
  649. @interface AMapFutureRouteSearchResponse : AMapSearchObject
  650. ///路径规划方案,只会返回AMapPath中的distance、totalTrafficLights、steps
  651. @property (nonatomic, strong) NSArray<AMapPath *> *paths;
  652. ///不同时间的规划以及信息列表
  653. @property (nonatomic, strong) NSArray<AMapFutureTimeInfo *> *timeInfos;
  654. @end