13#if MA_INCLUDE_TRACE_CORRECT
15#import <Foundation/Foundation.h>
16#import <AMapFoundationKit/AMapFoundationKit.h>
22typedef void(^MAProcessingCallback)(
int index, NSArray<MATracePoint *> *points);
25typedef void(^MAFinishCallback)(NSArray<MATracePoint *> *points,
double distance);
28typedef void(^MAFailedCallback)(
int errorCode, NSString *errorDesc);
31typedef void(^MATraceLocationCallback)(NSArray<CLLocation *> *locations, NSArray<MATracePoint *> *tracePoints,
double distance, NSError *error);
36@protocol MATraceDelegate <NSObject>
48- (void)traceManager:(MATraceManager *)manager
49 didTrace:(NSArray<CLLocation *> *)locations
50 correct:(NSArray<MATracePoint *> *)tracePoints
51 distance:(
double)distance
52 withError:(NSError *)error;
60- (void)mapViewRequireLocationAuth:(CLLocationManager *)locationManager;
65@interface MATraceManager : NSObject
70+ (instancetype)sharedInstance;
81- (NSOperation *)queryProcessedTraceWith:(NSArray<MATraceLocation *>*)locations
82 type:(AMapCoordinateType)type
83 processingCallback:(MAProcessingCallback)processingCallback
84 finishCallback:(MAFinishCallback)finishCallback
85 failedCallback:(MAFailedCallback)failedCallback;
90@property (nonatomic, weak) id<MATraceDelegate> delegate;