9#import <Foundation/Foundation.h>
10#import <UIKit/UIKit.h>
11#if FEATURE_ROUTE_OVERLAY
12NS_ASSUME_NONNULL_BEGIN
16typedef NS_ENUM(NSInteger, MAMapRouteTexture) {
17 MAMapRouteTextureNonavi = 0,
18 MAMapRouteTextureNavi = 1,
19 MAMapRouteTextureDefault = 2,
20 MAMapRouteTextureOpen = 3,
21 MAMapRouteTextureAmble = 4,
22 MAMapRouteTextureJam = 5,
23 MAMapRouteTextureCongested = 6,
24 MAMapRouteTextureArrow = 7,
25 MAMapRouteTextureCustom1 = 8,
26 MAMapRouteTextureCustom2 = 9,
27 MAMapRouteTextureCustom3 = 10,
28 MAMapRouteTextureCustom4 = 11,
29 MAMapRouteTextureCustom5 = 12,
30 MAMapRouteTextureCustom6 = 13,
31 MAMapRouteTextureRapider = 16,
32 MAMapRouteTextureRestrain = 30,
33 MAMapRouteTextureCustomMax = 31,
34 MAMapRouteTextureCharge = 32,
35 MAMapRouteTextureFree = 33,
36 MAMapRouteTextureLimit = 34,
37 MAMapRouteTextureSlower = 35,
38 MAMapRouteTextureFaster = 36,
39 MAMapRouteTextureWrong = 37,
40 MAMapRouteTextureFerry = 38,
41 MAMapRouteTextureNumber,
44@interface MAPolylineCapTextureInfo : NSObject
45@property (nonatomic, assign)
float x1;
46@property (nonatomic, assign)
float y1;
47@property (nonatomic, assign)
float x2;
48@property (nonatomic, assign)
float y2;
51@interface MAPolylineTextureInfo : MAPolylineCapTextureInfo
52@property (nonatomic, assign)
float textureLen;
55typedef NS_ENUM(NSInteger, MAMapRouteLineWidthType) {
56 MAMapRouteLineWidthTypePixel = 0,
57 MAMapRouteLineWidthTypeMeter = 1,
60@interface MARouteOverlayParam : NSObject
61@property (nonatomic, assign) BOOL lineExtract;
62@property (nonatomic, assign) BOOL useColor;
63@property (nonatomic, assign) BOOL usePoint;
64@property (nonatomic, assign) BOOL useCap;
65@property (nonatomic, assign) BOOL canBeCovered;
66@property (nonatomic, assign) BOOL showArrow;
67@property (nonatomic, assign) BOOL needColorGradient;
68@property (nonatomic, assign) BOOL clickable;
69@property (nonatomic, assign) int32_t lineWidth;
70@property (nonatomic, assign) int32_t borderLineWidth;
71@property (nonatomic, strong) UIImage *fillMarkerImage;
72@property (nonatomic, strong) UIImage *simple3DFillMarkerImage;
73@property (nonatomic, strong) UIImage *borderMarkerImage;
74@property (nonatomic, assign) uint32_t fillColor;
75@property (nonatomic, assign) uint32_t borderColor;
76@property (nonatomic, assign) uint32_t selectFillColor;
77@property (nonatomic, assign) uint32_t unSelectFillColor;
78@property (nonatomic, assign) uint32_t selectBorderColor;
79@property (nonatomic, assign) uint32_t unSelectBorderColor;
80@property (nonatomic, assign) uint32_t pointDistance;
81@property (nonatomic, assign) uint32_t priority;
82@property (nonatomic, assign) MAMapRouteTexture routeTexture;
83@property (nonatomic, strong) MAPolylineTextureInfo *lineTextureInfo;
84@property (nonatomic, strong) MAPolylineTextureInfo *lineSimple3DTextureInfo;
85@property (nonatomic, strong) MAPolylineCapTextureInfo *lineCapTextureInfo;
86@property (nonatomic, assign) NSString *lineBorderQuery;
87@property (nonatomic, assign) NSString *lineFillQuery;
88@property (nonatomic, assign) MAMapRouteLineWidthType lineWidthType;
92typedef NS_ENUM(NSInteger, MAMapRouteHighLightType) {
93 MAMapRouteHighLightTypeNone = 0,
94 MAMapRouteHighLightTypeSegment
97@interface MARouteOverlayHighLightParam : NSObject
98@property (nonatomic, assign) uint32_t fillColorHightLight;
99@property (nonatomic, assign) uint32_t borderColorHightLight;
100@property (nonatomic, assign) uint32_t fillColorNormal;
101@property (nonatomic, assign) uint32_t borderColorNormal;
102@property (nonatomic, assign) uint32_t arrowColorNormal;
109@interface MAMapRouteOverlayTrafficState : NSObject
110@property (nonatomic, assign) uint32_t state;
111@property (nonatomic, assign) uint32_t point2DIndex;
112@property (nonatomic, assign) uint32_t point3DIndex;
113@property (nonatomic, assign) uint32_t point3DCount;
119@interface MAMapRouteOverlayColorIndex : NSObject
120@property (nonatomic, assign) uint32_t nColor;
121@property (nonatomic, assign) uint32_t point2DIndex;
122@property (nonatomic, assign) uint32_t point3DIndex;
123@property (nonatomic, assign) uint32_t point3DCount;
129@interface MAMapRouteOverlayRoadName : NSObject
130@property (nonatomic, copy) NSString *name;
131@property (nonatomic, assign) uint32_t point2DIndex;
132@property (nonatomic, assign) uint32_t point2DSize;
133@property (nonatomic, assign) uint32_t point3DIndex;
134@property (nonatomic, assign) uint32_t point3DSize;
135@property (nonatomic, assign) uint32_t roadLength;
136@property (nonatomic, assign) uint32_t roadClass;
139@interface MAMapPoint2F : NSObject
140@property (nonatomic, assign) CGFloat x;
141@property (nonatomic, assign) CGFloat y;
144@interface MAMapPoint3F : MAMapPoint2F
145@property (nonatomic, assign) CGFloat z;
148@interface MAMapRouteOverlayData : NSObject
149@property (nonatomic, assign) uint32_t checkFlag;
150@property (nonatomic, assign) uint32_t routeType;
151@property (nonatomic, copy) NSArray<MAMapPoint2F *> *point2DArray;
152@property (nonatomic, copy) NSArray<MAMapRouteOverlayTrafficState *> *trafficStateArray;
153@property (nonatomic, copy) NSArray<MAMapRouteOverlayRoadName *> *roadNameArray;
154@property (nonatomic, copy) NSArray<NSNumber *> *point2DFlagArray;
155@property (nonatomic, copy) NSArray<MAMapPoint3F *> *point3DArray;
156@property (nonatomic, copy) NSArray<NSNumber *> *point3DFlagArray;
157@property (nonatomic, copy) NSArray<MAMapRouteOverlayColorIndex *> *colorIndexArray;