This commit is contained in:
DDIsFriend
2023-08-18 17:28:57 +08:00
commit f0e8a1709d
4282 changed files with 192396 additions and 0 deletions

View File

@@ -0,0 +1,134 @@
//
// AMapTrackCommonObj.h
// AMapTrackKit
//
// Created by liubo on 2017/8/15.
// Copyright © 2017年 Amap. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CoreLocation/CoreLocation.h>
#import "AMapTrackError.h"
NS_ASSUME_NONNULL_BEGIN
#pragma mark - AMapTrackObject
///基础类, 通用数据结构和response支持copy和coding
@interface AMapTrackObject : NSObject<NSCopying, NSCoding>
/**
* @brief 返回格式化的描述信息。通用数据结构和response类型有效。
*/
- (NSString *)formattedDescription;
@end
#pragma mark - AMapTrackBaseRequest
///AMapTrackKit请求基类
@interface AMapTrackBaseRequest : AMapTrackObject
///请求使用的serviceID
@property (nonatomic, copy) NSString *serviceID;
@end
#pragma mark - AMapTrackBaseResponse
///AMapTrackKit请求响应基类
@interface AMapTrackBaseResponse : AMapTrackObject
///请求返回的状态码
@property (nonatomic, assign) AMapTrackErrorCode code;
///请求返回的状态码描述
@property (nonatomic, copy) NSString *info;
///请求返回的错误细节
@property (nonatomic, copy) NSString *detail;
@end
#pragma mark - AMapTrackTerminal
///Terminal终端类
@interface AMapTrackTerminal : AMapTrackObject
///Terminal的ID
@property (nonatomic, copy) NSString *tid;
///Terminal的name
@property (nonatomic, copy) NSString *name;
///Terminal的description信息
@property (nonatomic, copy) NSString *desc;
///Terminal的创建时间单位毫秒
@property (nonatomic, assign) long long createTime;
///Terminal的最后定位时间单位毫秒
@property (nonatomic, assign) long long locateTime;
@end
#pragma mark - AMapTrackPoint
///Point定位点类
@interface AMapTrackPoint : AMapTrackObject
///Point的坐标信息
@property (nonatomic, assign) CLLocationCoordinate2D coordinate;
///Point的定位时间单位毫秒
@property (nonatomic, assign) long long locateTime;
///Point的速度信息单位km/h
@property (nonatomic, assign) double speed;
///Point的航向信息
@property (nonatomic, assign) double direction;
///Point的高度信息
@property (nonatomic, assign) double height;
///Point的定位精确度
@property (nonatomic, assign) double accuracy;
///Point的上传时间仅在从服务端检索返回时有效
@property (nonatomic, assign) long long createTime;
///通过trackManagerGetCustomDictionary回调方法设置的自定义属性
- (NSDictionary *)customProperties;
@end
#pragma mark - AMapTrackBasicTrack
///BasicTrack轨迹类
@interface AMapTrackBasicTrack : AMapTrackObject
///BasicTrack的ID
@property (nonatomic, copy) NSString *trackID;
///符合要求点的个数
@property (nonatomic, assign) NSUInteger counts;
///BasicTrack的距离
@property (nonatomic, assign) NSUInteger distance;
///BasicTrack的持续时间
@property (nonatomic, assign) long long lastingTime;
///BasicTrack的轨迹点数组
@property (nonatomic, strong) NSArray<AMapTrackPoint *> *points;
///起点信息
@property (nonatomic, strong) AMapTrackPoint *startPoint;
///终点信息
@property (nonatomic, strong) AMapTrackPoint *endPoint;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,71 @@
//
// AMapTrackError.h
// AMapTrackKit
//
// Created by liubo on 2017/8/17.
// Copyright © 2017年 Amap. All rights reserved.
//
#ifndef AMapTrackKit_AMapTrackError_h
#define AMapTrackKit_AMapTrackError_h
///AMapTrack errorDomain
extern NSString * const AMapTrackErrorDomain;
///AMapTrack errorCode
typedef NS_ENUM(NSInteger, AMapTrackErrorCode)
{
AMapTrackErrorCodeUnknow = 100,///< 未知错误
AMapTrackErrorCodeInvalidOption = 101,///< option包含错误参数
AMapTrackErrorCodeServiceStarted = 102,///< service已经启动
AMapTrackErrorCodeServiceStopped = 103,///< service已经停止
AMapTrackErrorCodeGatherStarted = 104,///< gather已经开始
AMapTrackErrorCodeGatherStopped = 105,///< gather已经停止
AMapTrackErrorCodeLocationAuthFailed = 106,///< 没有定位权限
AMapTrackErrorCodeLocateError = 107,///< 获取定位失败
AMapTrackErrorCodeAccuracyAuthFailed = 108,///< 没有精确定位权限
AMapTrackErrorNoResponseData = 1800,///< 服务返回数据为空
AMapTrackErrorInvalidProtocol = 1801,///< 协议解析错误,通常是返回结果无法解析
AMapTrackErrorTimeOut = 1802,///< 连接超时
AMapTrackErrorBadURL = 1803,///< URL异常
AMapTrackErrorCannotFindHost = 1804,///< 找不到主机
AMapTrackErrorCannotConnectToHost = 1805,///< 服务器连接失败
AMapTrackErrorNotConnectedToInternet = 1806,///< 连接异常,通常为没有网络的情况
AMapTrackErrorCancelled = 1807,///< 连接取消
AMapTrackErrorBadCustomDictionary = 2031,///< 自定义参数获取异常
AMapTrackErrorOK = 10000,///< 没有错误
AMapTrackErrorInvalidUserKey = 10001,///< key非法或过期
AMapTrackErrorServiceNotAvailable = 10002,///< 没有权限使用相应的接口
AMapTrackErrorDailyQueryOverLimit = 10003,///< 访问已超出日访问量
AMapTrackErrorTooFrequently = 10004,///< 用户访问过于频繁
AMapTrackErrorInvalidUserIP = 10005,///< 用户IP无效
AMapTrackErrorInvalidUserDomain = 10006,///< 用户域名无效
AMapTrackErrorInvalidSignature = 10007,///< 无效签名
AMapTrackErrorInvalidUserSCode = 10008,///< 安全码验证错误bundleID与key不对应
AMapTrackErrorUserKeyNotMatch = 10009,///< 请求key与绑定平台不符
AMapTrackErrorIPQueryOverLimit = 10010,///< IP请求超限
AMapTrackErrorNotSupportHttps = 10011,///< 不支持HTTPS请求
AMapTrackErrorInsufficientPrivileges = 10012,///< 权限不足,服务请求被拒绝
AMapTrackErrorUserKeyRecycled = 10013,///< 开发者key被删除无法正常使用
AMapTrackErrorQPSHasExceededLimit = 10014,///< QPS超出限制
AMapTrackErrorGatewayTimeout = 10015,///< 单机QPS限流限制
AMapTrackErrorServerIsBusy = 10016,///< 服务器负载过高
AMapTrackErrorResourceUnavailable = 10017,///< 所请求的资源不可用
AMapTrackErrorInvalidParams = 20000,///< 请求参数非法
AMapTrackErrorMissingRequiredParams = 20001,///< 缺少必填参数
AMapTrackErrorIllegalRequest = 20002,///< 请求协议非法
AMapTrackErrorServiceUnknown = 20003,///< 其他服务端未知错误
AMapTrackErrorDuplicatedElement = 20009,///< 请求包含重复元素
AMapTrackErrorElementNotExist = 20010,///< 请求的元素不存在
AMapTrackErrorServiceNotExist = 20050,///< service不存在
AMapTrackErrorTerminalNotExist = 20051,///< ternimal不存在
AMapTrackErrorUploadPointPartlyError = 20100,///< 部分point上传失败
AMapTrackErrorUploadPointError = 20101,///< 所有point上传失败
AMapTrackErrorCountOverLimit = 20150,///< 数量超过限制
};
#endif /* AMapTrackKit_AMapTrackError_h */

