13#if MA_INCLUDE_TRACE_CORRECT
15#import <Foundation/Foundation.h>
16#import <AMapFoundationKit/AMapFoundationKit.h>
23typedef void(^MAProcessingCallback)(
int index, NSArray<MATracePoint *> *points);
27typedef void(^MAFinishCallback)(NSArray<MATracePoint *> *points,
double distance);
31typedef void(^MAFailedCallback)(
int errorCode, NSString *errorDesc);
35typedef void(^MATraceLocationCallback)(NSArray<CLLocation *> *locations, NSArray<MATracePoint *> *tracePoints,
double distance, NSError *error);
41@protocol MATraceDelegate <NSObject>
59- (void)traceManager:(MATraceManager *)manager
60 didTrace:(NSArray<CLLocation *> *)locations
61 correct:(NSArray<MATracePoint *> *)tracePoints
62 distance:(
double)distance
63 withError:(NSError *)error;
73- (void)mapViewRequireLocationAuth:(CLLocationManager *)locationManager;
79@interface MATraceManager : NSObject
85+ (instancetype)sharedInstance;
103- (NSOperation *)queryProcessedTraceWith:(NSArray<MATraceLocation *>*)locations
104 type:(AMapCoordinateType)type
105 processingCallback:(MAProcessingCallback)processingCallback
106 finishCallback:(MAFinishCallback)finishCallback
107 failedCallback:(MAFailedCallback)failedCallback;
113@property (nonatomic, weak) id<MATraceDelegate> delegate;