Add ScenicPermission module and AMap CocoaPods with simulator support.

Integrate scenic selection and permission flows into home routing, add AMap SDK for device builds while keeping arm64 simulators compilable via Podfile post_install hooks.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-23 10:15:26 +08:00
parent e8bc9b7f44
commit c5374666de
416 changed files with 18641 additions and 38 deletions

View File

@ -0,0 +1,931 @@
//
// AMapCommonObj.h
// AMapSearchKit
//
// Created by xiaoming han on 15/7/22.
// Copyright (c) 2015年 Amap. All rights reserved.
//
/* 该文件定义了搜索结果的基础数据类型。*/
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#pragma mark - AMapSearchObject
///搜索SDK基础类, 通用数据结构和response支持copy和codingsince 4.4.1)。
@interface AMapSearchObject : NSObject<NSCopying, NSCoding>
/**
* @brief 返回格式化的描述信息。通用数据结构和response类型有效。
*/
- (NSString *)formattedDescription;
@end
#pragma mark - 通用数据结构
///经纬度, description中格式为 <经度,纬度>
@interface AMapGeoPoint : AMapSearchObject
///纬度(垂直方向)
@property (nonatomic, assign) CGFloat latitude;
///经度(水平方向)
@property (nonatomic, assign) CGFloat longitude;
/**
* @brief 实例化一个AMapGeoPoint对象
* @param lat 纬度
* @param lon 经度
*/
+ (AMapGeoPoint *)locationWithLatitude:(CGFloat)lat longitude:(CGFloat)lon;
@end
///多边形, 当传入两个点的时候,当做矩形处理:左下-右上两个顶点;其他情况视为多边形,几个点即为几边型。
@interface AMapGeoPolygon : AMapSearchObject
///坐标集, AMapGeoPoint 数组
@property (nonatomic, strong) NSArray<AMapGeoPoint *> *points;
/**
* @brief 实例化一个多边形对象
* @param points 坐标集, AMapGeoPoint 数组
*/
+ (AMapGeoPolygon *)polygonWithPoints:(NSArray *)points;
@end
@class AMapDistrict;
///城市
@interface AMapCity : AMapSearchObject
///城市名称
@property (nonatomic, copy) NSString *city;
///城市编码
@property (nonatomic, copy) NSString *citycode;
///城市区域编码
@property (nonatomic, copy) NSString *adcode;
///此区域的建议结果数目, AMapSuggestion 中使用
@property (nonatomic, assign) NSInteger num;
///途径区域 AMapDistrict 数组AMepStep中使用只有name和adcode。
@property (nonatomic, strong) NSArray<AMapDistrict *> *districts;
@end
///建议信息
@interface AMapSuggestion : AMapSearchObject
///NSString 数组
@property (nonatomic, strong) NSArray<NSString *> *keywords;
///AMapCity 数组
@property (nonatomic, strong) NSArray<AMapCity *> *cities;
@end
#pragma mark - 输入提示
///输入提示
@interface AMapTip : AMapSearchObject
///poi的id
@property (nonatomic, copy) NSString *uid;
///名称
@property (nonatomic, copy) NSString *name;
///区域编码
@property (nonatomic, copy) NSString *adcode;
///所属区域
@property (nonatomic, copy) NSString *district;
///地址
@property (nonatomic, copy) NSString *address;
///位置
@property (nonatomic, copy) AMapGeoPoint *location;
///类型码, since 4.5.0. 对应描述可下载参考官网文档 http://a.amap.com/lbs/static/zip/AMap_API_Table.zip。
@property (nonatomic, copy) NSString *typecode;
@end
#pragma mark - POI
///POI图片信息
@interface AMapImage : AMapSearchObject
///标题
@property (nonatomic, copy) NSString *title;
///url
@property (nonatomic, copy) NSString *url;
@end
///POI扩展信息
@interface AMapPOIExtension : AMapSearchObject
///评分
@property (nonatomic, assign) CGFloat rating;
///人均消费
@property (nonatomic, assign) CGFloat cost;
///营业时间
@property (nonatomic, copy) NSString *openTime;
@end
///POI室内地图信息
@interface AMapIndoorData : AMapSearchObject
/// 是否有室内地图标志 1为有 0为没有 @since 9.4.0
@property (nonatomic, assign) NSInteger indoorMap;
///楼层索引一般会用数字表示例如8。indoorMap为0时不返回
@property (nonatomic, assign) NSInteger floor;
///所在楼层一般会带有字母例如F8。indoorMap为0时不返回
@property (nonatomic, copy) NSString *floorName;
///如果当前POI为建筑物类POI则cpid为自身POI ID如果当前POI为商铺类POI则cpid为其所在建筑物的POI ID。indoorMap为0时不返回
@property (nonatomic, copy) NSString *pid;
@end
///POI商圈信息 @since 9.4.0
@interface AMapBusinessData : AMapSearchObject
///POI所属商圈
@property (nonatomic, copy) NSString *businessArea;
///POI今日营业时间如 08:30-17:30 08:30-09:00 12:00-13:30 09:00-13:00
@property (nonatomic, copy) NSString *opentimeToday;
///POI营业时间描述如 周一至周五:08:30-17:30(延时服务时间:08:30-09:0012:00-13:30);周六延时服务时间:09:00-13:00(法定节假日除外)
@property (nonatomic, copy) NSString *opentimeWeek;
///POI的联系电话
@property (nonatomic, copy) NSString *tel;
///POI特色内容目前仅在美食POI下返回
@property (nonatomic, copy) NSString *tag;
///POI评分目前仅在餐饮、酒店、景点、影院类POI下返回
@property (nonatomic, copy) NSString *rating;
///POI人均消费目前仅在餐饮、酒店、景点、影院类POI下返回
@property (nonatomic, copy) NSString *cost;
///停车场类型地下、地面、路边目前仅在停车场类POI下返回
@property (nonatomic, copy) NSString *parkingType;
///POI的别名无别名时不返回
@property (nonatomic, copy) NSString *alias;
@end
///子POI
@interface AMapSubPOI : AMapSearchObject
///POI全局唯一ID
@property (nonatomic, copy) NSString *uid;
///名称
@property (nonatomic, copy) NSString *name;
///名称简写
@property (nonatomic, copy) NSString *sname;
///经纬度
@property (nonatomic, copy) AMapGeoPoint *location;
///地址
@property (nonatomic, copy) NSString *address;
///距中心点距离
@property (nonatomic, assign) NSInteger distance;
///子POI类型
@property (nonatomic, copy) NSString *subtype;
///子POI分类编码 @since 9.4.0
@property (nonatomic, copy) NSString *typeCode;
@end
///沿途POI
@interface AMapRoutePOI : AMapSearchObject
///POI全局唯一ID
@property (nonatomic, copy) NSString *uid;
///名称
@property (nonatomic, copy) NSString *name;
///经纬度
@property (nonatomic, copy) AMapGeoPoint *location;
///用户起点经过途经点再到终点的距离,单位是米
@property (nonatomic, assign) NSInteger distance;
///用户起点经过途经点再到终点的时间,单位为秒
@property (nonatomic, assign) NSInteger duration;
@end
///POI
@interface AMapPOI : AMapSearchObject
///POI全局唯一ID
@property (nonatomic, copy) NSString *uid;
///名称
@property (nonatomic, copy) NSString *name;
///兴趣点类型
@property (nonatomic, copy) NSString *type;
///类型编码
@property (nonatomic, copy) NSString *typecode;
///经纬度
@property (nonatomic, copy) AMapGeoPoint *location;
///地址
@property (nonatomic, copy) NSString *address;
///电话
@property (nonatomic, copy) NSString *tel;
///距中心点的距离,单位米。在周边搜索时有效
@property (nonatomic, assign) CGFloat distance;
///停车场类型,地上、地下、路边
@property (nonatomic, copy) NSString *parkingType;
///商铺id
@property (nonatomic, copy) NSString *shopID;
///邮编
@property (nonatomic, copy) NSString *postcode;
///网址
@property (nonatomic, copy) NSString *website;
///电子邮件
@property (nonatomic, copy) NSString *email;
///省
@property (nonatomic, copy) NSString *province;
///省编码
@property (nonatomic, copy) NSString *pcode;
///城市名称
@property (nonatomic, copy) NSString *city;
///城市编码
@property (nonatomic, copy) NSString *citycode;
///区域名称
@property (nonatomic, copy) NSString *district;
///区域编码
@property (nonatomic, copy) NSString *adcode;
///POI对应的导航引导点坐标 @since 9.4.0
@property (nonatomic, copy) NSString *naviPOIId;
///地理格ID
@property (nonatomic, copy) NSString *gridcode;
///入口经纬度
@property (nonatomic, copy) AMapGeoPoint *enterLocation;
///出口经纬度
@property (nonatomic, copy) AMapGeoPoint *exitLocation;
///方向
@property (nonatomic, copy) NSString *direction;
///是否有室内地图
@property (nonatomic, assign) BOOL hasIndoorMap;
///所在商圈
@property (nonatomic, copy) NSString *businessArea;
///室内信息
@property (nonatomic, strong) AMapIndoorData *indoorData;
///子POI列表
@property (nonatomic, strong) NSArray<AMapSubPOI *> *subPOIs;
///图片列表
@property (nonatomic, strong) NSArray<AMapImage *> *images;
///所在商圈 @since 9.4.0
@property (nonatomic, strong) AMapBusinessData *businessData;
///扩展信息只有在ID查询时有效
@property (nonatomic, strong) AMapPOIExtension *extensionInfo;
@end
#pragma mark - 逆地理编码 && 地理编码
///兴趣区域
@interface AMapAOI : AMapSearchObject
///AOI全局唯一ID
@property (nonatomic, copy) NSString *uid;
///名称
@property (nonatomic, copy) NSString *name;
///所在区域编码
@property (nonatomic, copy) NSString *adcode;
///中心点经纬度
@property (nonatomic, copy) AMapGeoPoint *location;
///面积,单位平方米
@property (nonatomic, assign) CGFloat area;
///输入经纬度是否在 aoi 面之中0代表在 aoi 内 其余整数代表距离 AOI 的距离 @since V9.7.4
@property (nonatomic, assign) CGFloat distance;
///所属 aoi 类型 @since V9.7.4
@property (nonatomic, copy) NSString *type;
@end
///道路
@interface AMapRoad : AMapSearchObject
///道路ID
@property (nonatomic, copy) NSString *uid;
///道路名称
@property (nonatomic, copy) NSString *name;
///距离(单位:米)
@property (nonatomic, assign) NSInteger distance;
///方向
@property (nonatomic, copy) NSString *direction;
///坐标点
@property (nonatomic, copy) AMapGeoPoint *location;
@end
///道路交叉口
@interface AMapRoadInter : AMapSearchObject
///距离(单位:米)
@property (nonatomic, assign) NSInteger distance;
///方向
@property (nonatomic, copy) NSString *direction;
///经纬度
@property (nonatomic, copy) AMapGeoPoint *location;
///第一条道路ID
@property (nonatomic, copy) NSString *firstId;
///第一条道路名称
@property (nonatomic, copy) NSString *firstName;
///第二条道路ID
@property (nonatomic, copy) NSString *secondId;
///第二条道路名称
@property (nonatomic, copy) NSString *secondName;
@end
///门牌信息
@interface AMapStreetNumber : AMapSearchObject
///街道名称
@property (nonatomic, copy) NSString *street;
///门牌号
@property (nonatomic, copy) NSString *number;
///坐标点
@property (nonatomic, copy) AMapGeoPoint *location;
///距离(单位:米)
@property (nonatomic, assign) NSInteger distance;
///方向
@property (nonatomic, copy) NSString *direction;
@end
///商圈
@interface AMapBusinessArea : AMapSearchObject
///名称
@property (nonatomic, strong) NSString *name;
///中心坐标
@property (nonatomic, copy) AMapGeoPoint *location;
@end
///地址组成要素
@interface AMapAddressComponent : AMapSearchObject
///国家since 5.7.0
@property (nonatomic, copy) NSString *country;
///国家简码since 7.4.0)仅海外生效
@property (nonatomic, copy) NSString *countryCode;
///省/直辖市
@property (nonatomic, copy) NSString *province;
///市
@property (nonatomic, copy) NSString *city;
///城市编码
@property (nonatomic, copy) NSString *citycode;
///区
@property (nonatomic, copy) NSString *district;
///区域编码
@property (nonatomic, copy) NSString *adcode;
///乡镇街道
@property (nonatomic, copy) NSString *township;
///乡镇街道编码
@property (nonatomic, copy) NSString *towncode;
///社区
@property (nonatomic, copy) NSString *neighborhood;
///建筑
@property (nonatomic, copy) NSString *building;
///门牌信息
@property (nonatomic, strong) AMapStreetNumber *streetNumber;
///商圈列表 AMapBusinessArea 数组
@property (nonatomic, strong) NSArray<AMapBusinessArea *> *businessAreas;
@end
///逆地理编码
@interface AMapReGeocode : AMapSearchObject
///格式化地址
@property (nonatomic, copy) NSString *formattedAddress;
///地址组成要素
@property (nonatomic, strong) AMapAddressComponent *addressComponent;
///道路信息 AMapRoad 数组
@property (nonatomic, strong) NSArray<AMapRoad *> *roads;
///道路路口信息 AMapRoadInter 数组
@property (nonatomic, strong) NSArray<AMapRoadInter *> *roadinters;
///兴趣点信息 AMapPOI 数组
@property (nonatomic, strong) NSArray<AMapPOI *> *pois;
///兴趣区域信息 AMapAOI 数组
@property (nonatomic, strong) NSArray<AMapAOI *> *aois;
@end
///地理编码
@interface AMapGeocode : AMapSearchObject
///格式化地址
@property (nonatomic, copy) NSString *formattedAddress;
///所在省/直辖市
@property (nonatomic, copy) NSString *province;
///城市名
@property (nonatomic, copy) NSString *city;
///城市编码
@property (nonatomic, copy) NSString *citycode;
///区域名称
@property (nonatomic, copy) NSString *district;
///区域编码
@property (nonatomic, copy) NSString *adcode;
///乡镇街道
@property (nonatomic, copy) NSString *township;
///社区
@property (nonatomic, copy) NSString *neighborhood;
///楼
@property (nonatomic, copy) NSString *building;
///坐标点
@property (nonatomic, copy) AMapGeoPoint *location;
///匹配的等级
@property (nonatomic, copy) NSString *level;
///国家since 7.4.0)仅海外生效
@property (nonatomic, copy) NSString *country;
///国家简码since 7.4.0)仅海外生效
@property (nonatomic, copy) NSString *postcode;
@end
#pragma mark - 公交查询
@class AMapBusLine;
///公交站
@interface AMapBusStop : AMapSearchObject
///公交站点ID
@property (nonatomic, copy) NSString *uid;
///区域编码
@property (nonatomic, copy) NSString *adcode;
///公交站名
@property (nonatomic, copy) NSString *name;
///城市编码
@property (nonatomic, copy) NSString *citycode;
///经纬度坐标
@property (nonatomic, copy) AMapGeoPoint *location;
///途径此站的公交路线 AMapBusLine 数组
@property (nonatomic, strong) NSArray<AMapBusLine *> *buslines;
///查询公交线路时的第几站
@property (nonatomic, copy) NSString *sequence;
@end
///公交线路
@interface AMapBusLine : AMapSearchObject
///公交线路ID
@property (nonatomic, copy) NSString *uid;
///公交类型
@property (nonatomic, copy) NSString *type;
///公交线路名称
@property (nonatomic, copy) NSString *name;
///坐标集合
@property (nonatomic, copy) NSString *polyline;
///城市编码
@property (nonatomic, copy) NSString *citycode;
///首发站
@property (nonatomic, copy) NSString *startStop;
///终点站
@property (nonatomic, copy) NSString *endStop;
///当查询公交站点时,返回的 AMapBusLine 中含有该字段
@property (nonatomic, copy) AMapGeoPoint *location;
///首班车时间
@property (nonatomic, copy) NSString *startTime;
///末班车时间
@property (nonatomic, copy) NSString *endTime;
///所属公交公司
@property (nonatomic, copy) NSString *company;
///距离。在公交线路查询时,该值为此线路的全程距离,单位为千米; 在公交路径规划时,该值为乘坐此路公交车的行驶距离,单位为米
@property (nonatomic, assign) CGFloat distance;
///起步价
@property (nonatomic, assign) CGFloat basicPrice;
///全程票价
@property (nonatomic, assign) CGFloat totalPrice;
///矩形区域左下、右上顶点坐标
@property (nonatomic, copy) AMapGeoPolygon *bounds;
///本线路公交站 AMapBusStop 数组
@property (nonatomic, strong) NSArray<AMapBusStop *> *busStops;
///起程站
@property (nonatomic, strong) AMapBusStop *departureStop;
///下车站
@property (nonatomic, strong) AMapBusStop *arrivalStop;
///途径公交站 AMapBusStop 数组
@property (nonatomic, strong) NSArray<AMapBusStop *> *viaBusStops;
///预计行驶时间(单位:秒)
@property (nonatomic, assign) NSInteger duration;
///此段途径公交站数
@property (nonatomic, assign) NSInteger viaNum;
@end
#pragma mark - 行政区划
///行政区划
@interface AMapDistrict : AMapSearchObject
///区域编码
@property (nonatomic, copy) NSString *adcode;
///城市编码
@property (nonatomic, copy) NSString *citycode;
///行政区名称
@property (nonatomic, copy) NSString *name;
///级别
@property (nonatomic, copy) NSString *level;
///城市中心点
@property (nonatomic, copy) AMapGeoPoint *center;
///下级行政区域数组
@property (nonatomic, strong) NSArray<AMapDistrict *> *districts;
///行政区边界坐标点, NSString 数组
@property (nonatomic, strong) NSArray<NSString *> *polylines;
@end
#pragma mark - 路径规划
///公交方案详细导航动作指令
@interface AMapTransitNavi : AMapSearchObject
///导航主要动作指令
@property (nonatomic, copy) NSString *action;
///导航辅助动作指令
@property (nonatomic, copy) NSString *assistantAction;
///算路结果中存在的道路类型:
/*
*0普通道路 1人行横道 3地下通道 4过街天桥
*5地铁通道 6公园 7广场 8扶梯 9直梯
*10索道 11空中通道 12建筑物穿越通道
*13行人通道 14游船路线 15观光车路线 16滑道
*18扩路 19道路附属连接线 20阶梯 21斜坡
*22桥 23隧道 30轮渡
*/
@property (nonatomic, copy) NSString *walkType;
@end
///实时路况信息
@interface AMapTMC : AMapSearchObject
///长度(单位:米)
@property (nonatomic, assign) NSInteger distance;
///路况状态描述0 未知1 畅通2 缓行3 拥堵4 严重拥堵
@property (nonatomic, copy) NSString *status;
///此路段坐标点串
@property (nonatomic, copy) NSString *polyline;
@end
///路段基本信息
@interface AMapStep : AMapSearchObject
///行走指示
@property (nonatomic, copy) NSString *instruction;
///方向
@property (nonatomic, copy) NSString *orientation;
///道路名称
@property (nonatomic, copy) NSString *road;
///此路段长度(单位:米)
@property (nonatomic, assign) NSInteger distance;
///此路段预计耗时(单位:秒)
@property (nonatomic, assign) NSInteger duration;
///此路段坐标点串
@property (nonatomic, copy) NSString *polyline;
///导航主要动作
@property (nonatomic, copy) NSString *action;
///导航辅助动作
@property (nonatomic, copy) NSString *assistantAction;
///道路类型
@property (nonatomic, assign) NSInteger walkType;
///此段收费(单位:元)
@property (nonatomic, assign) CGFloat tolls;
///收费路段长度(单位:米)
@property (nonatomic, assign) NSInteger tollDistance;
///主要收费路段
@property (nonatomic, copy) NSString *tollRoad;
///此段交通信号灯个数 since 9.2.0 ( 只在算路2.0接口有效 )
@property (nonatomic, assign) NSInteger totalTrafficLights;
///途径城市 AMapCity 数组,只有驾车路径规划时有效
@property (nonatomic, strong) NSArray<AMapCity *> *cities;
///路况信息数组,只有驾车路径规划时有效
@property (nonatomic, strong) NSArray<AMapTMC *> *tmcs;
@end
///步行、骑行、驾车方案
@interface AMapPath : AMapSearchObject
///起点和终点的距离
@property (nonatomic, assign) NSInteger distance;
///预计耗时(单位:秒)
@property (nonatomic, assign) NSInteger duration;
///导航策略
@property (nonatomic, copy) NSString *strategy;
///导航路段 AMapStep 数组
@property (nonatomic, strong) NSArray<AMapStep *> *steps;
///此方案费用(单位:元)
@property (nonatomic, assign) CGFloat tolls;
///此方案收费路段长度(单位:米)
@property (nonatomic, assign) NSInteger tollDistance;
///此方案交通信号灯个数
@property (nonatomic, assign) NSInteger totalTrafficLights;
/**
限行信息仅在驾车和货车路径规划时有效。since 6.0.0
驾车路径规划时:
0 代表限行已规避或未限行; 1 代表限行无法规避。
货车路径规划时:
0未知未输入完整/正确车牌号信息时候显示)
1已规避限行
2起点限行
3途径点在限行区域内设置途径点才出现此报错
4途径限行区域
5终点限行
*/
@property (nonatomic, assign) NSInteger restriction;
///规划路径完整坐标点串集合since 7.4.0
@property (nonatomic, copy) NSString *polyline;
@end
@interface AMapFutureTimeInfoElement : AMapSearchObject
///总时长(分钟)
@property (nonatomic, assign) NSInteger duration;
///对应的路径规划方案中的路线
@property (nonatomic, assign) NSInteger pathindex;
/**
0代表限行已规避或未限行即该路线没有限行路段
1代表限行无法规避即该线路有限行路段
*/
@property (nonatomic, assign) NSInteger restriction;
///路况信息数组只会返回AMapTMC中的status、polyline
@property (nonatomic, strong) NSArray<AMapTMC *> *tmcs;
@end
@interface AMapFutureTimeInfo : AMapSearchObject
///出发时间
@property (nonatomic, copy) NSString *startTime;
///路线列表 AMapFutureTimeInfoElement 数组
@property (nonatomic, strong) NSArray<AMapFutureTimeInfoElement *> *elements;
@end
///步行换乘信息
@interface AMapWalking : AMapSearchObject
///起点坐标
@property (nonatomic, copy) AMapGeoPoint *origin;
///终点坐标
@property (nonatomic, copy) AMapGeoPoint *destination;
///起点和终点的步行距离
@property (nonatomic, assign) NSInteger distance;
///步行预计时间
@property (nonatomic, assign) NSInteger duration;
///步行路段 AMapStep 数组
@property (nonatomic, strong) NSArray<AMapStep *> *steps;
@end
///出租车信息
@interface AMapTaxi : AMapSearchObject
///起点坐标
@property (nonatomic, copy) AMapGeoPoint *origin;
///终点坐标
@property (nonatomic, copy) AMapGeoPoint *destination;
///距离,单位米
@property (nonatomic, assign) NSInteger distance;
///耗时,单位秒
@property (nonatomic, assign) NSInteger duration;
///起点名称
@property (nonatomic, copy) NSString *sname;
///终点名称
@property (nonatomic, copy) NSString *tname;
///打车预计花费金额 @singce 9.4.0
@property (nonatomic, copy) NSString *price;
///线路点集合通过show_fields控制返回与否 @singce 9.4.0
@property (nonatomic, copy) NSString *polyline;
@end
///火车站
@interface AMapRailwayStation : AMapSearchObject
///火车站ID
@property (nonatomic, copy) NSString *uid;
///名称
@property (nonatomic, copy) NSString *name;
///经纬度坐标
@property (nonatomic, copy) AMapGeoPoint *location;
///区域编码
@property (nonatomic, copy) NSString *adcode;
///发车、到站时间,途径站时则为进站时间
@property (nonatomic, copy) NSString *time;
///途径站点的停靠时间,单位为分钟
@property (nonatomic, assign) NSInteger wait;
///是否是始发站,为出发站时有效
@property (nonatomic, assign) BOOL isStart;
///是否是终点站,为到达站时有效
@property (nonatomic, assign) BOOL isEnd;
@end
///火车仓位及价格信息
@interface AMapRailwaySpace : AMapSearchObject
///类型,硬卧、硬座等
@property (nonatomic, copy) NSString *code;
///票价,单位元
@property (nonatomic, assign) CGFloat cost;
@end
///火车信息
@interface AMapRailway : AMapSearchObject
///火车线路ID
@property (nonatomic, copy) NSString *uid;
///名称
@property (nonatomic, copy) NSString *name;
///车次
@property (nonatomic, copy) NSString *trip;
///类型
@property (nonatomic, copy) NSString *type;
///该换乘段行车总距离,单位为米
@property (nonatomic, assign) NSInteger distance;
///该线路车段耗时,单位为秒
@property (nonatomic, assign) NSInteger time;
///出发站
@property (nonatomic, strong) AMapRailwayStation *departureStation;
///到达站
@property (nonatomic, strong) AMapRailwayStation *arrivalStation;
///仓位及价格信息
@property (nonatomic, strong) NSArray<AMapRailwaySpace *> *spaces;
///途径站点信息
@property (nonatomic, strong) NSArray<AMapRailwayStation *> *viaStops;
///备选路线信息, 目前只有id和name
@property (nonatomic, strong) NSArray<AMapRailway *> *alters;
@end
///公交换乘路段如果walking和buslines同时有值则是先walking后buslines
@interface AMapSegment : AMapSearchObject
///此路段步行导航信息
@property (nonatomic, strong) AMapWalking *walking;
///此路段可供选择的不同公交线路 AMapBusLine 数组
@property (nonatomic, strong) NSArray<AMapBusLine *> *buslines;
///出租车信息,跨城时有效
@property (nonatomic, strong) AMapTaxi *taxi;
///火车信息,跨城时有效
@property (nonatomic, strong) AMapRailway *railway;
///入口名称
@property (nonatomic, copy) NSString *enterName;
///入口经纬度
@property (nonatomic, copy) AMapGeoPoint *enterLocation;
///出口名称
@property (nonatomic, copy) NSString *exitName;
///出口经纬度
@property (nonatomic, copy) AMapGeoPoint *exitLocation;
@end
///公交方案
@interface AMapTransit : AMapSearchObject
///此公交方案价格(单位:元)
@property (nonatomic, assign) CGFloat cost;
///此换乘方案预期时间(单位:秒)
@property (nonatomic, assign) NSInteger duration;
///是否是夜班车
@property (nonatomic, assign) BOOL nightflag;
///此方案总步行距离(单位:米)
@property (nonatomic, assign) NSInteger walkingDistance;
///换乘路段 AMapSegment 数组
@property (nonatomic, strong) NSArray<AMapSegment *> *segments;
///当前方案的总距离
@property (nonatomic, assign) NSInteger distance;
@end
///路径规划信息
@interface AMapRoute : AMapSearchObject
///起点坐标
@property (nonatomic, copy) AMapGeoPoint *origin;
///终点坐标
@property (nonatomic, copy) AMapGeoPoint *destination;
///出租车费用(单位:元)
@property (nonatomic, assign) CGFloat taxiCost;
///步行、骑行、驾车方案列表 AMapPath 数组
@property (nonatomic, strong) NSArray<AMapPath *> *paths;
///公交换乘方案列表 AMapTransit 数组
@property (nonatomic, strong) NSArray<AMapTransit *> *transits;
///详细导航动作指令 since 9.4.0
@property (nonatomic, strong) AMapTransitNavi *transitNavi;
///分路段坐标点串,两点间用“,”分隔 since 9.4.0
@property (nonatomic, copy) NSString *polyline;
/// 起点和终点总距离
@property (nonatomic, assign) CGFloat distance;
@end
///距离测量结果
@interface AMapDistanceResult : AMapSearchObject
///起点坐标,起点坐标序列号(从1开始)
@property (nonatomic, assign) NSInteger originID;
///终点坐标,终点坐标序列号(从1开始)
@property (nonatomic, assign) NSInteger destID;
///路径距离,单位:米
@property (nonatomic, assign) NSInteger distance;
///预计行驶时间,单位:秒
@property (nonatomic, assign) NSInteger duration;
///错误信息,建议用此字段判断请求是否成功
@property (nonatomic, copy) NSString *info;
///在驾车模式下有效。默认为01指定地点之间没有可以行车的道路2起点/终点 距离所有道路均距离过远(例如在海洋/矿业3起点/终点不在中国境内;
@property (nonatomic, assign) NSInteger code;
@end
#pragma mark - 天气查询
///实况天气,仅支持中国部分地区数据(台湾省目前没有数据)返回
@interface AMapLocalWeatherLive : AMapSearchObject
///区域编码
@property (nonatomic, copy) NSString *adcode;
///省份名
@property (nonatomic, copy) NSString *province;
///城市名
@property (nonatomic, copy) NSString *city;
///天气现象
@property (nonatomic, copy) NSString *weather;
///实时温度
@property (nonatomic, copy) NSString *temperature;
///风向
@property (nonatomic, copy) NSString *windDirection;
///风力,单位:级
@property (nonatomic, copy) NSString *windPower;
///空气湿度
@property (nonatomic, copy) NSString *humidity;
///数据发布时间
@property (nonatomic, copy) NSString *reportTime;
@end
///某一天的天气预报信息
@interface AMapLocalDayWeatherForecast : AMapSearchObject
///日期
@property (nonatomic, copy) NSString *date;
///星期
@property (nonatomic, copy) NSString *week;
///白天天气现象
@property (nonatomic, copy) NSString *dayWeather;
///晚上天气现象
@property (nonatomic, copy) NSString *nightWeather;
///白天温度
@property (nonatomic, copy) NSString *dayTemp;
///晚上温度
@property (nonatomic, copy) NSString *nightTemp;
///白天风向
@property (nonatomic, copy) NSString *dayWind;
///晚上风向
@property (nonatomic, copy) NSString *nightWind;
///白天风力
@property (nonatomic, copy) NSString *dayPower;
///晚上风力
@property (nonatomic, copy) NSString *nightPower;
@end
///天气预报类支持当前时间在内的3天的天气进行预报
@interface AMapLocalWeatherForecast : AMapSearchObject
///区域编码
@property (nonatomic, copy) NSString *adcode;
///省份名
@property (nonatomic, copy) NSString *province;
///城市名
@property (nonatomic, copy) NSString *city;
///数据发布时间
@property (nonatomic, copy) NSString *reportTime;
///天气预报AMapLocalDayWeatherForecast数组
@property (nonatomic, strong) NSArray<AMapLocalDayWeatherForecast *> *casts;
@end
#pragma mark - 附近搜索
///附近搜索返回的用户信息
@interface AMapNearbyUserInfo : AMapSearchObject
///用户ID
@property (nonatomic, copy) NSString *userID;
///最后更新位置
@property (nonatomic, copy) AMapGeoPoint *location;
///与搜索点的距离由搜索时searchType决定
@property (nonatomic, assign) CGFloat distance;
///最后更新的时间戳,单位秒
@property (nonatomic, assign) NSTimeInterval updatetime;
@end
#pragma mark - 交通态势
///道路路况评价 since 5.1.0
@interface AMapTrafficEvaluation : AMapSearchObject
///综述
@property (nonatomic, copy) NSString *evaluationDescription;
///0未知;1畅通;2缓行;3拥堵
@property (nonatomic, assign) NSInteger status;
///畅通所占百分比
@property (nonatomic, copy) NSString *expedite;
///缓行所占百分比
@property (nonatomic, copy) NSString *congested;
///拥堵所占百分比
@property (nonatomic, copy) NSString *blocked;
///未知路段所占百分比
@property (nonatomic, copy) NSString *unknown;
@end
///道路路况返回的道路信息 since 5.1.0
@interface AMapTrafficRoad : AMapSearchObject
///道路名称
@property (nonatomic, copy) NSString *name;
///0未知;1畅通;2缓行;3拥堵
@property (nonatomic, assign) NSInteger status;
///方向描述
@property (nonatomic, copy) NSString *direction;
///车行角度,判断道路正反向使用。 以正东方向为0度逆时针方向为正取值范围[0,360]
@property (nonatomic, assign) float angle;
///速度 单位:千米/小时
@property (nonatomic, assign) float speed;
///道路坐标集,经度和纬度使用","分隔,坐标之间使用";"分隔。例如x1,y1;x2,y2
@property (nonatomic, copy) NSString *polyline;
@end
///道路路况信息 since 5.1.0
@interface AMapTrafficInfo : AMapSearchObject
///路况综述
@property (nonatomic, copy) NSString *statusDescription;
///路况评价
@property (nonatomic, strong) AMapTrafficEvaluation *evaluation;
///道路信息
@property (nonatomic, strong) NSArray<AMapTrafficRoad*>* roads;
@end
#pragma mark - 企业地图基础数据类型
///POI点的图片信息
@interface AMapCloudImage : AMapSearchObject
///图片的id标识
@property (nonatomic, copy) NSString *uid;
///图片压缩后的url串
@property (nonatomic, copy) NSString *preurl;
///图片原始的url
@property (nonatomic, copy) NSString *url;
@end
///POI信息
@interface AMapCloudPOI : AMapSearchObject
///唯一标识
@property (nonatomic, assign) NSInteger uid;
///名称
@property (nonatomic, copy) NSString *name;
///坐标位置
@property (nonatomic, copy) AMapGeoPoint *location;
///地址
@property (nonatomic, copy) NSString *address;
///用户自定义字段
@property (nonatomic, strong) NSDictionary *customFields;
///创建时间
@property (nonatomic, copy) NSString *createTime;
///更新时间
@property (nonatomic, copy) NSString *updateTime;
///离当前位置的距离(只在企业地图周边搜索时有效)
@property (nonatomic, assign) NSInteger distance;
///图片信息
@property (nonatomic, strong) NSArray<AMapCloudImage *> *images __attribute((deprecated("已废弃 since 7.4.0")));
@end

