@@ -97,20 +97,19 @@ export class MapsManager{
97
97
longitude: desc.rawProps.coordinate.longitude
98
98
},
99
99
rotation: desc.rawProps.rotation,
100
- visible: true,
101
- zIndex: desc.rawProps.zIndex,
102
- alpha: desc.rawProps.opacity?desc.rawProps.opacity:1.0,
100
+ icon: this.imageSourceConvert(desc.rawProps.image),
101
+ alpha: desc.rawProps.opacity ?? 1.0,
103
102
anchorU: this.getPointX(desc.rawProps.anchor, 0.5),
104
103
anchorV: this.getPointY(desc.rawProps.anchor, 1),
105
- clickable: desc.rawProps.tappable===undefined? true: desc.rawProps.tappable,
104
+ clickable: desc.rawProps.tappable === undefined ? true : desc.rawProps.tappable,
106
105
draggable: desc.rawProps.draggable,
107
- icon: this.imageSourceConvert(desc.rawProps.image),
108
-
106
+ flat: desc.rawProps.flat,
109
107
title: desc.rawProps.title,
110
108
snippet: desc.rawProps.description,
111
- flat: desc.rawProps.flat,
112
109
infoWindowAnchorU: this.getPointX(desc.rawProps.calloutAnchor, 0.5),
113
110
infoWindowAnchorV: this.getPointX(desc.rawProps.calloutAnchor, 0),
111
+ zIndex: desc.rawProps.zIndex,
112
+ visible: true,
114
113
};
115
114
this.mapController.addMarker(markerOptions).then(marker => {
116
115
LWLog('MapsManager.addMarker----------marker=' + marker.getId())
@@ -143,17 +142,17 @@ export class MapsManager{
143
142
let polylineOption: mapCommon.MapPolylineOptions = {
144
143
points: desc.rawProps.coordinates,
145
144
clickable: desc.rawProps.tappable,
145
+ color: this.colorCovertHex(desc.rawProps.strokeColor, 0XFF000000),
146
+ colors: desc.rawProps.strokeColors?.map((color, i): number => { return this.colorCovertHex(color) }),
146
147
startCap: this.lineCapTypeConvert(desc.rawProps.lineCap),
147
148
endCap: this.lineCapTypeConvert(desc.rawProps.lineCap),
148
149
geodesic: desc.rawProps.geodesic,
149
150
jointType: this.lineJoinTypeConvert(desc.rawProps.lineJoin),
150
- visible: true ,
151
+ patterns: this.lineDashPatternConvert(desc.rawProps.lineDashPattern) ,
151
152
width: desc.rawProps.strokeWidth,
152
- zIndex: 0,
153
153
gradient: false,
154
- color: this.colorCovertHex(desc.rawProps.strokeColor, 0XFF000000),
155
- colors: desc.rawProps.strokeColors?.map((color, i): number => { return this.colorCovertHex(color) }),
156
- patterns: this.lineDashPatternConvert(desc.rawProps.lineDashPattern)
154
+ visible: true,
155
+ zIndex: 0,
157
156
}
158
157
// 创建polyline
159
158
this.mapController.addPolyline(polylineOption).then(mapPolyline=>{
@@ -170,6 +169,7 @@ export class MapsManager{
170
169
}
171
170
let polygonOptions: mapCommon.MapPolygonOptions = {
172
171
points: desc.rawProps.coordinates,
172
+ holes: desc.rawProps.holes,
173
173
clickable: desc.rawProps.tappable,
174
174
fillColor: this.colorCovertHex(desc.rawProps.fillColor, 0XFF000000),
175
175
geodesic: desc.rawProps.geodesic,
@@ -179,7 +179,6 @@ export class MapsManager{
179
179
strokeWidth: desc.rawProps.strokeWidth,
180
180
visible: true,
181
181
zIndex: desc.rawProps.zIndex,
182
- holes: desc.rawProps.holes,
183
182
}
184
183
// 创建多边形
185
184
this.mapController.addPolygon(polygonOptions).then(mapPolygon=>{
@@ -203,10 +202,10 @@ export class MapsManager{
203
202
clickable: true,
204
203
fillColor: this.colorCovertHex(desc.rawProps.fillColor, 0XFF000000),
205
204
strokeColor: this.colorCovertHex(desc.rawProps.strokeColor, 0XFF000000),
205
+ patterns: this.lineDashPatternConvert(desc.rawProps.lineDashPattern),
206
206
strokeWidth: desc.rawProps.strokeWidth,
207
207
visible: true,
208
208
zIndex: desc.rawProps.zIndex,
209
- patterns: this.lineDashPatternConvert(desc.rawProps.lineDashPattern)
210
209
}
211
210
// 创建Circle
212
211
this.mapController.addCircle(mapCircleOptions).then(mapCircle=>{
@@ -309,8 +308,13 @@ export class MapsManager{
309
308
lineDashPatternConvert(target: number[]){
310
309
if (target && target.length > 0) {
311
310
let result = new Array<mapCommon.PatternItem>();
312
- target.forEach(element => {
313
- result.push({type: mapCommon.PatternItemType.DASH, length: element})
311
+ const source = target.length % 2 === 0 ? target : [...target, ...target];
312
+ source.forEach((element, index) => {
313
+ if (index % 2 === 0) {
314
+ result.push({type: mapCommon.PatternItemType.DASH, length: element});
315
+ } else {
316
+ result.push({type: mapCommon.PatternItemType.GAP, length: element});
317
+ }
314
318
});
315
319
return result;
316
320
}
0 commit comments