View File

@@ -0,0 +1,183 @@
//
// AMapTrackHistoryObj.h
// AMapTrackKit
//
// Created by liubo on 2017/8/29.
// Copyright © 2017年 Amap. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "AMapTrackCommonObj.h"
typedef NS_ENUM(NSUInteger, AMapTrackRecoupMode)
{
AMapTrackRecoupModeNone = 0,///< 用直线距离进行补点计算
AMapTrackRecoupModeDriving = 1,///< 用驾车策略进行补点计算
};
#pragma mark - AMapTrackQueryLastPointRequest
///终端位置查询
@interface AMapTrackQueryLastPointRequest : AMapTrackBaseRequest
///要查询的Terminal的ID
@property (nonatomic, copy) NSString *terminalID;
///要查询的Track的ID
@property (nonatomic, copy) NSString *trackID;
///是否进行轨迹纠偏,支持的参数如下(默认@"n"不纠偏): @"n":不纠偏; @"driving":驾车模式纠偏;
@property (nonatomic, copy) NSString *correctionMode;
@end
#pragma mark - AMapTrackQueryLastPointResponse
@interface AMapTrackQueryLastPointResponse : AMapTrackBaseResponse
///位置点
@property (nonatomic, strong) AMapTrackPoint *lastPoint;
@end
#pragma mark - AMapTrackQueryTrackDistanceRequest
///行驶距离查询
@interface AMapTrackQueryTrackDistanceRequest : AMapTrackBaseRequest
///要查询的Terminal的ID
@property (nonatomic, copy) NSString *terminalID;
///要查询的Track的ID
@property (nonatomic, copy) NSString *trackID;
///要查询的开始时间,单位毫秒
@property (nonatomic, assign) long long startTime;
///要查询的结束时间单位毫秒。结束时间不能大于当前时间且距离开始时间不能超过24小时。
@property (nonatomic, assign) long long endTime;
///是否进行轨迹纠偏,支持的参数如下(默认@"n"不纠偏): @"n":不纠偏; @"driving":驾车模式纠偏;
@property (nonatomic, copy) NSString *correctionMode;
///指定轨迹和里程的补充模式,默认为 AMapTrackRecoupModeNone 用直线距离进行补点计算
@property (nonatomic, assign) AMapTrackRecoupMode recoupMode;
///指定触发recoupMode参数生效的点间距单位米默认5000有效值范围[50, 10000]
@property (nonatomic, assign) NSUInteger recoupGap;
@end
#pragma mark - AMapTrackQueryTrackDistanceResponse
///行驶距离查询返回
@interface AMapTrackQueryTrackDistanceResponse : AMapTrackBaseResponse
///行驶距离,单位米
@property (nonatomic, assign) NSUInteger distance;
@end
#pragma mark - AMapTrackQueryTrackHistoryAndDistanceRequest
///行驶轨迹和距离查询
@interface AMapTrackQueryTrackHistoryAndDistanceRequest : AMapTrackBaseRequest
///要查询的Terminal的ID
@property (nonatomic, copy) NSString *terminalID;
///要查询的开始时间,单位毫秒
@property (nonatomic, assign) long long startTime;
///要查询的结束时间单位毫秒。结束时间不能大于当前时间且距离开始时间不能超过24小时。
@property (nonatomic, assign) long long endTime;
///是否进行轨迹纠偏,支持的参数如下(默认@"n"不纠偏): @"n":不纠偏; @"driving":驾车模式纠偏;
@property (nonatomic, copy) NSString *correctionMode;
///指定轨迹和里程的补充模式,默认为 AMapTrackRecoupModeNone 用直线距离进行补点计算
@property (nonatomic, assign) AMapTrackRecoupMode recoupMode;
///指定触发recoupMode参数生效的点间距单位米默认5000有效值范围[50, 10000]
@property (nonatomic, assign) NSUInteger recoupGap;
///排序规则默认0: 0表示ASC(升序); 1表示DESC(降序);
@property (nonatomic, assign) int sortType;
///第几页数据默认1
@property (nonatomic, assign) NSUInteger pageIndex;
///每页数据量默认20有效值范围[1, 1000)
@property (nonatomic, assign) NSUInteger pageSize;
@end
#pragma mark - AMapTrackQueryTrackHistoryAndDistanceResponse
///行驶轨迹和距离查询返回
@interface AMapTrackQueryTrackHistoryAndDistanceResponse : AMapTrackBaseResponse
///行驶距离,单位米
@property (nonatomic, assign) NSUInteger distance;
///符合要求点的个数
@property (nonatomic, assign) NSUInteger count;
///起点信息仅在page=1的时候显示相关信息
@property (nonatomic, strong) AMapTrackPoint *startPoint;
///终点信息仅在page=1的时候显示相关信息
@property (nonatomic, strong) AMapTrackPoint *endPoint;
///历史轨迹数据
@property (nonatomic, strong) NSArray<AMapTrackPoint *> *points;
@end
#pragma mark - AMapTrackQueryTrackInfoRequest
@interface AMapTrackQueryTrackInfoRequest : AMapTrackBaseRequest
///要查询的Terminal的ID
@property (nonatomic, copy) NSString *terminalID;
///要查询的Track的ID
@property (nonatomic, copy) NSString *trackID;
///要查询的开始时间,单位毫秒
@property (nonatomic, assign) long long startTime;
///要查询的结束时间单位毫秒。结束时间不能大于当前时间且距离开始时间不能超过24小时。
@property (nonatomic, assign) long long endTime;
///是否进行轨迹纠偏,默认为空@""不纠偏
@property (nonatomic, copy) NSString *correctionMode;
///指定轨迹和里程的补充模式,默认为 AMapTrackRecoupModeNone 用直线距离进行补点计算
@property (nonatomic, assign) AMapTrackRecoupMode recoupMode;
///指定触发recoupMode参数生效的点间距单位米默认5000有效值范围[50, 10000]
@property (nonatomic, assign) NSUInteger recoupGap;
///是否返回track的轨迹点信息默认YES
@property (nonatomic, assign) BOOL containPoints;
///第几页数据默认1
@property (nonatomic, assign) NSUInteger pageIndex;
///每页数据量默认20有效值范围[1, 1000)
@property (nonatomic, assign) NSUInteger pageSize;
@end
#pragma mark - AMapTrackQueryTrackInfoResponse
@interface AMapTrackQueryTrackInfoResponse : AMapTrackBaseResponse
///轨迹数据
@property (nonatomic, strong) NSArray<AMapTrackBasicTrack *> *tracks;
///tracks的总数量
@property (nonatomic, assign) NSUInteger counts;
@end