View File

@ -0,0 +1,85 @@
//
// AMapNearbySearchManager.h
// AMapSearchKit
//
// Created by xiaoming han on 15/8/31.
// Copyright (c) 2015年 Amap. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "AMapNearbyUploadInfo.h"
@class AMapNearbySearchManager;
///附近搜索代理
@protocol AMapNearbySearchManagerDelegate <NSObject>
@optional
/**
* @brief 开启自动上传,需实现该回调。
*/
- (AMapNearbyUploadInfo *)nearbyInfoForUploading:(AMapNearbySearchManager *)manager;
/**
* @brief 用户信息上传完毕回调。
* @param error 错误,为空时表示成功。
*/
- (void)onNearbyInfoUploadedWithError:(NSError *)error;
/**
* @brief 用户信息清除完毕回调。
* @param error 错误,为空时表示成功。
*/
- (void)onUserInfoClearedWithError:(NSError *)error;
@end
///附近搜索管理类,同时只能有一个实例开启,否则可能会出现错误。
@interface AMapNearbySearchManager : NSObject
///上传最小间隔默认15s最小7s。自动上传的过程中设置无效。
@property (nonatomic, assign) NSTimeInterval uploadTimeInterval;
///代理对象。
@property (nonatomic, weak) id<AMapNearbySearchManagerDelegate> delegate;
///是否正在自动上传状态中。
@property (nonatomic, readonly) BOOL isAutoUploading;
/**
* @brief manager单例.
* 初始化之前请设置key否则将无法正常使用该服务.
* @return nearbySearch实例。
*/
+ (instancetype)sharedInstance;
/**
* @brief 请使用单例。
*/
- (instancetype)init __attribute__((unavailable));
/**
* @brief 启动自动上传。
*/
- (void)startAutoUploadNearbyInfo;
/**
* @brief 关闭自动上传。
*/
- (void)stopAutoUploadNearbyInfo;
/**
* @brief 执行单次上传执行间隔不低于uploadTimeInterval最小值否则执行失败。
* @param info 需要上传的信息。
* @return 成功执行返回YES否则返回NO。
*/
- (BOOL)uploadNearbyInfo:(AMapNearbyUploadInfo *)info __attribute((deprecated("已废弃 since 7.4.0,该功能不再支持")));
/**
* @brief 清除服务器上某一用户的信息。
* @param userID 指定的用户ID
* @return 成功执行返回YES否则返回NO。
*/
- (BOOL)clearUserInfoWithID:(NSString *)userID __attribute((deprecated("已废弃 since 7.4.0,该功能不再支持")));
@end

