9 #import <Foundation/Foundation.h>
10 #import <UIKit/UIKit.h>
11 #if FEATURE_ROUTE_OVERLAY
12 NS_ASSUME_NONNULL_BEGIN
16 typedef 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;
55 typedef 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;
92 typedef 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;
160 NS_ASSUME_NONNULL_END