View File

@@ -0,0 +1,18 @@
//
// AMapTrackKit.h
// AMapTrackKit
//
// Created by liubo on 2017/8/15.
// Copyright © 2017年 Amap. All rights reserved.
//
#import <AMapTrackKit/AMapTrackVersion.h>
#import <AMapTrackKit/AMapTrackError.h>
#import <AMapTrackKit/AMapTrackManager.h>
#import <AMapTrackKit/AMapTrackManagerOptions.h>
#import <AMapTrackKit/AMapTrackCommonObj.h>
#import <AMapTrackKit/AMapTrackTerminalObj.h>
#import <AMapTrackKit/AMapTrackTrackObj.h>
#import <AMapTrackKit/AMapTrackHistoryObj.h>

View File

@@ -0,0 +1,321 @@
//
// AMapTrackManager.h
// AMapTrackKit
//
// Created by liubo on 2017/8/15.
// Copyright © 2017年 Amap. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
#import "AMapTrackError.h"
#import "AMapTrackManagerOptions.h"
#import "AMapTrackCommonObj.h"
#import "AMapTrackTerminalObj.h"
#import "AMapTrackTrackObj.h"
#import "AMapTrackHistoryObj.h"
NS_ASSUME_NONNULL_BEGIN
@protocol AMapTrackManagerDelegate;
#pragma mark - AMapTrackManager
@interface AMapTrackManager : NSObject
///初始化方法
- (instancetype)initWithOptions:(AMapTrackManagerOptions *)options NS_DESIGNATED_INITIALIZER;
///AMapTrackManager的delegate
@property (nonatomic, weak) id<AMapTrackManagerDelegate> delegate;
#pragma mark - Location
///设定定位的活跃类型。默认为 CLActivityTypeAutomotiveNavigation 。
@property (nonatomic, assign) CLActivityType activityType;
///设定定位的最小更新距离。单位米,默认为 kCLDistanceFilterNone表示只要检测到设备位置发生变化就会更新位置信息。
@property (nonatomic, assign) CLLocationDistance distanceFilter;
///设定期望的定位精度。单位米,默认为 kCLLocationAccuracyBest。定位服务会尽可能去获取满足desiredAccuracy的定位结果但不保证一定会得到满足期望的结果。
///注意iOS14及以上版本轨迹服务需要在精确定位权限下使用如果该参数设置kCLLocationAccuracyReduced无效。
@property (nonatomic, assign) CLLocationAccuracy desiredAccuracy;
///指定定位是否会被系统自动暂停。默认为NO。
@property (nonatomic, assign) BOOL pausesLocationUpdatesAutomatically;
///是否允许后台定位。默认为NO。只在iOS 9.0及之后起作用。设置为YES的时候必须保证 Background Modes 中的 Location updates 处于选中状态否则会抛出异常。由于iOS系统限制需要在定位未开始之前或定位停止之后修改该属性的值才会有效果。
@property (nonatomic, assign) BOOL allowsBackgroundLocationUpdates;
#pragma mark - Gather And Pack
///定位信息的采集周期单位秒默认2s有效值范围[1, 60]。
@property (nonatomic, readonly) NSUInteger gatherInterval;
///定位信息的上传周期单位秒默认20s有效值范围[5, 3000]。
@property (nonatomic, readonly) NSUInteger packInterval;
/**
* @brief 设定定位信息的采集周期和上传周期,注意:上传周期必须为采集周期的整数倍
* @param gatherTimeInterval 定位信息的采集周期,单位秒,有效值范围[1, 60]
* @param packTimeInterval 定位信息的上传周期,单位秒,有效值范围[5, 3000]
*/
- (void)changeGatherAndPackTimeInterval:(NSInteger)gatherTimeInterval packTimeInterval:(NSInteger)packTimeInterval;
#pragma mark - Service And Gather
///当前的serviceID初始化时指定。
@property (nonatomic, readonly) NSString *serviceID;
///当前的terminalIDstartService时指定。
@property (nonatomic, readonly) NSString *terminalID;
///当前的trackID。
@property (nonatomic, copy) NSString *trackID;
/**
* @brief 开始Service结果会通过onStartService:回调返回
* @param options AMapTrackManagerServiceOption类实例
*/
- (void)startServiceWithOptions:(AMapTrackManagerServiceOption *)options;
/**
* @brief 停止Service结果会通过onStopService:回调返回
*/
- (void)stopService;
/**
* @brief 开始采集和上传结果会通过onStartGatherAndPack:返回
*/
- (void)startGatherAndPack;
/**
* @brief 停止采集和上传结果会通过onStopGatherAndPack:返回
*/
- (void)stopGaterAndPack;
#pragma mark - Cache Size
/**
* @brief 设定允许的本地缓存最大值
* @param cacheMaxSize 本地缓存最大值单位MB默认+∞,有效值范围[50,+∞)。
* @return 是否设定成功
*/
- (BOOL)setLocalCacheMaxSize:(NSInteger)cacheMaxSize;
///本地缓存最大值
@property (nonatomic, readonly) NSUInteger cacheMaxSize;
#pragma mark - Network
///网络超时时间单位秒默认为30。
@property (nonatomic, assign) NSInteger timeout;
/**
* @brief 取消所有未回调的请求触发错误回调didFailWithError:associatedRequest:。
*/
- (void)cancelAllRequests;
#pragma mark - Terminal Request
/**
* @brief 增加Terminal接口
* @param request 查询选项。具体属性字段请参考 AMapTrackAddTerminalRequest 类。
*/
- (void)AMapTrackAddTerminal:(AMapTrackAddTerminalRequest *)request;
/**
* @brief 查询Terminal接口
* @param request 查询选项。具体属性字段请参考 AMapTrackQueryTerminalRequest 类。
*/
- (void)AMapTrackQueryTerminal:(AMapTrackQueryTerminalRequest *)request;
#pragma mark - Track Request
/**
* @brief 增加Track接口
* @param request 查询选项。具体属性字段请参考 AMapTrackAddTrackRequest 类。
*/
- (void)AMapTrackAddTrack:(AMapTrackAddTrackRequest *)request;
/**
* @brief 删除Track接口
* @param request 查询选项。具体属性字段请参考 AMapTrackDeleteTrackRequest 类。
*/
- (void)AMapTrackDeleteTrack:(AMapTrackDeleteTrackRequest *)request;
#pragma mark - Track History Request
/**
* @brief 查询终端位置接口
* @param request 查询选项。具体属性字段请参考 AMapTrackQueryLastPointRequest 类。
*/
- (void)AMapTrackQueryLastPoint:(AMapTrackQueryLastPointRequest *)request;
/**
* @brief 查询轨迹行驶距离接口
* @param request 查询选项。具体属性字段请参考 AMapTrackQueryTrackDistanceRequest 类。
*/
- (void)AMapTrackQueryTrackDistance:(AMapTrackQueryTrackDistanceRequest *)request;
/**
* @brief 查询轨迹历史数据和行驶距离接口
* @param request 查询选项。具体属性字段请参考 AMapTrackQueryTrackHistoryAndDistanceRequest 类。
*/
- (void)AMapTrackQueryTrackHistoryAndDistance:(AMapTrackQueryTrackHistoryAndDistanceRequest *)request;
/**
* @brief 查询轨迹历史数据
* @param request 查询选项。具体属性字段请参考 AMapTrackQueryTrackInfoRequest 类。
*/
- (void)AMapTrackQueryTrackInfo:(AMapTrackQueryTrackInfoRequest *)request;
@end
#pragma mark - AMapTrackManagerDelegate
@protocol AMapTrackManagerDelegate <NSObject>
@required
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 140000
/**
* @brief iOS14及以上版本使用猎鹰轨迹功能需要在plist中配置NSLocationTemporaryUsageDescriptionDictionary字典描述且添加自定义Key描述轨迹的使用场景此描述会在申请临时精确定位权限的弹窗中展示。该回调触发条件拥有定位权限但是没有获得精确定位权限的情况下触发该回调。
此方法实现调用申请临时精确定位权限API即可
* [locationManager requestTemporaryFullAccuracyAuthorizationWithPurposeKey:@"PurposeKey" completion:^(NSError *error){
* if(completion){
* completion(error);
* }
* }]; (必须调用,不然无法正常获取临时精确定位权限)
* @param manager 轨迹管理类。
* @param locationManager 需要申请临时精确定位权限的locationManager。
* @param completion 临时精确定位权限API回调结果。error: 直接返回系统error即可
* @since 1.4.0
*/
- (void)amapTrackManager:(AMapTrackManager *)manager doRequireTemporaryFullAccuracyAuth:(CLLocationManager*)locationManager completion:(void(^)(NSError *error))completion;
#endif
@optional
/**
* @brief 当plist配置NSLocationAlwaysUsageDescription或者NSLocationAlwaysAndWhenInUseUsageDescription并且[CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined会调用代理的此方法。
此方法实现申请后台权限API即可[locationManager requestAlwaysAuthorization](必须调用,不然无法正常获取定位权限)
* @param manager 轨迹管理类。
* @param locationManager 需要申请后台定位权限的locationManager。
* @since 1.4.0
*/
- (void)amapTrackManager:(AMapTrackManager *)manager doRequireLocationAuth:(CLLocationManager*)locationManager;
/**
* @brief 当请求发生错误时,会调用代理的此方法。
* @param error 返回的错误。
* @param request 发生错误的请求。
*/
- (void)didFailWithError:(NSError *)error associatedRequest:(id)request;
/**
* @brief 开始Service回调
* @param errorCode 开始Service的错误信息参考 AMapTrackErrorCode 。
*/
- (void)onStartService:(AMapTrackErrorCode)errorCode;
/**
* @brief 停止Service回调
* @param errorCode 开始Service的错误信息参考 AMapTrackErrorCode 。
*/
- (void)onStopService:(AMapTrackErrorCode)errorCode;
/**
* @brief 开始采集和上传回调
* @param errorCode 开始Service的错误信息参考 AMapTrackErrorCode 。
*/
- (void)onStartGatherAndPack:(AMapTrackErrorCode)errorCode;
/**
* @brief 停止采集和上传回调,建议使用 onStopGatherAndPack:errorMessage: 替代此方法
* @param errorCode 停止采集和上传回调的错误信息,参考 AMapTrackErrorCode 。
*/
- (void)onStopGatherAndPack:(AMapTrackErrorCode)errorCode;
/**
* @brief 停止采集和上传回调. since 1.1.0
* @param errorCode 停止采集和上传回调的错误信息,参考 AMapTrackErrorCode 。
* @param errorMessage 停止采集和上传回调的错误信息
*/
- (void)onStopGatherAndPack:(AMapTrackErrorCode)errorCode errorMessage:(nullable NSString *)errorMessage;
/**
* @brief 定位点的自定义字段. since 1.1.0
* @return 自定义的字段 注:自定义字段类型需要为字符串类型,否则采集和上传失败
*/
- (NSDictionary <NSString *,NSString *> *)trackManagerGetCustomDictionary;
#pragma mark - Terminal Request Done
/**
* @brief 增加Terminal回调函数
* @param request 发起的请求,具体字段参考 AMapTrackAddTerminalRequest 类。
* @param response 响应结果,具体字段参考 AMapTrackAddTerminalResponse 类。
*/
- (void)onAddTerminalDone:(AMapTrackAddTerminalRequest *)request response:(AMapTrackAddTerminalResponse *)response;
/**
* @brief 查询Terminal回调函数
* @param request 发起的请求,具体字段参考 AMapTrackQueryTerminalRequest 类。
* @param response 响应结果,具体字段参考 AMapTrackQueryTerminalResponse 类。
*/
- (void)onQueryTerminalDone:(AMapTrackQueryTerminalRequest *)request response:(AMapTrackQueryTerminalResponse *)response;
#pragma mark - Track Request Done
/**
* @brief 增加Track回调函数
* @param request 发起的请求,具体字段参考 AMapTrackAddTrackRequest 类。
* @param response 响应结果,具体字段参考 AMapTrackAddTrackResponse 类。
*/
- (void)onAddTrackDone:(AMapTrackAddTrackRequest *)request response:(AMapTrackAddTrackResponse *)response;
/**
* @brief 删除Track回调函数
* @param request 发起的请求,具体字段参考 AMapTrackDeleteTrackRequest 类。
* @param response 响应结果,具体字段参考 AMapTrackBaseResponse 类。
*/
- (void)onDeleteTrackDone:(AMapTrackDeleteTrackRequest *)request response:(AMapTrackBaseResponse *)response;
#pragma mark - Track History Request Done
/**
* @brief 查询终端位置回调函数
* @param request 发起的请求,具体字段参考 AMapTrackQueryLastPointRequest 类。
* @param response 响应结果,具体字段参考 AMapTrackQueryLastPointResponse 类。
*/
- (void)onQueryLastPointDone:(AMapTrackQueryLastPointRequest *)request response:(AMapTrackQueryLastPointResponse *)response;
/**
* @brief 查询轨迹行驶距离回调函数
* @param request 发起的请求,具体字段参考 AMapTrackQueryTrackDistanceRequest 类。
* @param response 响应结果,具体字段参考 AMapTrackQueryTrackDistanceResponse 类。
*/
- (void)onQueryTrackDistanceDone:(AMapTrackQueryTrackDistanceRequest *)request response:(AMapTrackQueryTrackDistanceResponse *)response;
/**
* @brief 查询轨迹历史数据和行驶距离回调函数
* @param request 发起的请求,具体字段参考 AMapTrackQueryTrackHistoryAndDistanceRequest 类。
* @param response 响应结果,具体字段参考 AMapTrackQueryTrackHistoryAndDistanceResponse 类。
*/
- (void)onQueryTrackHistoryAndDistanceDone:(AMapTrackQueryTrackHistoryAndDistanceRequest *)request response:(AMapTrackQueryTrackHistoryAndDistanceResponse *)response;
/**
* @brief 查询轨迹历史数据回调函数
* @param request 发起的请求,具体字段参考 AMapTrackQueryTrackInfoRequest 类。
* @param response 响应结果,具体字段参考 AMapTrackQueryTrackInfoResponse 类。
*/
- (void)onQueryTrackInfoDone:(AMapTrackQueryTrackInfoRequest *)request response:(AMapTrackQueryTrackInfoResponse *)response;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,27 @@
//
// AMapTrackManagerOptions.h
// AMapTrackKit
//
// Created by liubo on 2017/8/17.
// Copyright © 2017年 Amap. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface AMapTrackManagerOptions : NSObject
///指定的serviceID
@property (nonatomic, copy) NSString *serviceID;
@end
@interface AMapTrackManagerServiceOption : NSObject
///指定的terminalID
@property (nonatomic, copy) NSString *terminalID;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,62 @@
//
// AMapTrackTerminalObj.h
// AMapTrackKit
//
// Created by liubo on 2017/8/17.
// Copyright © 2017年 Amap. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "AMapTrackCommonObj.h"
#pragma mark - AMapTrackAddTerminalRequest
///增加Terminal请求
@interface AMapTrackAddTerminalRequest : AMapTrackBaseRequest
///增加的Terminal的name
@property (nonatomic, copy) NSString *terminalName;
///增加的Terminal的描述信息
@property (nonatomic, copy) NSString *terminalDesc;
@end
#pragma mark - AMapTrackAddTerminalResponse
///增加Terminal请求返回
@interface AMapTrackAddTerminalResponse : AMapTrackBaseResponse
///增加的Terminal所属的serviceID
@property (nonatomic, copy) NSString *serviceID;
///增加的Terminal的terminalID
@property (nonatomic, copy) NSString *terminalID;
///增加的Terminal的name
@property (nonatomic, copy) NSString *terminalName;
@end
#pragma mark - AMapTrackQueryTerminalRequest
///查询Terminal请求
@interface AMapTrackQueryTerminalRequest : AMapTrackBaseRequest
///要查询的Terminal的terminalID
@property (nonatomic, copy) NSString *terminalID;
///要查询的Terminal的name如果填写了terminalID则以terminalID为准
@property (nonatomic, copy) NSString *terminalName;
@end
#pragma mark - AMapTrackQueryTerminalResponse
///查询Terminal请求返回
@interface AMapTrackQueryTerminalResponse : AMapTrackBaseResponse
///查询的Terminal结果
@property (nonatomic, strong) NSArray<AMapTrackTerminal *> *terminals;
@end