View File

@ -0,0 +1,32 @@
//
// AMapNearbyUploadInfo.h
// AMapSearchKit
//
// Created by xiaoming han on 15/9/6.
// Copyright (c) 2015年 Amap. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CoreLocation/CoreLocation.h>
///上传经纬度类型
typedef NS_ENUM(NSInteger, AMapSearchCoordinateType)
{
AMapSearchCoordinateTypeGPS = 1, ///< 标准GPS坐标
AMapSearchCoordinateTypeAMap = 2, ///< 高德坐标
};
///附近搜索上传信息
@interface AMapNearbyUploadInfo : NSObject<NSCopying>
///用户唯一标识,不能为空,否则上传会失败. 长度不超过32字符只能包含英文、数字、下划线、短横杠
@property (nonatomic, copy) NSString *userID;
///坐标类型,默认是 AMapSearchCoordinateTypeAMap
@property (nonatomic, assign) AMapSearchCoordinateType coordinateType;
///用户位置经纬度。
@property (nonatomic, assign) CLLocationCoordinate2D coordinate;
@end

View File

@ -0,0 +1,418 @@
//
// AMapSearchAPI.h
// AMapSearchKit
//
// Created by xiaoming han on 15/7/22.
// Copyright (c) 2015年 Amap. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "AMapSearchObjV1.h"
#import "AMapSearchObj.h"
#import "AMapCommonObj.h"
#import <AMapFoundationKit/AMapServices.h>
@protocol AMapSearchDelegate;
///搜索结果语言
#define AMapSearchLanguageZhCN @"zh-Hans" ///< 中文
#define AMapSearchLanguageEn @"en" ///< 英文
///搜索类
@interface AMapSearchAPI : NSObject
///实现了 AMapSearchDelegate 协议的类指针。
@property (nonatomic, weak) id<AMapSearchDelegate> delegate;
///查询超时时间单位秒默认为20秒。
@property (nonatomic, assign) NSInteger timeout;
///查询结果返回语言, 默认为中文。
@property (nonatomic, copy) NSString *language;
///自定义参数
@property (nonatomic, copy) NSDictionary<NSString *, NSString *> *customParams;
/**
* @brief AMapSearch的初始化函数。
* 初始化之前请正确设置key否则将无法正常使用搜索服务.
* @return AMapSearch类对象实例
*/
- (instancetype)init;
/**
* @brief 取消所有未回调的请求,触发错误回调。
*/
- (void)cancelAllRequests;
#pragma mark - Privacy 隐私合规
/**
* @brief 更新App是否显示隐私弹窗的状态隐私弹窗是否包含高德SDK隐私协议内容的状态. since 8.1.0
* @param showStatus 隐私弹窗状态
* @param containStatus 包含高德SDK隐私协议状态
*/
+ (void)updatePrivacyShow:(AMapPrivacyShowStatus)showStatus privacyInfo:(AMapPrivacyInfoStatus)containStatus;
/**
* @brief 更新用户授权高德SDK隐私协议状态. since 8.1.0
* @param agreeStatus 用户授权高德SDK隐私协议状态
*/
+ (void)updatePrivacyAgree:(AMapPrivacyAgreeStatus)agreeStatus;
#pragma mark - 搜索服务接口
/**
* @brief POI ID查询接口
* @param request 查询选项。具体属性字段请参考 AMapPOIIDSearchRequest 类。
*/
- (void)AMapPOIIDSearch:(AMapPOIIDSearchRequest *)request;
/**
* @brief POI 关键字查询接口
* @param request 查询选项。具体属性字段请参考 AMapPOIKeywordsSearchRequest 类。
*/
- (void)AMapPOIKeywordsSearch:(AMapPOIKeywordsSearchRequest *)request;
/**
* @brief POI 周边查询接口
* @param request 查询选项。具体属性字段请参考 AMapPOIAroundSearchRequest 类。
*/
- (void)AMapPOIAroundSearch:(AMapPOIAroundSearchRequest *)request;
/**
* @brief POI 多边形查询接口
* @param request 查询选项。具体属性字段请参考 AMapPOIPolygonSearchRequest 类。
*/
- (void)AMapPOIPolygonSearch:(AMapPOIPolygonSearchRequest *)request;
#pragma mark - 搜索服务接口V1API版本V3
/**
* @brief POI ID查询接口
* @param request 查询选项。具体属性字段请参考 AMapPOIIDSearchRequestV1 类。
*/
- (void)AMapPOIIDSearchV1:(AMapPOIIDSearchRequestV1 *)request;
/**
* @brief POI 关键字查询接口
* @param request 查询选项。具体属性字段请参考 AMapPOIKeywordsSearchRequestV1 类。
*/
- (void)AMapPOIKeywordsSearchV1:(AMapPOIKeywordsSearchRequestV1 *)request;
/**
* @brief POI 周边查询接口
* @param request 查询选项。具体属性字段请参考 AMapPOIAroundSearchRequestV1 类。
*/
- (void)AMapPOIAroundSearchV1:(AMapPOIAroundSearchRequestV1 *)request;
/**
* @brief POI 多边形查询接口
* @param request 查询选项。具体属性字段请参考 AMapPOIPolygonSearchRequestV1 类。
*/
- (void)AMapPOIPolygonSearchV1:(AMapPOIPolygonSearchRequestV1 *)request;
/**
* @brief 沿途查询接口 (v4.3.0)
* @param request 查询选项。具体属性字段请参考 AMapRoutePOISearchRequest 类。
*/
- (void)AMapRoutePOISearch:(AMapRoutePOISearchRequest *)request;
/**
* @brief 地址编码查询接口
* @param request 查询选项。具体属性字段请参考 AMapGeocodeSearchRequest 类。
*/
- (void)AMapGeocodeSearch:(AMapGeocodeSearchRequest *)request;
/**
* @brief 逆地址编码查询接口
* @param request 查询选项。具体属性字段请参考 AMapReGeocodeSearchRequest 类。
*/
- (void)AMapReGoecodeSearch:(AMapReGeocodeSearchRequest *)request;
/**
* @brief 输入提示查询接口
* @param request 查询选项。具体属性字段请参考 AMapInputTipsSearchRequest 类。
*/
- (void)AMapInputTipsSearch:(AMapInputTipsSearchRequest *)request;
/**
* @brief 公交站点查询接口
* @param request 查询选项。具体属性字段请参考 AMapBusStopSearchRequest 类。
*/
- (void)AMapBusStopSearch:(AMapBusStopSearchRequest *)request;
/**
* @brief 公交线路关键字查询
* @param request 查询选项。具体属性字段请参考 AMapBusLineIDSearchRequest 类。
*/
- (void)AMapBusLineIDSearch:(AMapBusLineIDSearchRequest *)request;
/**
* @brief 公交线路关键字查询
* @param request 查询选项。具体属性字段请参考 AMapBusLineNameSearchRequest 类。
*/
- (void)AMapBusLineNameSearch:(AMapBusLineNameSearchRequest *)request;
/**
* @brief 行政区域查询接口
* @param request 查询选项。具体属性字段请参考 AMapDistrictSearchRequest 类。
*/
- (void)AMapDistrictSearch:(AMapDistrictSearchRequest *)request;
/**
* @brief 驾车路径规划1.0查询接口
* @param request 查询选项。具体属性字段请参考 AMapDrivingRouteSearchRequest 类。
*/
- (void)AMapDrivingRouteSearch:(AMapDrivingRouteSearchRequest *)request;
/**
* @brief 驾车路径规划V2.0查询接口
* @param request 查询选项。具体属性字段请参考 AMapDrivingCalRouteSearchRequest 类。
*/
- (void)AMapDrivingV2RouteSearch:(AMapDrivingCalRouteSearchRequest *)request;
/**
* @brief 步行路径规划查询接口
* @param request 查询选项。具体属性字段请参考 AMapWalkingRouteSearchRequest 类。
*/
- (void)AMapWalkingRouteSearch:(AMapWalkingRouteSearchRequest *)request;
/**
* @brief 公交路径规划查询接口
* @param request 查询选项。具体属性字段请参考 AMapTransitRouteSearchRequest 类。
*/
- (void)AMapTransitRouteSearch:(AMapTransitRouteSearchRequest *)request;
/**
* @brief 骑行路径规划查询接口 (since 4.3.0)
* @param request 查询选项。具体属性字段请参考 AMapRidingRouteSearchRequest 类。
*/
- (void)AMapRidingRouteSearch:(AMapRidingRouteSearchRequest *)request;
/**
* @brief 货车路径规划查询接口 since 6.1.0
* @param request 查询选项。具体属性字段请参考 AMapTruckRouteSearchRequest 类。
*/
- (void)AMapTruckRouteSearch:(AMapTruckRouteSearchRequest *)request;
/**
* @brief 未来路线规划查询接口 since 6.9.0
* @param request 查询选项。具体属性字段请参考 AMapTruckRouteSearchRequest 类。
*/
- (void)AMapFutureRouteSearch:(AMapFutureRouteSearchRequest *)request;
/**
* @brief 天气查询接口
* @param request 查询选项。具体属性字段请参考 AMapWeatherSearchRequest 类。
*/
- (void)AMapWeatherSearch:(AMapWeatherSearchRequest *)request;
/**
* @brief 距离查询since 6.1.0
* @param request 查询选项。具体属性字段请参考 AMapDistanceSearchRequest 类。
*/
- (void)AMapDistanceSearch:(AMapDistanceSearchRequest *)request;
- (void)AMapChargeStationSearch:(AMapChargeStationSearchRequest *)request;
#pragma mark - 附近搜索相关
/**
* @brief 附近搜索查询接口
* @param request 查询选项。具体属性字段请参考 AMapNearbySearchRequest 类。
*/
- (void)AMapNearbySearch:(AMapNearbySearchRequest *)request __attribute__((deprecated("已废弃, from 7.4.0,该功能不再支持")));
#pragma mark - 企业地图搜索相关
/**
* @brief 企业地图周边查询接口
* @param request 查询选项。具体属性字段请参考 AMapCloudPOIAroundSearchRequest 类。
*/
- (void)AMapCloudPOIAroundSearch:(AMapCloudPOIAroundSearchRequest *)request;
/**
* @brief 企业地图polygon区域查询接口
* @param request 查询选项。具体属性字段请参考 AMapCloudPOIPolygonSearchRequest 类。
*/
- (void)AMapCloudPOIPolygonSearch:(AMapCloudPOIPolygonSearchRequest *)request;
/**
* @brief 企业地图ID查询接口
* @param request 查询选项。具体属性字段请参考 AMapCloudPOIIDSearchRequest 类。
*/
- (void)AMapCloudPOIIDSearch:(AMapCloudPOIIDSearchRequest *)request;
/**
* @brief 企业地图本地查询接口
* @param request 查询选项。具体属性字段请参考 AMapCloudPOILocalSearchRequest 类。
*/
- (void)AMapCloudPOILocalSearch:(AMapCloudPOILocalSearchRequest *)request;
#pragma mark - 短串分享相关
/**
* @brief 位置短串分享接口
* @param request 查询选项。具体属性字段请参考 AMapLocationShareSearchRequest 类。
*/
- (void)AMapLocationShareSearch:(AMapLocationShareSearchRequest *)request;
/**
* @brief 兴趣点短串分享接口
* @param request 查询选项。具体属性字段请参考 AMapPOIShareSearchRequest 类。
*/
- (void)AMapPOIShareSearch:(AMapPOIShareSearchRequest *)request;
/**
* @brief 路线规划短串分享接口
* @param request 查询选项。具体属性字段请参考 AMapRouteShareSearchRequest 类。
*/
- (void)AMapRouteShareSearch:(AMapRouteShareSearchRequest *)request;
/**
* @brief 导航短串分享接口
* @param request 查询选项。具体属性字段请参考 AMapNavigationShareSearchRequest 类。
*/
- (void)AMapNavigationShareSearch:(AMapNavigationShareSearchRequest *)request;
@end
#pragma mark - AMapSearchDelegate
///AMapSearchDelegate协议, 定义了搜索结果的回调方法,发生错误时的错误回调方法。
@protocol AMapSearchDelegate<NSObject>
@optional
/**
* @brief 当请求发生错误时,会调用代理的此方法.
* @param request 发生错误的请求.
* @param error 返回的错误.
*/
- (void)AMapSearchRequest:(id)request didFailWithError:(NSError *)error;
/**
* @brief POI查询回调函数
* @param request 发起的请求,具体字段参考 AMapPOISearchBaseRequest 及其子类。
* @param response 响应结果,具体字段参考 AMapPOISearchResponse 。
*/
- (void)onPOISearchDone:(AMapPOISearchBaseRequest *)request response:(AMapPOISearchResponse *)response;
/**
* @brief POI查询回调函数
* @param request 发起的请求,具体字段参考 AMapPOISearchBaseRequest 及其子类。
* @param response 响应结果,具体字段参考 AMapPOISearchResponse 。
*/
- (void)onPOISearchDoneV1:(AMapPOISearchBaseRequestV1 *)request response:(AMapPOISearchResponseV1 *)response;
/**
* @brief 沿途查询回调函数 (since v4.3.0)
* @param request 发起的请求,具体字段参考 AMapRoutePOISearchRequest 及其子类。
* @param response 响应结果,具体字段参考 AMapRoutePOISearchResponse 。
*/
- (void)onRoutePOISearchDone:(AMapRoutePOISearchRequest *)request response:(AMapRoutePOISearchResponse *)response;
/**
* @brief 地理编码查询回调函数
* @param request 发起的请求,具体字段参考 AMapGeocodeSearchRequest 。
* @param response 响应结果,具体字段参考 AMapGeocodeSearchResponse 。
*/
- (void)onGeocodeSearchDone:(AMapGeocodeSearchRequest *)request response:(AMapGeocodeSearchResponse *)response;
/**
* @brief 逆地理编码查询回调函数
* @param request 发起的请求,具体字段参考 AMapReGeocodeSearchRequest 。
* @param response 响应结果,具体字段参考 AMapReGeocodeSearchResponse 。
*/
- (void)onReGeocodeSearchDone:(AMapReGeocodeSearchRequest *)request response:(AMapReGeocodeSearchResponse *)response;
/**
* @brief 输入提示查询回调函数
* @param request 发起的请求,具体字段参考 AMapInputTipsSearchRequest 。
* @param response 响应结果,具体字段参考 AMapInputTipsSearchResponse 。
*/
- (void)onInputTipsSearchDone:(AMapInputTipsSearchRequest *)request response:(AMapInputTipsSearchResponse *)response;
/**
* @brief 公交站查询回调函数
* @param request 发起的请求,具体字段参考 AMapBusStopSearchRequest 。
* @param response 响应结果,具体字段参考 AMapBusStopSearchResponse 。
*/
- (void)onBusStopSearchDone:(AMapBusStopSearchRequest *)request response:(AMapBusStopSearchResponse *)response;
/**
* @brief 公交线路关键字查询回调
* @param request 发起的请求,具体字段参考 AMapBusLineSearchRequest 。
* @param response 响应结果,具体字段参考 AMapBusLineSearchResponse 。
*/
- (void)onBusLineSearchDone:(AMapBusLineBaseSearchRequest *)request response:(AMapBusLineSearchResponse *)response;
/**
* @brief 行政区域查询回调函数
* @param request 发起的请求,具体字段参考 AMapDistrictSearchRequest 。
* @param response 响应结果,具体字段参考 AMapDistrictSearchResponse 。
*/
- (void)onDistrictSearchDone:(AMapDistrictSearchRequest *)request response:(AMapDistrictSearchResponse *)response;
/**
* @brief 路径规划查询回调
* @param request 发起的请求,具体字段参考 AMapRouteSearchBaseRequest 及其子类。
* @param response 响应结果,具体字段参考 AMapRouteSearchResponse 。
*/
- (void)onRouteSearchDone:(AMapRouteSearchBaseRequest *)request response:(AMapRouteSearchResponse *)response;
/**
* @brief 未来路径规划查询回调 since 6.9.0
* @param request 发起的请求,具体字段参考 AMapRouteSearchBaseRequest 及其子类。
* @param response 响应结果,具体字段参考 AMapRouteSearchResponse 。
*/
- (void)onFutureRouteSearchDone:(AMapRouteSearchBaseRequest *)request response:(AMapFutureRouteSearchResponse *)response;
/**
* @brief 距离查询回调
* @param request 发起的请求,具体字段参考 AMapDistanceSearchRequest 及其子类。
* @param response 响应结果,具体字段参考 AMapDistanceSearchResponse 。
*/
- (void)onDistanceSearchDone:(AMapDistanceSearchRequest *)request response:(AMapDistanceSearchResponse *)response;
/**
* @brief 天气查询回调
* @param request 发起的请求,具体字段参考 AMapWeatherSearchRequest 。
* @param response 响应结果,具体字段参考 AMapWeatherSearchResponse 。
*/
- (void)onWeatherSearchDone:(AMapWeatherSearchRequest *)request response:(AMapWeatherSearchResponse *)response;
#pragma mark - 附近搜索回调
/**
* @brief 附近搜索回调
* @param request 发起的请求,具体字段参考 AMapNearbySearchRequest 。
* @param response 响应结果,具体字段参考 AMapNearbySearchResponse 。
*/
- (void)onNearbySearchDone:(AMapNearbySearchRequest *)request response:(AMapNearbySearchResponse *)response;
#pragma mark - 企业地图搜索回调
/**
* @brief 企业地图查询回调函数
* @param request 发起的请求,具体字段参考 AMapCloudSearchBaseRequest 。
* @param response 响应结果,具体字段参考 AMapCloudPOISearchResponse 。
*/
- (void)onCloudSearchDone:(AMapCloudSearchBaseRequest *)request response:(AMapCloudPOISearchResponse *)response;
#pragma mark - 短串分享搜索回调
/**
* @brief 短串分享搜索回调
* @param request 发起的请求
* @param response 相应结果,具体字段参考 AMapShareSearchResponse。
*/
- (void)onShareSearchDone:(AMapShareSearchBaseRequest *)request response:(AMapShareSearchResponse *)response;
#pragma mark - 车机充电站搜索回调
/**
* @brief 车机充电站搜索回调
* @param request 发起的请求
* @param response 相应结果,具体字段参考 AMapShareSearchResponse。
*/
- (void)onChargeStationSearchDone:(AMapChargeStationSearchRequest *)request response:(AMapChargeStationSearchResponse *)response;
@end

View File

@ -0,0 +1,80 @@
//
// AMapSearchError.h
// AMapSearchKit
//
// Created by xiaoming han on 15/7/29.
// Copyright (c) 2015年 Amap. All rights reserved.
//
#ifndef AMapSearchKit_AMapSearchError_h
#define AMapSearchKit_AMapSearchError_h
///AMapSearch errorDomain
extern NSString * const AMapSearchErrorDomain;
///注意增加errorCode时需增加code对应详细说明信息errorInfoWithCode
///AMapSearch errorCode
typedef NS_ENUM(NSInteger, AMapSearchErrorCode)
{
AMapSearchErrorOK = 1000,///< 没有错误
AMapSearchErrorInvalidSignature = 1001,///< 无效签名
AMapSearchErrorInvalidUserKey = 1002,///< key非法或过期
AMapSearchErrorServiceNotAvailable = 1003,///< 没有权限使用相应的接口
AMapSearchErrorDailyQueryOverLimit = 1004,///< 访问已超出日访问量
AMapSearchErrorTooFrequently = 1005,///< 用户访问过于频繁
AMapSearchErrorInvalidUserIP = 1006,///< 用户IP无效
AMapSearchErrorInvalidUserDomain = 1007,///< 用户域名无效
AMapSearchErrorInvalidUserSCode = 1008,///< 安全码验证错误bundleID与key不对应
AMapSearchErrorUserKeyNotMatch = 1009,///< 请求key与绑定平台不符
AMapSearchErrorIPQueryOverLimit = 1010,///< IP请求超限
AMapSearchErrorNotSupportHttps = 1011,///< 不支持HTTPS请求
AMapSearchErrorInsufficientPrivileges = 1012,///< 权限不足,服务请求被拒绝
AMapSearchErrorUserKeyRecycled = 1013,///< 开发者key被删除无法正常使用
AMapSearchErrorInvalidResponse = 1100,///< 请求服务响应错误
AMapSearchErrorInvalidEngineData = 1101,///< 引擎返回数据异常
AMapSearchErrorConnectTimeout = 1102,///< 服务端请求链接超时
AMapSearchErrorReturnTimeout = 1103,///< 读取服务结果超时
AMapSearchErrorInvalidParams = 1200,///< 请求参数非法
AMapSearchErrorMissingRequiredParams = 1201,///< 缺少必填参数
AMapSearchErrorIllegalRequest = 1202,///< 请求协议非法
AMapSearchErrorServiceUnknown = 1203,///< 其他服务端未知错误
AMapSearchErrorClientUnknown = 1800,///< 客户端未知错误,服务返回结果为空或其他错误
AMapSearchErrorInvalidProtocol = 1801,///< 协议解析错误,通常是返回结果无法解析
AMapSearchErrorTimeOut = 1802,///< 连接超时
AMapSearchErrorBadURL = 1803,///< URL异常
AMapSearchErrorCannotFindHost = 1804,///< 找不到主机
AMapSearchErrorCannotConnectToHost = 1805,///< 服务器连接失败
AMapSearchErrorNotConnectedToInternet = 1806,///< 连接异常,通常为没有网络的情况
AMapSearchErrorCancelled = 1807,///< 连接取消
AMapSearchErrorOverPassPointCount = 1809,///< 途经点个数超限
AMapSearchErrorOverPassAreaMaxCount = 1810,///< 避让区域个数超限
AMapSearchErrorOverPassAreaMaxArea = 1811,///< 避让区域大小超限
AMapSearchErrorOverPassAreaPointCount = 1812,///< 避让区域点个数超限
AMapSearchErrorOverPassKeyWordLenth = 1813,///< 搜索关键字长度超限
AMapSearchErrorTableIDNotExist = 2000,///< table id 格式不正确
AMapSearchErrorIDNotExist = 2001,///< id 不存在
AMapSearchErrorServiceMaintenance = 2002,///< 服务器维护中
AMapSearchErrorEngineTableIDNotExist = 2003,///< key对应的table id 不存在
AMapSearchErrorInvalidNearbyUserID = 2100,///< 找不到对应userID的信息
AMapSearchErrorNearbyKeyNotBind = 2101,///< key未开通“附近”功能
AMapSearchErrorOutOfService = 3000,///< 规划点(包括起点、终点、途经点)不在中国范围内
AMapSearchErrorNoRoadsNearby = 3001,///< 规划点(包括起点、终点、途经点)附近搜不到道路
AMapSearchErrorRouteFailed = 3002,///< 路线计算失败,通常是由于道路连通关系导致
AMapSearchErrorOverDirectionRange = 3003,///< 起点终点距离过长
AMapSearchErrorShareLicenseExpired = 4000,///< 短串分享认证失败
AMapSearchErrorShareFailed = 4001,///< 短串请求失败
};
@interface AMapSearchError : NSObject
///错误码所对应详细信息
+ (NSString *)errorInfoWithCode:(AMapSearchErrorCode)errorCode;
@end
#endif