View File

@@ -0,0 +1,43 @@
//
// AMapTrackTrackObj.h
// AMapTrackKit
//
// Created by liubo on 2017/12/11.
// Copyright © 2017年 Amap. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "AMapTrackCommonObj.h"
#pragma mark - AMapTrackAddTrackRequest
///增加Track请求
@interface AMapTrackAddTrackRequest : AMapTrackBaseRequest
///指定的Terminal的ID
@property (nonatomic, strong) NSString *terminalID;
@end
#pragma mark - AMapTrackAddTrackResponse
///增加Track请求返回
@interface AMapTrackAddTrackResponse : AMapTrackBaseResponse
///新增的Track的ID
@property (nonatomic, strong) NSString *trackID;
@end
#pragma mark - AMapTrackDeleteTrackRequest
///删除Track请求
@interface AMapTrackDeleteTrackRequest : AMapTrackBaseRequest
///指定的Terminal的ID
@property (nonatomic, strong) NSString *terminalID;
///要删除的Track的ID
@property (nonatomic, strong) NSString *trackID;
@end

View File

@@ -0,0 +1,33 @@
//
// AMapTrackVersion.h
// AMapTrackKit
//
// Created by liubo on 2017/8/15.
// Copyright © 2017年 Amap. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <AMapFoundationKit/AMapFoundationVersion.h>
#import <AMapLocationKit/AMapLocationVersion.h>
#ifndef AMapTrackVersion_h
#define AMapTrackVersion_h
#define AMapTrackVersionNumber 10402
#define AMapTrackFoundationVersionMinRequired 10605
#define AMapTrackLocationVersionMinRequired 20607
// 依赖库AMapFoundationKit版本检测
#if AMapFoundationVersionNumber < AMapTrackFoundationVersionMinRequired
#error "The AMapFoundationKit version is less than minimum required, please update! Any questions please to visit http://lbs.amap.com"
#endif
// 依赖库AMapLocationKit版本检测
#if AMapLocationVersionNumber < AMapTrackLocationVersionMinRequired
#error "The AMapLocationKit version is less than minimum required, please update! Any questions please to visit http://lbs.amap.com"
#endif
FOUNDATION_EXTERN NSString * const AMapTrackVersion;
FOUNDATION_EXTERN NSString * const AMapTrackName;
#endif /* AMapTrackVersion_h */