View File

@ -0,0 +1,16 @@
//
// AMapSearchKit.h
// AMapSearchKit
//
// Created by xiaoming han on 15/7/22.
// Copyright (c) 2015年 Amap. All rights reserved.
//
#import <AMapSearchKit/AMapSearchAPI.h>
#import <AMapSearchKit/AMapSearchObj.h>
#import <AMapSearchKit/AMapCommonObj.h>
#import <AMapSearchKit/AMapSearchError.h>
#import <AMapSearchKit/AMapNearbySearchManager.h>
#import <AMapSearchKit/AMapNearbyUploadInfo.h>
#import <AMapSearchKit/AMapSearchVersion.h>

View File

@ -0,0 +1,874 @@
//
// AMapSearchObj.h
// AMapSearchKit
//
// Created by xiaoming han on 15/7/22.
// Copyright (c) 2015年 Amap. All rights reserved.
//
/* 该文件定义了搜索请求和返回对象。*/
#import <Foundation/Foundation.h>
#import "AMapCommonObj.h"
///沿途搜索类型
typedef NS_ENUM(NSInteger, AMapRoutePOISearchType)
{
AMapRoutePOISearchTypeGasStation = 0, ///< 加油站
AMapRoutePOISearchTypeMaintenanceStation = 1, ///< 维修站
AMapRoutePOISearchTypeATM = 2, ///< ATM
AMapRoutePOISearchTypeToilet = 3, ///< 厕所
AMapRoutePOISearchTypeGasAirStation = 4, ///< 加气站
AMapRoutePOISearchTypeParkStation = 5, ///< 服务区
AMapRoutePOISearchTypeChargingPile = 6, ///< 充电桩
AMapRoutePOISearchTypeFood = 7, ///< 美食
AMapRoutePOISearchTypeHotel = 8, ///< 酒店
};
///天气查询类型
typedef NS_ENUM(NSInteger, AMapWeatherType)
{
AMapWeatherTypeLive = 1, ///< 实时
AMapWeatherTypeForecast ///< 预报
};
///企业地图搜索结果排序
typedef NS_ENUM(NSInteger, AMapCloudSortType)
{
AMapCloudSortTypeDESC = 0, ///< 降序
AMapCloudSortTypeASC = 1 ///< 升序
};
///附近搜索距离类型
typedef NS_ENUM(NSInteger, AMapNearbySearchType)
{
AMapNearbySearchTypeLiner = 0, ///< 直线距离
AMapNearbySearchTypeDriving = 1, ///< 驾车行驶距离
};
///货车类型
typedef NS_ENUM(NSInteger, AMapTruckSizeType)
{
AMapTruckSizeTypeMini = 1, ///< 微型车
AMapTruckSizeTypeLight = 2, ///< 轻型车
AMapTruckSizeTypeMedium = 3, ///< 中型车
AMapTruckSizeTypeHeavy = 4, ///< 重型车
};
///规避道路类型
typedef NS_ENUM(NSInteger, AMapDrivingRouteExcludeType)
{
AMapDrivingRouteExcludeTypeNone = 0, ///< 不规避
AMapDrivingRouteExcludeTypeToll = 1, ///< 收费道路
AMapDrivingRouteExcludeTypeMotorway = 2, ///< 高速路
AMapDrivingRouteExcludeTypeFerry = 3, ///< 渡船
};
///规避道路类型 @since 9.2.0
typedef NS_OPTIONS(NSUInteger, AMapDrivingRouteShowFieldType)
{
AMapDrivingRouteShowFieldTypeNone = 1 << 0, ///< 不返回扩展信息
AMapDrivingRouteShowFieldTypeCost = 1 << 1, ///< 返回方案所需时间及费用成本
AMapDrivingRouteShowFieldTypeTmcs = 1 << 2, ///< 返回分段路况详情
AMapDrivingRouteShowFieldTypeNavi = 1 << 3, ///< 返回详细导航动作指令
AMapDrivingRouteShowFieldTypeCities = 1 << 4, ///< 返回分段途径城市信息
AMapDrivingRouteShowFieldTypePolyline = 1 << 5, ///< 返回分段路坐标点串,两点间用“,”分隔
AMapDrivingRouteShowFieldTypeNewEnergy = 1 << 6,///< 返回分段路坐标点串,两点间用“,”分隔
AMapDrivingRouteShowFieldTypeAll = ~0UL, ///< 返回所有扩展信息
};
///步行路线规划返回结果控制 @since 9.4.0
typedef NS_OPTIONS(NSUInteger, AMapWalkingRouteShowFieldType)
{
AMapWalkingRouteShowFieldTypeNone = 0 << 0, ///< 不返回扩展信息
AMapWalkingRouteShowFieldTypeCost = 1 << 0, ///< 返回方案所需时间及费用成本
AMapWalkingRouteShowFieldTypeNavi = 1 << 1, ///< 返回详细导航动作指令
AMapWalkingRouteShowFieldTypePolyline = 1 << 2, ///< 返回分路段坐标点串,两点间用“,”分隔
AMapWalkingRouteShowFieldTypeAll = ~0UL, ///< 返回所有扩展信息
};
///公交车路线规划返回结果控制 @since 9.4.0
typedef NS_OPTIONS(NSUInteger, AMapTransitRouteShowFieldsType)
{
AMapTransitRouteShowFieldsTypeNone = 1 << 0, ///< 不返回扩展信息
AMapTransitRouteShowFieldsTypeCost = 1 << 1, ///< 返回方案所需时间及费用成本
AMapTransitRouteShowFieldsTypeNavi = 1 << 2, ///< 返回详细导航动作指令
AMapTransitRouteShowFieldsTypePolyline = 1 << 3, ///< 返回分路段坐标点串,两点间用“,”分隔
AMapTransitRouteShowFieldsTypeAll = ~0UL, ///< 返回所有扩展信息
};
///骑行路线规划返回结果控制 @since 9.4.0
typedef NS_OPTIONS(NSUInteger, AMapRidingRouteShowFieldsType)
{
AMapRidingRouteShowFieldsTypeNone = 1 << 0, ///< 不返回扩展信息
AMapRidingRouteShowFieldsTypeCost = 1 << 1, ///< 返回方案所需时间及费用成本
AMapRidingRouteShowFieldsTypeNavi = 1 << 2, ///< 返回详细导航动作指令
AMapRidingRouteShowFieldsTypePolyline = 1 << 3, ///< 返回分路段坐标点串,两点间用“,”分隔
AMapRidingRouteShowFieldsTypeAll = ~0UL, ///< 返回所有扩展信息
};
/// 搜索POI返回结果控制 @since 9.4.0
typedef NS_OPTIONS(NSUInteger, AMapPOISearchShowFieldsType)
{
AMapPOISearchShowFieldsTypeNone = 1 << 0, ///< 不返回扩展信息
AMapPOISearchShowFieldsTypeChildren = 1 << 1, ///< 返回子POI信息
AMapPOISearchShowFieldsTypeBusiness = 1 << 2, ///< 返回商业信息
AMapPOISearchShowFieldsTypeIndoor = 1 << 3, ///< 返回室内相关信息
AMapPOISearchShowFieldsTypeNavi = 1 << 4, ///< 返回导航位置相关信息
AMapPOISearchShowFieldsTypePhotos = 1 << 5, ///< 返回poi图片相关信息
AMapPOISearchShowFieldsTypeAll = ~0UL, ///< 返回所有扩展信息
};
///距离测量类型 @since 7.7.0
typedef NS_ENUM(NSInteger, AMapDistanceSearchType)
{
AMapDistanceSearchTypeStraight = 0, ///< 直线距离
AMapDistanceSearchTypeDrive = 1, ///< 驾车导航距离
AMapDistanceSearchTypeWalk = 3, ///< 步行导航距离
};
#pragma mark - AMapPOISearchBaseRequest
///POI搜索请求基类
@interface AMapPOISearchBaseRequest : AMapSearchObject
///类型,多个类型用“|”分割 可选值:文本分类、分类代码
@property (nonatomic, copy) NSString *types;
///排序规则, 0-距离排序1-综合排序, 默认0
@property (nonatomic, assign) NSInteger sortrule;
///每页记录数, 范围1-25, [default = 10]
@property (nonatomic, assign) NSInteger offset;
///当前页数, 范围1-100, [default = 1]
@property (nonatomic, assign) NSInteger page;
///设置需要返回的扩展信息默认为AMapPOISearchShowFieldsTypeNone只返回基础信息字段
@property (nonatomic, assign) AMapPOISearchShowFieldsType showFieldsType;
@end
///POI ID搜索请求
@interface AMapPOIIDSearchRequest : AMapPOISearchBaseRequest
///poi唯一标识最多可以传入10个id多个id之间用“|”分隔。必填
@property (nonatomic, copy) NSString *uid;
@end
///POI关键字搜索
@interface AMapPOIKeywordsSearchRequest : AMapPOISearchBaseRequest
///查询关键字,多个关键字用“|”分割
@property (nonatomic, copy) NSString *keywords;
///查询城市可选值cityname中文或中文全拼、citycode、adcode.(注:台湾省的城市一律设置为【台湾】,不具体到市。)
@property (nonatomic, copy) NSString *city;
///强制城市限制功能 默认NO例如在上海搜索天安门如果citylimit为true将不返回北京的天安门相关的POI
@property (nonatomic, assign) BOOL cityLimit;
///设置后如果sortrule==0则返回结果会按照距离此点的远近来排序,since 5.2.1
@property (nonatomic, strong) AMapGeoPoint *location;
@end
///POI周边搜索
@interface AMapPOIAroundSearchRequest : AMapPOISearchBaseRequest
///查询关键字,多个关键字用“|”分割。可选
@property (nonatomic, copy) NSString *keywords;
///中心点坐标
@property (nonatomic, copy) AMapGeoPoint *location;
///查询半径范围0-50000单位米 [default = 3000]
@property (nonatomic, assign) NSInteger radius;
///查询城市可选值cityname中文或中文全拼、citycode、adcode。注当用户指定的经纬度和city出现冲突若范围内有用户指定city的数据则返回相关数据否则返回为空。since 5.7.0
@property (nonatomic, copy) NSString *city;
@end
///POI多边形搜索
@interface AMapPOIPolygonSearchRequest : AMapPOISearchBaseRequest
///查询关键字,多个关键字用“|”分割。可选
@property (nonatomic, copy) NSString *keywords;
///多边形区域,多个坐标对集合,坐标对用"|"分割。多边形为矩形时,可传入左上右下两顶点坐标对;其他情况下首尾坐标对需相同。必填
@property (nonatomic, copy) AMapGeoPolygon *polygon;
@end
///POI搜索返回
@interface AMapPOISearchResponse : AMapSearchObject
///返回的POI数目
@property (nonatomic, assign) NSInteger count;
///关键字建议列表和城市建议列表
@property (nonatomic, strong) AMapSuggestion *suggestion;
///POI结果AMapPOI 数组
@property (nonatomic, strong) NSArray<AMapPOI *> *pois;
@end
#pragma mark - AMapPOIRouteSearchRequest
///沿途搜索, 注意起点和终点不能相距太远(大概70公里),否则可能搜索结果为空
@interface AMapRoutePOISearchRequest : AMapSearchObject
///中心点坐标
@property (nonatomic, copy) AMapGeoPoint *origin;
///目标点坐标
@property (nonatomic, copy) AMapGeoPoint *destination;
///搜索类型
@property (nonatomic, assign) AMapRoutePOISearchType searchType;
///驾车导航策略同驾车路径规划请求的策略5 多策略除外)
@property (nonatomic, assign) NSInteger strategy;
///道路周围搜索范围,单位米,[0-500]默认250。
@property (nonatomic, assign) NSInteger range;
///用户自己规划的路线,在origin、destination未填入时为必填.格式为:"经度,纬度;经度,纬度;...". 目前限制个数最多为100个点
@property (nonatomic, strong) NSString *polylineStr;
///用户自己规划的路线,在origin、destination未填入且polylineStr未填入时为必填. 目前限制个数最多为100个点
@property (nonatomic, strong) NSArray<AMapGeoPoint*> *polyline;
@end
///沿途搜索返回
@interface AMapRoutePOISearchResponse : AMapSearchObject
///返回的POI数目
@property (nonatomic, assign) NSInteger count;
///POI结果AMapRoutePOI 数组
@property (nonatomic, strong) NSArray<AMapRoutePOI *> *pois;
@end
#pragma mark - AMapInputTipsSearchRequest
///搜索提示请求
@interface AMapInputTipsSearchRequest : AMapSearchObject
///查询关键字
@property (nonatomic, copy) NSString *keywords;
///查询城市可选值cityname中文或中文全拼、citycode、adcode.
@property (nonatomic, copy) NSString *city;
///类型,多个类型用“|”分割 可选值:文本分类、分类代码
@property (nonatomic, copy) NSString *types;
///强制城市限制功能例如在上海搜索天安门如果citylimit为true将不返回北京的天安门相关的POI
@property (nonatomic, assign) BOOL cityLimit;
///格式形如:@"116.481488,39.990464",(经度,纬度)不可以包含空格。如果设置在此location附近优先返回搜索关键词信息, since 5.0.0
@property (nonatomic, copy) NSString *location;
@end
///搜索提示返回
@interface AMapInputTipsSearchResponse : AMapSearchObject
///返回数目
@property (nonatomic, assign) NSInteger count;
///提示列表 AMapTip 数组, AMapTip 有多种属性,可根据该对象的返回信息,配合其他搜索服务使用,完善您应用的功能。如:\n 1uid为空location为空该提示语为品牌词可根据该品牌词进行POI关键词搜索。\n 2uid不为空location为空为公交线路根据uid进行公交线路查询。\n 3uid不为空location也不为空是一个真实存在的POI可直接显示在地图上。
@property (nonatomic, strong) NSArray<AMapTip *> *tips;
@end
#pragma mark - AMapGeocodeSearchRequest
///地理编码请求
@interface AMapGeocodeSearchRequest : AMapSearchObject
///地址
@property (nonatomic, copy) NSString *address;
///查询城市可选值cityname中文或中文全拼、citycode、adcode.
@property (nonatomic, copy) NSString *city;
///指定查询国家,支持多个国家,用“|”分隔可选值国家代码ISO 3166 或 global仅海外生效since 7.4.0
@property (nonatomic, copy) NSString *country;
@end
///地理编码返回
@interface AMapGeocodeSearchResponse : AMapSearchObject
///返回数目
@property (nonatomic, assign) NSInteger count;
///地理编码结果 AMapGeocode 数组
@property (nonatomic, strong) NSArray<AMapGeocode *> *geocodes;
@end
#pragma mark - AMapReGeocodeSearchRequest
///逆地理编码请求
@interface AMapReGeocodeSearchRequest : AMapSearchObject
///是否返回扩展信息默认NO。
@property (nonatomic, assign) BOOL requireExtension;
///中心点坐标。
@property (nonatomic, copy) AMapGeoPoint *location;
///查询半径单位米范围0~3000默认1000。
@property (nonatomic, assign) NSInteger radius;
///指定返回结果poi数组中的POI类型在requireExtension=YES时生效。输入为typecode, 支持传入多个typecode, 多值时用“|”分割
@property (nonatomic, copy) NSString *poitype;
///distance 按距离返回,score 按权重返回仅海外生效since 7.4.0
@property (nonatomic, copy) NSString *mode;
@end
///逆地理编码返回
@interface AMapReGeocodeSearchResponse : AMapSearchObject
///逆地理编码结果
@property (nonatomic, strong) AMapReGeocode *regeocode;
@end
#pragma mark - AMapBusStopSearchRequest
///公交站点请求
@interface AMapBusStopSearchRequest : AMapSearchObject
///查询关键字
@property (nonatomic, copy) NSString *keywords;
///城市 可选值cityname中文或中文全拼、citycode、adcode
@property (nonatomic, copy) NSString *city;
///每页记录数默认为20取值为1-50
@property (nonatomic, assign) NSInteger offset;
///当前页数默认值为1取值为1-100
@property (nonatomic, assign) NSInteger page;
@end
///公交站点返回
@interface AMapBusStopSearchResponse : AMapSearchObject
///公交站数目
@property (nonatomic, assign) NSInteger count;
///关键字建议列表和城市建议列表
@property (nonatomic, strong) AMapSuggestion *suggestion;
///公交站点数组数组中存放AMapBusStop对象
@property (nonatomic, strong) NSArray<AMapBusStop *> *busstops;
@end
#pragma mark - AMapBusLineSearchRequest
///公交线路查询请求基类,不可直接调用
@interface AMapBusLineBaseSearchRequest : AMapSearchObject
///城市 可选值cityname中文或中文全拼、citycode、adcode
@property (nonatomic, copy) NSString *city;
///是否返回扩展信息默认为NO
@property (nonatomic, assign) BOOL requireExtension;
///每页记录数默认为20取值为150
@property (nonatomic, assign) NSInteger offset;
///当前页数默认为1取值为1-100
@property (nonatomic, assign) NSInteger page;
@end
///公交站线路根据名字请求
@interface AMapBusLineNameSearchRequest : AMapBusLineBaseSearchRequest
///查询关键字
@property (nonatomic, copy) NSString *keywords;
@end
///公交站线路根据ID请求
@interface AMapBusLineIDSearchRequest : AMapBusLineBaseSearchRequest
///唯一标识
@property (nonatomic, copy) NSString *uid;
@end
///公交站线路返回
@interface AMapBusLineSearchResponse : AMapSearchObject
///返回公交站数目
@property (nonatomic, assign) NSInteger count;
///关键字建议列表和城市建议列表
@property (nonatomic, strong) AMapSuggestion *suggestion;
///公交线路数组,数组中存放 AMapBusLine 对象
@property (nonatomic, strong) NSArray<AMapBusLine *> *buslines;
@end
#pragma mark - AMapDistrictSearchRequest
///行政区划查询请求
@interface AMapDistrictSearchRequest : AMapSearchObject
///查询关键字,只支持单关键字搜索,全国范围
@property (nonatomic, copy) NSString *keywords;
///是否返回边界坐标默认NO
@property (nonatomic, assign) BOOL requireExtension;
///是否显示商圈信息默认NO。注已废弃行政区划搜索无商圈信息。
@property (nonatomic, assign) BOOL showBusinessArea __attribute__((deprecated("已废弃, from 5.3.0")));;
///每页记录数, 范围1-50, [default = 20]
@property (nonatomic, assign) NSInteger offset;
///当前页数, 范围1-100, [default = 1]
@property (nonatomic, assign) NSInteger page;
///子区域层级默认1。规则设置显示下级行政区级数行政区级别包括国家、省/直辖市、市、区/县、乡镇/街道多级数据可选值0、1、2、3等数字0-不返回下级行政区1-返回下一级行政区2-返回下两级行政区3-返回下三级行政区
@property (nonatomic, assign) NSInteger subdistrict;
@end
///行政区划响应
@interface AMapDistrictSearchResponse : AMapSearchObject
///返回数目
@property (nonatomic, assign) NSInteger count;
///行政区域 AMapDistrict 数组
@property (nonatomic, strong) NSArray<AMapDistrict *> *districts;
@end
#pragma mark - AMapRouteSearchBaseRequest
///路径规划基础类,不可直接调用
@interface AMapRouteSearchBaseRequest : AMapSearchObject
///出发点
@property (nonatomic, copy) AMapGeoPoint *origin;
///目的地
@property (nonatomic, copy) AMapGeoPoint *destination;
@end
#pragma mark - AMapDrivingCalRouteSearchRequest
///驾车路径规划2.0
@interface AMapDrivingCalRouteSearchRequest : AMapRouteSearchBaseRequest
/**
驾车导航策略默认策略为32。
32默认高德推荐同高德地图APP默认
33躲避拥堵
34高速优先
35不走高速
36少收费
37大路优先
38速度最快
39躲避拥堵高速优先
40躲避拥堵不走高速
41躲避拥堵少收费
42少收费不走高速
43躲避拥堵少收费不走高速
44躲避拥堵大路优先
45躲避拥堵速度最快
*/
@property (nonatomic, assign) NSInteger strategy;
///途经点 AMapGeoPoint 数组目前最多支持16个途经点
@property (nonatomic, copy) NSArray<AMapGeoPoint *> *waypoints;
///避让区域 AMapGeoPolygon 数组目前最多支持32个避让区域每个区域16个点
@property (nonatomic, copy) NSArray<AMapGeoPolygon *> *avoidpolygons;
///避让道路名
@property (nonatomic, copy) NSString *avoidroad;
///出发点 POI ID
@property (nonatomic, copy) NSString *originId;
///目的地 POI ID
@property (nonatomic, copy) NSString *destinationId;
///出发点POI类型编码此值可以辅助更精准的起点算路0普通道路、1高架上、2高架下、3主路、4辅路、5隧道、7环岛、9停车场内部
@property (nonatomic, copy) NSString *origintype;
///目的地POI类型编码
@property (nonatomic, copy) NSString *destinationtype;
///车牌信息如京AHA322支持6位传统车牌和7位新能源车牌用于判断是否限行
@property (nonatomic, copy) NSString *plate;
///使用轮渡,0使用1不使用,默认为0使用
@property (nonatomic, assign) NSInteger ferry;
/**
驾车路径规划车辆类型默认策略为0。
0普通汽车(默认值);
1纯电动车;
2插电混动车
*/
@property (nonatomic, assign) NSInteger cartype;
///设置需要返回的扩展信息默认为AMapDrivingRouteShowFieldTypeNone只返回基础信息字段
@property (nonatomic, assign) AMapDrivingRouteShowFieldType showFieldType;
@end
#pragma mark - AMapDrivingRouteSearchRequest
///驾车路径规划
@interface AMapDrivingRouteSearchRequest : AMapRouteSearchBaseRequest
/**
驾车导航策略默认策略为0。
0速度优先时间)1费用优先不走收费路段的最快道路2距离优先3不走快速路4躲避拥堵
5多策略同时使用速度优先、费用优先、距离优先三个策略计算路径其中必须说明就算使用三个策略算路会根据路况不固定的返回一至三条路径规划信息
6不走高速7不走高速且避免收费8躲避收费和拥堵9不走高速且躲避收费和拥堵
10多备选时间最短距离最短躲避拥堵考虑路况
11多备选时间最短距离最短
12多备选躲避拥堵考虑路况
13多备选不走高速
14多备选费用优先
15多备选躲避拥堵不走高速考虑路况
16多备选费用有限不走高速
17多备选躲避拥堵费用优先考虑路况
18多备选躲避拥堵不走高速费用优先考虑路况
19多备选高速优先
20多备选高速优先躲避拥堵考虑路况
*/
@property (nonatomic, assign) NSInteger strategy;
///途经点 AMapGeoPoint 数组目前最多支持6个途经点
@property (nonatomic, copy) NSArray<AMapGeoPoint *> *waypoints;
///避让区域 AMapGeoPolygon 数组目前最多支持100个避让区域每个区域16个点
@property (nonatomic, copy) NSArray<AMapGeoPolygon *> *avoidpolygons;
///避让道路名
@property (nonatomic, copy) NSString *avoidroad;
///出发点 POI ID
@property (nonatomic, copy) NSString *originId;
///目的地 POI ID
@property (nonatomic, copy) NSString *destinationId;
///出发点POI类型编码
@property (nonatomic, copy) NSString *origintype;
///目的地POI类型编码
@property (nonatomic, copy) NSString *destinationtype;
///是否返回扩展信息,默认为 NO
@property (nonatomic, assign) BOOL requireExtension;
///车牌省份,用汉字填入车牌省份缩写。用于判断是否限行
@property (nonatomic, copy) NSString *plateProvince;
///车牌详情,填入除省份及标点之外的字母和数字(需大写)。用于判断是否限行。
@property (nonatomic, copy) NSString *plateNumber;
///使用轮渡,0使用1不使用,默认为0使用
@property (nonatomic, assign) NSInteger ferry;
/**
驾车路径规划车辆类型默认策略为0。
0普通汽车(默认值);
1纯电动车;
2插电混动车
*/
@property (nonatomic, assign) NSInteger cartype;
///规避道路类型,默认为AMapDrivingRouteExcludeTypeNone仅海外生效
@property (nonatomic, assign) AMapDrivingRouteExcludeType exclude;
@end
#pragma mark - AMapWalkingRouteSearchRequest
///步行路径规划
@interface AMapWalkingRouteSearchRequest : AMapRouteSearchBaseRequest
///是否提供备选步行方案([default = 0])0-只提供一条步行方案; 1-提供备选步行方案(有可能无备选方案)
@property (nonatomic, assign) NSInteger multipath __attribute__((deprecated("已废弃, from 5.0.0")));
///是否需要室内算路. 0 : 不需要 (默认值); 1 : 需要
@property (nonatomic, assign) NSInteger isindoor;
///返回路线条数, 0: 默认返回一条路线方案; 1 : 多备选路线中第一条路线; 2 : 多备选路线中前两条路线; 3 : 多备选路线中三条路线
@property (nonatomic, assign) NSInteger alternativeRoute;
///设置需要返回的扩展信息默认为AMapPOISearchShowFieldsTypeNone只返回基础信息字段
@property (nonatomic, assign) AMapWalkingRouteShowFieldType showFieldsType;
@end
#pragma mark - AMapTransitRouteSearchRequest
///公交路径规划
@interface AMapTransitRouteSearchRequest : AMapRouteSearchBaseRequest
///公交换乘策略([default = 0])
/*
0推荐模式综合权重同高德APP默认
1最经济模式票价最低
2最少换乘模式换乘次数少
3最少步行模式尽可能减少步行距离
4最舒适模式尽可能乘坐空调车
5不乘地铁模式不乘坐地铁路线
6地铁图模式起终点都是地铁站地铁图模式下originpoi及destinationpoi为必填项
7地铁优先模式步行距离不超过4KM
8时间短模式方案花费总时间最少
*/
@property (nonatomic, assign) NSInteger strategy;
///起点所在城市, 必填. 仅支持citycode
@property (nonatomic, copy) NSString *city;
///目的地所在城市, 必填. 仅支持citycode与city相同时代表同城不同时代表跨城
@property (nonatomic, copy) NSString *destinationCity;
///是否包含夜班车,默认为 NO
@property (nonatomic, assign) BOOL nightflag;
///起点POI ID
@property (nonatomic, copy) NSString *originPOI;
///目的地POI ID
@property (nonatomic, copy) NSString *destinationPOI;
///起点所在行政区域编码
@property (nonatomic, copy) NSString *adcode;
///终点所在行政区域编码
@property (nonatomic, copy) NSString *destinationAdcode;
///返回方案条数 可传入1-10的阿拉伯数字代表返回的不同条数。默认值5
@property (nonatomic, assign) NSInteger alternativeRoute;
/// 是否返回所有地铁出入口默认为NO
@property (nonatomic, assign) BOOL multiExport;
/// 最大换乘次数 0直达 1最多换乘1次 2最多换乘2次 3最多换乘3次 4最多换乘4次。默认值4
@property (nonatomic, assign) NSInteger maxTrans;
///请求日期 例如:2013-10-28
@property (nonatomic, copy) NSString *date;
///请求时间 例如:9-54
@property (nonatomic, copy) NSString *time;
///返回结果控制
@property (nonatomic, assign) AMapTransitRouteShowFieldsType showFieldsType;
@end
#pragma mark - AMapRidingRouteSearchRequest
///骑行路径规划
@interface AMapRidingRouteSearchRequest : AMapRouteSearchBaseRequest
///返回路线条数, 0: 默认返回一条路线方案; 1 : 多备选路线中第一条路线; 2 : 多备选路线中前两条路线; 3 : 多备选路线中三条路线
@property (nonatomic, assign) NSInteger alternativeRoute;
///返回结果控制
@property (nonatomic, assign) AMapRidingRouteShowFieldsType showFieldsType;
@end
///路径规划返回
@interface AMapRouteSearchResponse : AMapSearchObject
///路径规划信息数目
@property (nonatomic, assign) NSInteger count;
///路径规划信息
@property (nonatomic, strong) AMapRoute *route;
@end
///骑行路径规划返回
@interface AMapRidingRouteSearchResponse : AMapRouteSearchResponse
@end
#pragma mark - AMapTruckRouteSearchRequest
///货车路径规划since 6.1.0
@interface AMapTruckRouteSearchRequest : AMapRouteSearchBaseRequest
/**
驾车导航策略默认为策略1。
1返回的结果考虑路况尽量躲避拥堵而规划路径与高德地图的“躲避拥堵”策略一致
2返回的结果不走高速与高德地图“不走高速”策略一致
3返回的结果尽可能规划收费较低甚至免费的路径与高德地图“避免收费”策略一致
4返回的结果考虑路况尽量躲避拥堵而规划路径并且不走高速与高德地图的“躲避拥堵&不走高速”策略一致;
5返回的结果尽量不走高速并且尽量规划收费较低甚至免费的路径结果与高德地图的“避免收费&不走高速”策略一致;
6返回路径规划结果会尽量的躲避拥堵并且规划收费较低甚至免费的路径结果与高德地图的“躲避拥堵&避免收费”策略一致;
7返回的结果尽量躲避拥堵规划收费较低甚至免费的路径结果并且尽量不走高速路与高德地图的“避免拥堵&避免收费&不走高速”策略一致;
8返回的结果会优先选择高速路与高德地图的“高速优先”策略一致
9返回的结果会优先考虑高速路并且会考虑路况躲避拥堵与高德地图的“躲避拥堵&高速优先”策略一致。
*/
@property (nonatomic, assign) NSInteger strategy;
///途经点 AMapGeoPoint 数组最多支持16个途经点
@property (nonatomic, copy) NSArray<AMapGeoPoint *> *waypoints;
///出发点 POI ID
@property (nonatomic, copy) NSString *originId;
///目的地 POI ID
@property (nonatomic, copy) NSString *destinationId;
///出发点POI类型编码
@property (nonatomic, copy) NSString *origintype;
///目的地POI类型编码
@property (nonatomic, copy) NSString *destinationtype;
///车牌省份,用汉字填入车牌省份缩写。用于判断是否限行
@property (nonatomic, copy) NSString *plateProvince;
///车牌详情,填入除省份及标点之外的字母和数字(需大写)。用于判断是否限行。
@property (nonatomic, copy) NSString *plateNumber;
///货车大小,默认为 轻型车AMapTruckSizeTypeLight
@property (nonatomic, assign) AMapTruckSizeType size;
///车辆高度,单位米,取值[0 25.5]米,默认 1.6 米
@property (nonatomic, assign) CGFloat height;
///车辆宽度,单位米,取值[0 25.5]米,默认 2.5 米
@property (nonatomic, assign) CGFloat width;
///车辆总重,单位吨,取值[0 6553.5]吨,默认 0.9 吨
@property (nonatomic, assign) CGFloat load;
///货车核定载重,单位吨,取值[0 6553.5]吨,默认 10 吨
@property (nonatomic, assign) CGFloat weight;
///车辆轴数,单位个,取值[0 255]个,默认 2个轴
@property (nonatomic, assign) NSInteger axis;
///是否返回扩展信息,默认为 NO since 7.6.0
@property (nonatomic, assign) BOOL requireExtension;
@end
#pragma mark - AMapDistanceSearchRequest
///距离查询请求since 6.1.0
@interface AMapDistanceSearchRequest : AMapSearchObject
///起点坐标数组最多支持100个点。
@property (nonatomic, strong) NSArray<AMapGeoPoint *> *origins;
///终点坐标
@property (nonatomic, strong) AMapGeoPoint *destination;
///路径计算的类型当type为导航距离时会考虑路况故在不同时间请求返回结果可能不同
@property (nonatomic, assign) AMapDistanceSearchType type;
///驾车距离测量策略参考驾车路径规划。仅当type为AMapDistanceSearchTypeDrive时有效默认4
@property (nonatomic, assign) NSInteger strategy;
///是否返回扩展信息,默认为 NO since 7.6.0
@property (nonatomic, assign) BOOL requireExtension;
@end
///距离查询结果since 6.1.0
@interface AMapDistanceSearchResponse : AMapSearchObject
///距离查询结果 AMapDistanceResult 数组。
@property (nonatomic, strong) NSArray<AMapDistanceResult *> *results;
@end
#pragma mark - AMapWeatherSearchRequest
///天气查询请求
@interface AMapWeatherSearchRequest : AMapSearchObject
///城市名称支持cityname及adcode
@property (nonatomic, copy) NSString *city;
///气象类型Live为实时天气Forecast为后三天预报天气默认为Live
@property (nonatomic, assign) AMapWeatherType type;
@end
///天气查询返回
@interface AMapWeatherSearchResponse : AMapSearchObject
///实时天气数据信息 AMapLocalWeatherLive 数组,仅在请求实时天气时有返回。
@property (nonatomic, strong) NSArray<AMapLocalWeatherLive *> *lives;
///预报天气数据信息 AMapLocalWeatherForecast 数组,仅在请求预报天气时有返回
@property (nonatomic, strong) NSArray<AMapLocalWeatherForecast *> *forecasts;
@end
#pragma mark - AMapNearbySearchRequest
///附近搜索请求
@interface AMapNearbySearchRequest : AMapSearchObject
///中心点坐标
@property (nonatomic, copy) AMapGeoPoint *center;
///查询半径,范围:[0, 10000],单位:米 [default = 1000]
@property (nonatomic, assign) NSInteger radius;
///搜索距离类型,默认为直线距离
@property (nonatomic, assign) AMapNearbySearchType searchType;
///检索时间范围超过24小时的数据无法返回范围[5, 24*60*60] 单位:秒 [default = 1800]
@property (nonatomic, assign) NSInteger timeRange;
///返回条数,范围[1, 100], 默认30
@property (nonatomic, assign) NSInteger limit;
@end
///附近搜索返回
@interface AMapNearbySearchResponse : AMapSearchObject
///结果总条数
@property (nonatomic, assign) NSInteger count;
///周边用户信息 AMapNearbyUserInfo 数组
@property (nonatomic, strong) NSArray<AMapNearbyUserInfo *> *infos;
@end
#pragma mark - AMapCloudSearchBaseRequest
///企业地图搜索请求基类
@interface AMapCloudSearchBaseRequest : AMapSearchObject
///要查询的表格ID, 必选
@property (nonatomic, copy) NSString *tableID;
///筛选条件数组, 可选, 说明:\n 1.支持建立索引的字段根据多个条件筛选,多个条件用双&符号连接;\n 2.判断符合支持:>= 大于等于,<= 小于等于,>大于,<小于,= 精确匹配(text索引不可用);\n 3.示例规则key1=value1&&key2=value2&&lastloctime>=1469817532示例"name=王师傅|张师傅&&lastloctime>=1469817532
@property (nonatomic, strong) NSArray<NSString *> *filter;
///排序字段名, 可选.\n 说明:\n 1.支持按建立了排序筛选索引的整数或小数字段进行排序sortFields = "字段名"\n 2.系统预设的字段(忽略sortType)_distance坐标与中心点距离升序排序仅在周边检索时有效若其它请求使用会异常返回_weight权重降序排序当存在keywords时有效\n
@property (nonatomic, copy) NSString *sortFields;
///可选, 排序方式(默认升序)
@property (nonatomic, assign) AMapCloudSortType sortType;
///可选, 每页记录数(每页最大记录数100, 默认20)
@property (nonatomic, assign) NSInteger offset;
///可选, 当前页数(>=1, 默认1)
@property (nonatomic, assign) NSInteger page;
@end
#pragma mark - AMapCloudPlaceAroundSearchRequest
///企业地图周边搜请求
@interface AMapCloudPOIAroundSearchRequest : AMapCloudSearchBaseRequest
///必填,中心点坐标。
@property (nonatomic, copy) AMapGeoPoint *center;
///可选查询半径默认值为3000单位
@property (nonatomic, assign) NSInteger radius;
///可选,搜索关键词。\n 说明1. 只支持建立过文本索引的字段查询/n 2.支持关键字模糊检索即对建立【文本索引字段】对应列内容进行模糊检索如keywords=工商银行检索返回已建立文本索引列值中包含“工商”或者“银行”或者“工商银行”关键字的POI结果集。/n 3.支持关键字多值模糊检索如keywords=招商银行&&华夏银行&&工商银行检索返回已建立索引列值中包含“招商银行”或者“华夏银行”或者“工商银行”的POI结果集不会返回检索词切分后如仅包含“招商”或者“银行”的POI集
@property (nonatomic, copy) NSString *keywords;
@end
///企业地图polygon区域查询请求
@interface AMapCloudPOIPolygonSearchRequest : AMapCloudSearchBaseRequest
///必填,多边形。
@property (nonatomic, copy) AMapGeoPolygon *polygon;
///可选,搜索关键词。\n 说明1. 只支持建立过文本索引的字段查询/n 2.支持关键字模糊检索即对建立【文本索引字段】对应列内容进行模糊检索如keywords=工商银行检索返回已建立文本索引列值中包含“工商”或者“银行”或者“工商银行”关键字的POI结果集。/n 3.支持关键字多值模糊检索如keywords=招商银行&&华夏银行&&工商银行检索返回已建立索引列值中包含“招商银行”或者“华夏银行”或者“工商银行”的POI结果集不会返回检索词切分后如仅包含“招商”或者“银行”的POI集
@property (nonatomic, copy) NSString *keywords;
@end
///企业地图ID查询请求
@interface AMapCloudPOIIDSearchRequest : AMapCloudSearchBaseRequest
///必填,POI的ID
@property (nonatomic, assign) NSInteger uid;
@end
///企业地图本地查询请求
@interface AMapCloudPOILocalSearchRequest : AMapCloudSearchBaseRequest
///可选,搜索关键词。\n 说明1. 只支持建立过文本索引的字段查询/n 2.支持关键字模糊检索即对建立【文本索引字段】对应列内容进行模糊检索如keywords=工商银行检索返回已建立文本索引列值中包含“工商”或者“银行”或者“工商银行”关键字的POI结果集。/n 3.支持关键字多值模糊检索如keywords=招商银行&&华夏银行&&工商银行检索返回已建立索引列值中包含“招商银行”或者“华夏银行”或者“工商银行”的POI结果集不会返回检索词切分后如仅包含“招商”或者“银行”的POI集
@property (nonatomic, copy) NSString *keywords;
///必填,城市名称\n 说明:\n 1. 支持全国/省/市/区县行政区划范围的检索;\n 2. city = "全国",即对用户全表搜索;\n 3. 当city值设置非法或不正确时按照 city = "全国"返回。
@property (nonatomic, copy) NSString *city;
@end
///企业地图搜索返回
@interface AMapCloudPOISearchResponse : AMapSearchObject
///返回结果总数目
@property (nonatomic, assign) NSInteger count;
///返回的结果, AMapCloudPOI 数组
@property (nonatomic, strong) NSArray<AMapCloudPOI *> *POIs;
@end
#pragma mark - AMapShareSearchBaseRequest
///短串分享搜索请求基类, 请使用具体的子类。
@interface AMapShareSearchBaseRequest : AMapSearchObject
@end
///位置短串分享请求
@interface AMapLocationShareSearchRequest : AMapShareSearchBaseRequest
///必填, 位置坐标
@property (nonatomic, copy) AMapGeoPoint *location;
///位置名称,请不要包含【,%&@#】等特殊符号
@property (nonatomic, copy) NSString *name;
@end
///兴趣点短串分享请求
@interface AMapPOIShareSearchRequest : AMapShareSearchBaseRequest
///POI的ID如果有ID则指定POI否则按name查询。
@property (nonatomic, copy) NSString *uid;
///坐标
@property (nonatomic, copy) AMapGeoPoint *location;
///名称,请不要包含【,%&@#】等特殊符号。
@property (nonatomic, copy) NSString *name;
///地址,请不要包含【,%&@#】等特殊符号。
@property (nonatomic, copy) NSString *address;
@end
///路径规划短串分享请求
@interface AMapRouteShareSearchRequest : AMapShareSearchBaseRequest
///默认为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 步行,无策略,均一样
@property (nonatomic, assign) NSInteger strategy;
///Route的type默认为0超出范围为0.\n 0为驾车\n 1为公交\n 2为步行
@property (nonatomic, assign) NSInteger type;
///起点坐标
@property (nonatomic, copy) AMapGeoPoint *startCoordinate;
///终点坐标
@property (nonatomic, copy) AMapGeoPoint *destinationCoordinate;
///起点名称,默认为“已选择的位置”,请不要包含【,%&@#】等特殊符号
@property (nonatomic, copy) NSString *startName;
///终点名称,默认为“已选择的位置”,请不要包含【,%&@#】等特殊符号
@property (nonatomic, copy) NSString *destinationName;
@end
///导航短串分享请求
@interface AMapNavigationShareSearchRequest : AMapShareSearchBaseRequest
///默认为0超出范围为0\n 驾车:0-速度最快(时间);\n 1-避免收费(不走收费路段的最快道路);\n 2-距离优先;\n 3-不走高速;\n 4-结合实时交通(躲避拥堵);\n 5-不走高速且避免收费;\n 6-不走高速且躲避拥堵;\n 7-躲避收费和拥堵;\n 8-不走高速且躲避收费和拥堵
@property (nonatomic, assign) NSInteger strategy;
///起点坐标,若跳转到高德地图,默认更换为定位坐标
@property (nonatomic, copy) AMapGeoPoint *startCoordinate;
///终点坐标
@property (nonatomic, copy) AMapGeoPoint *destinationCoordinate;
@end
///导航短串分享响应
@interface AMapShareSearchResponse : AMapSearchObject
///转换后的短串
@property (nonatomic, copy) NSString *shareURL;
@end
///未来路线规划since 6.9.0
@interface AMapFutureRouteSearchRequest : AMapRouteSearchBaseRequest
///出发时间 单位为秒
@property (nonatomic, copy) NSString *beginTime;
///时间间隔 单位为秒
@property (nonatomic, assign) NSInteger interval;
///时间点个数,最多48个
@property (nonatomic, assign) NSInteger timeCount;
/**
未来路线规划策略默认策略为0。
1返回的结果考虑路况尽量躲避拥堵而规划路径与高德地图的“躲避拥堵”策略一致
2返回的结果不走高速与高德地图“不走高速”策略一致
3返回的结果尽可能规划收费较低甚至免费的路径与高德地图“避免收费”策略一致
4返回的结果考虑路况尽量躲避拥堵而规划路径并且不走高速与高德地图的“躲避拥堵&不走高速”策略一致
5返回的结果尽量不走高速并且尽量规划收费较低甚至免费的路径结果与高德地图的“避免收费&不走高速”策略一致
6返回路径规划结果会尽量的躲避拥堵并且规划收费较低甚至免费的路径结果与高德地图的“躲避拥堵&避免收费”策略一致
7返回的结果尽量躲避拥堵规划收费较低甚至免费的路径结果并且尽量不走高速路与高德地图的“避免拥堵&避免收费&不走高速”策略一致
8返回的结果会优先选择高速路与高德地图的“高速优先”策略一致
9返回的结果会优先考虑高速路并且会考虑路况躲避拥堵与高德地图的“躲避拥堵&高速优先”策略一致
10不考虑路况返回速度最优、耗时最短的路线但是此路线不一定距离最短
11避让拥堵&速度优先&避免收费
*/
@property (nonatomic, assign) NSInteger strategy;
///出发点 POI ID
@property (nonatomic, copy) NSString *originId;
///目的地 POI ID
@property (nonatomic, copy) NSString *destinationId;
///出发点POI类型编码
@property (nonatomic, copy) NSString *origintype;
///目的地POI类型编码
@property (nonatomic, copy) NSString *destinationtype;
///终点的父POI ID
@property (nonatomic, copy) NSString *parentId;
/////是否返回扩展信息,默认为 NO
//@property (nonatomic, assign) BOOL requireExtension;
///车牌省份,用汉字填入车牌省份缩写。用于判断是否限行
@property (nonatomic, copy) NSString *plateProvince;
///车牌详情,填入除省份及标点之外的字母和数字(需大写)。用于判断是否限行。
@property (nonatomic, copy) NSString *plateNumber;
/**
驾车路径规划车辆类型默认策略为0。
0普通汽车(默认值);
1纯电动车;
2插电混动车
*/
@property (nonatomic, assign) NSInteger cartype;
@end
///未来路线规划since 6.9.0
@interface AMapFutureRouteSearchResponse : AMapSearchObject
///路径规划方案,只会返回AMapPath中的distance、totalTrafficLights、steps
@property (nonatomic, strong) NSArray<AMapPath *> *paths;
///不同时间的规划以及信息列表
@property (nonatomic, strong) NSArray<AMapFutureTimeInfo *> *timeInfos;
@end
/// 充电站搜索since 9.7.0
@interface AMapChargeStationSearchRequest : AMapSearchObject
@end
/// 充电站搜索since 9.7.0
@interface AMapChargeStationSearchResponse : AMapSearchObject
@end

View File

@ -0,0 +1,84 @@
//
// AMapSearchObjV1.h
// AMapSearchKit
//
// Created by xiaoming han on 15/7/22.
// Copyright (c) 2015年 Amap. All rights reserved.
//
/* 该文件定义了搜索请求和返回对象。*/
#import <Foundation/Foundation.h>
#import "AMapCommonObj.h"
#import "AMapSearchObj.h"
#pragma mark - AMapPOISearchBaseRequestV1
///POI搜索请求基类
@interface AMapPOISearchBaseRequestV1 : AMapSearchObject
///类型,多个类型用“|”分割 可选值:文本分类、分类代码
@property (nonatomic, copy) NSString *types;
///排序规则, 0-距离排序1-综合排序, 默认0
@property (nonatomic, assign) NSInteger sortrule;
///每页记录数, 范围1-25, [default = 20]
@property (nonatomic, assign) NSInteger offset;
///当前页数, 范围1-100, [default = 1]
@property (nonatomic, assign) NSInteger page;
///建筑物POI编号传入建筑物POI之后则只在该建筑物之内进行搜索since 4.5.0
@property (nonatomic, copy) NSString *building;
///是否返回扩展信息,默认为 NO。
@property (nonatomic, assign) BOOL requireExtension;
///是否返回子POI默认为 NO。
@property (nonatomic, assign) BOOL requireSubPOIs;
@end
///POI ID搜索请求
@interface AMapPOIIDSearchRequestV1 : AMapPOISearchBaseRequestV1
///POI全局唯一ID
@property (nonatomic, copy) NSString *uid;
@end
///POI关键字搜索
@interface AMapPOIKeywordsSearchRequestV1 : AMapPOISearchBaseRequestV1
///查询关键字,多个关键字用“|”分割
@property (nonatomic, copy) NSString *keywords;
///查询城市可选值cityname中文或中文全拼、citycode、adcode.(注:台湾省的城市一律设置为【台湾】,不具体到市。)
@property (nonatomic, copy) NSString *city;
///强制城市限制功能 默认NO例如在上海搜索天安门如果citylimit为true将不返回北京的天安门相关的POI
@property (nonatomic, assign) BOOL cityLimit;
///设置后如果sortrule==0则返回结果会按照距离此点的远近来排序,since 5.2.1
@property (nonatomic, strong) AMapGeoPoint *location;
@end
///POI周边搜索
@interface AMapPOIAroundSearchRequestV1 : AMapPOISearchBaseRequestV1
///查询关键字,多个关键字用“|”分割
@property (nonatomic, copy) NSString *keywords;
///中心点坐标
@property (nonatomic, copy) AMapGeoPoint *location;
///查询半径范围0-50000单位米 [default = 1500]
@property (nonatomic, assign) NSInteger radius;
///查询城市可选值cityname中文或中文全拼、citycode、adcode。注当用户指定的经纬度和city出现冲突若范围内有用户指定city的数据则返回相关数据否则返回为空。since 5.7.0
@property (nonatomic, copy) NSString *city;
///是否对结果进行人工干预如火车站原因为poi较为特殊结果存在人工干预干预结果优先所以距离优先的排序未生效,默认为YES (since 7.4.0)
@property (nonatomic, assign) BOOL special;
@end
///POI多边形搜索
@interface AMapPOIPolygonSearchRequestV1 : AMapPOISearchBaseRequestV1
///查询关键字,多个关键字用“|”分割
@property (nonatomic, copy) NSString *keywords;
///多边形
@property (nonatomic, copy) AMapGeoPolygon *polygon;
@end
///POI搜索返回
@interface AMapPOISearchResponseV1 : AMapSearchObject
///返回的POI数目
@property (nonatomic, assign) NSInteger count;
///关键字建议列表和城市建议列表
@property (nonatomic, strong) AMapSuggestion *suggestion;
///POI结果AMapPOI 数组
@property (nonatomic, strong) NSArray<AMapPOI *> *pois;
@end

View File

@ -0,0 +1,26 @@
//
// AMapSearchVersion.h
// AMapSearchKit
//
// Created by xiaoming han on 15/10/27.
// Copyright © 2015年 Amap. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <AMapFoundationKit/AMapFoundationVersion.h>
#ifndef AMapSearchVersion_h
#define AMapSearchVersion_h
#define AMapSearchVersionNumber 90705
#define AMapSearchMinRequiredFoundationVersion 10800
// 依赖库版本检测
#if AMapFoundationVersionNumber < AMapSearchMinRequiredFoundationVersion
#error "The AMapFoundationKit version is less than minimum required, please update! Any questions please to visit http://lbs.amap.com"
#endif
FOUNDATION_EXTERN NSString * const AMapSearchVersion;
FOUNDATION_EXTERN NSString * const AMapSearchName;
#endif /* AMapSearchVersion_h */