@heycar/heycars-map 0.2.10 → 0.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Demo/DemoBusinessTaxiService.d.ts +2054 -1
- package/dist/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceMap.d.ts +1 -1
- package/dist/business-components/DrivingLine/DrivingLine.d.ts +2 -1
- package/dist/business-components/DrivingRoute/DrivingRoute.d.ts +2 -1
- package/dist/business-components/PlaceCircle/PlaceCircle.d.ts +2 -1
- package/dist/business-components/StartEndPoint/StartEndPoint.d.ts +2 -1
- package/dist/business-components/TaxiCar/TaxiCar.d.ts +2 -1
- package/dist/business-components/WalkingLine/WalkingLine.d.ts +2 -1
- package/dist/business-components/WalkingRoute/WalkingRoute.d.ts +2 -1
- package/dist/business-components/WaveCircle/WaveCircle.d.ts +2 -1
- package/dist/index.cjs +34 -34
- package/dist/index.js +1251 -1192
- package/package.json +2 -2
- package/src/App.tsx +3 -3
- package/src/Demo/DemoBusinessTaxiService.tsx +53 -27
- package/src/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceMap.tsx +106 -28
- package/src/business-components/DrivingLine/DrivingLine.tsx +4 -1
- package/src/business-components/DrivingRoute/DrivingRoute.tsx +4 -1
- package/src/business-components/PlaceCircle/PlaceCircle.tsx +4 -1
- package/src/business-components/StartEndPoint/StartEndPoint.tsx +9 -6
- package/src/business-components/TaxiCar/TaxiCar.tsx +4 -1
- package/src/business-components/WalkingLine/WalkingLine.tsx +4 -1
- package/src/business-components/WalkingRoute/WalkingRoute.tsx +4 -1
- package/src/business-components/WaveCircle/WaveCircle.tsx +4 -1
package/package.json
CHANGED
package/src/App.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent } from "vue-demi";
|
|
2
2
|
import { MapProvider } from "./components/MapProvider";
|
|
3
|
-
import {
|
|
3
|
+
import { DemoBusinessTaxiService } from "./Demo/DemoBusinessTaxiService";
|
|
4
4
|
|
|
5
5
|
const gmapApiKey = import.meta.env.VITE_GMAP_API_KEY;
|
|
6
6
|
const gmapId = import.meta.env.VITE_GMAP_MAP_ID;
|
|
@@ -19,8 +19,8 @@ export const App = defineComponent({
|
|
|
19
19
|
>
|
|
20
20
|
{/* <DemoBusinessRecomendPlace /> */}
|
|
21
21
|
{/* <DemoBusinessQuoting /> */}
|
|
22
|
-
|
|
23
|
-
<DemoBusinessTaxiEnd />
|
|
22
|
+
<DemoBusinessTaxiService />
|
|
23
|
+
{/* <DemoBusinessTaxiEnd /> */}
|
|
24
24
|
</MapProvider>
|
|
25
25
|
);
|
|
26
26
|
},
|
|
@@ -1,32 +1,58 @@
|
|
|
1
|
+
import { defineComponent } from "vue";
|
|
1
2
|
import { BusinessTaxiServiceMap } from "../business-components/BusinessTaxiServiceMap/BusinessTaxiServiceMap";
|
|
2
3
|
import { useBusinessTaxiServiceMap } from "../hooks-business/useBusinessTaxiServiceMap";
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
4
|
+
import type { Place, Point } from "../types/interface";
|
|
5
|
+
import { isPlace } from "../utils/helper";
|
|
5
6
|
import * as css from "./Demo.css";
|
|
6
7
|
|
|
7
|
-
export const DemoBusinessTaxiService =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
8
|
+
export const DemoBusinessTaxiService = defineComponent({
|
|
9
|
+
setup() {
|
|
10
|
+
const { setMap, registerFitVeiw } = useBusinessTaxiServiceMap();
|
|
11
|
+
return { setMap, registerFitVeiw };
|
|
12
|
+
},
|
|
13
|
+
data() {
|
|
14
|
+
return {
|
|
15
|
+
from: {} as Partial<Place>,
|
|
16
|
+
to: {} as Partial<Place>,
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
created() {
|
|
20
|
+
setTimeout(() => {
|
|
21
|
+
this.from = { lng: 121.4, lat: 31.2, name: "from place name" };
|
|
22
|
+
this.to = { lng: 121.5, lat: 31.4, name: "to place name" };
|
|
23
|
+
}, 1000);
|
|
24
|
+
},
|
|
25
|
+
methods: {
|
|
26
|
+
getDriverPosition() {
|
|
27
|
+
return Promise.resolve([121.42, 31.25] as Point);
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
render() {
|
|
31
|
+
const { setMap, getDriverPosition, registerFitVeiw, from, to } = this;
|
|
32
|
+
const isReady = isPlace(from) && isPlace(to);
|
|
33
|
+
if (!isReady) return null;
|
|
34
|
+
return (
|
|
35
|
+
<BusinessTaxiServiceMap
|
|
36
|
+
class={css.demo}
|
|
37
|
+
from={from}
|
|
38
|
+
to={to}
|
|
39
|
+
driverStatus="completed"
|
|
40
|
+
bookDispatchingTitle="2月14日 11:00 用车"
|
|
41
|
+
bookDispatchedTitle="司机位置将在临近出发时间展示"
|
|
42
|
+
dispatchingTitle="正在为您搜索附近司机"
|
|
43
|
+
driverArrivedTitle="司机已等待 00:35"
|
|
44
|
+
renderStartSerivceTitle={({ distance, duration }) =>
|
|
45
|
+
`距你*${distance}*公里, *${duration}*分钟`
|
|
46
|
+
}
|
|
47
|
+
renderInServiceTitle={({ distance, duration }) =>
|
|
48
|
+
`距离终点${distance}公里, 预计${duration}分钟`
|
|
49
|
+
}
|
|
50
|
+
getDriverPosition={getDriverPosition}
|
|
51
|
+
interval={5000}
|
|
52
|
+
mapRef={setMap}
|
|
53
|
+
registerOverlay={registerFitVeiw}
|
|
54
|
+
log
|
|
55
|
+
/>
|
|
56
|
+
);
|
|
57
|
+
},
|
|
32
58
|
});
|
|
@@ -26,11 +26,13 @@ const STATUS_NEED_CAR_POSITION: DriverStatus[] = [
|
|
|
26
26
|
];
|
|
27
27
|
|
|
28
28
|
type SectionDispatchingProps = MROP &
|
|
29
|
+
MapLogProps &
|
|
29
30
|
MapMountedProps & {
|
|
30
31
|
title: string;
|
|
31
32
|
from: Place;
|
|
32
33
|
};
|
|
33
34
|
const SectionDispatching = defineSetup((props: SectionDispatchingProps, { emit }) => {
|
|
35
|
+
useMapLog(props, "SectionDispatching");
|
|
34
36
|
onMapMounted(() => emit("mapMounted"));
|
|
35
37
|
return () => {
|
|
36
38
|
const { from: fromPlace, title, registerOverlay } = props;
|
|
@@ -42,15 +44,17 @@ const SectionDispatching = defineSetup((props: SectionDispatchingProps, { emit }
|
|
|
42
44
|
position={from}
|
|
43
45
|
title={title}
|
|
44
46
|
registerOverlay={registerOverlay}
|
|
47
|
+
log={props.log}
|
|
45
48
|
/>
|
|
46
|
-
<WaveCircle position={from} />
|
|
47
|
-
<PlaceCircle position={from} label={fromPlace.name} hideIcon />
|
|
49
|
+
<WaveCircle position={from} log={props.log} />
|
|
50
|
+
<PlaceCircle position={from} label={fromPlace.name} hideIcon log={props.log} />
|
|
48
51
|
</div>
|
|
49
52
|
);
|
|
50
53
|
};
|
|
51
54
|
});
|
|
52
55
|
|
|
53
56
|
type SectionDriverStartServiceProps = MROP &
|
|
57
|
+
MapLogProps &
|
|
54
58
|
MapMountedProps & {
|
|
55
59
|
passengerPosition: Point;
|
|
56
60
|
carPosition: Point;
|
|
@@ -58,34 +62,51 @@ type SectionDriverStartServiceProps = MROP &
|
|
|
58
62
|
renderTitle: (props: Pick<DrivingRouteRenderProps, "duration" | "distance">) => string;
|
|
59
63
|
};
|
|
60
64
|
const SectionDriverStartService = defineSetup((props: SectionDriverStartServiceProps, { emit }) => {
|
|
65
|
+
useMapLog(props, "SectionDriverStartService");
|
|
61
66
|
onMapMounted(() => emit("mapMounted"));
|
|
62
67
|
return () => {
|
|
63
68
|
const { from: fromPlace, carPosition, passengerPosition, renderTitle, registerOverlay } = props;
|
|
64
69
|
const from = place2point(fromPlace);
|
|
65
70
|
return (
|
|
66
71
|
<div>
|
|
67
|
-
<StartEndPoint
|
|
68
|
-
|
|
72
|
+
<StartEndPoint
|
|
73
|
+
type="start"
|
|
74
|
+
position={from}
|
|
75
|
+
registerOverlay={registerOverlay}
|
|
76
|
+
log={props.log}
|
|
77
|
+
/>
|
|
78
|
+
<PlaceCircle position={from} label={fromPlace.name} hideIcon log={props.log} />
|
|
69
79
|
<DrivingRoute
|
|
70
80
|
from={carPosition}
|
|
71
81
|
to={from}
|
|
82
|
+
log={props.log}
|
|
72
83
|
render={({ path, distance, duration }) => [
|
|
73
|
-
<DrivingLine path={path} />,
|
|
74
|
-
<TaxiCar
|
|
84
|
+
<DrivingLine path={path} log={props.log} />,
|
|
85
|
+
<TaxiCar
|
|
86
|
+
position={carPosition}
|
|
87
|
+
title={renderTitle({ distance, duration })}
|
|
88
|
+
log={props.log}
|
|
89
|
+
/>,
|
|
75
90
|
]}
|
|
76
91
|
/>
|
|
77
92
|
<WalkingRoute
|
|
78
93
|
from={passengerPosition}
|
|
79
94
|
to={from}
|
|
80
|
-
|
|
95
|
+
log={props.log}
|
|
96
|
+
render={({ path }) => <WalkingLine path={path} log={props.log} />}
|
|
97
|
+
/>
|
|
98
|
+
<PassengerCircle
|
|
99
|
+
position={passengerPosition}
|
|
100
|
+
registerOverlay={registerOverlay}
|
|
101
|
+
log={props.log}
|
|
81
102
|
/>
|
|
82
|
-
<PassengerCircle position={passengerPosition} registerOverlay={registerOverlay} />
|
|
83
103
|
</div>
|
|
84
104
|
);
|
|
85
105
|
};
|
|
86
106
|
});
|
|
87
107
|
|
|
88
108
|
type SectionBookDispatchedProps = MROP &
|
|
109
|
+
MapLogProps &
|
|
89
110
|
MapMountedProps & {
|
|
90
111
|
passengerPosition: Point;
|
|
91
112
|
from: Place;
|
|
@@ -93,6 +114,7 @@ type SectionBookDispatchedProps = MROP &
|
|
|
93
114
|
title: string;
|
|
94
115
|
};
|
|
95
116
|
const SectionBookDispatched = defineSetup((props: SectionBookDispatchedProps, { emit }) => {
|
|
117
|
+
useMapLog(props, "SectionBookDispatched");
|
|
96
118
|
onMapMounted(() => emit("mapMounted"));
|
|
97
119
|
return () => {
|
|
98
120
|
const { from: fromPlace, passengerPosition, title, registerOverlay } = props;
|
|
@@ -104,15 +126,21 @@ const SectionBookDispatched = defineSetup((props: SectionBookDispatchedProps, {
|
|
|
104
126
|
position={from}
|
|
105
127
|
title={title}
|
|
106
128
|
registerOverlay={registerOverlay}
|
|
129
|
+
log={props.log}
|
|
130
|
+
/>
|
|
131
|
+
<PlaceCircle position={from} label={fromPlace.name} hideIcon log={props.log} />
|
|
132
|
+
<PassengerCircle
|
|
133
|
+
position={passengerPosition}
|
|
134
|
+
registerOverlay={registerOverlay}
|
|
135
|
+
log={props.log}
|
|
107
136
|
/>
|
|
108
|
-
<PlaceCircle position={from} label={fromPlace.name} hideIcon />
|
|
109
|
-
<PassengerCircle position={passengerPosition} registerOverlay={registerOverlay} />
|
|
110
137
|
</div>
|
|
111
138
|
);
|
|
112
139
|
};
|
|
113
140
|
});
|
|
114
141
|
|
|
115
142
|
type SectionDriverArrivedProps = MROP &
|
|
143
|
+
MapLogProps &
|
|
116
144
|
MapMountedProps & {
|
|
117
145
|
from: Place;
|
|
118
146
|
carPosition: Point;
|
|
@@ -121,24 +149,37 @@ type SectionDriverArrivedProps = MROP &
|
|
|
121
149
|
title: string;
|
|
122
150
|
};
|
|
123
151
|
const SectionDriverArrived = defineSetup((props: SectionDriverArrivedProps, { emit }) => {
|
|
152
|
+
useMapLog(props, "SectionDriverArrived");
|
|
124
153
|
onMapMounted(() => emit("mapMounted"));
|
|
125
154
|
return () => {
|
|
126
155
|
const { from: fromPlace, carPosition, passengerPosition, title, registerOverlay } = props;
|
|
127
156
|
const from = place2point(fromPlace);
|
|
128
157
|
return (
|
|
129
158
|
<div>
|
|
130
|
-
<TaxiCar
|
|
131
|
-
|
|
132
|
-
|
|
159
|
+
<TaxiCar
|
|
160
|
+
position={carPosition}
|
|
161
|
+
title={title}
|
|
162
|
+
registerOverlay={registerOverlay}
|
|
163
|
+
log={props.log}
|
|
164
|
+
/>
|
|
165
|
+
<StartEndPoint
|
|
166
|
+
type="start"
|
|
167
|
+
position={from}
|
|
168
|
+
registerOverlay={registerOverlay}
|
|
169
|
+
log={props.log}
|
|
170
|
+
/>
|
|
171
|
+
<PlaceCircle position={from} label={fromPlace.name} hideIcon log={props.log} />
|
|
133
172
|
<WalkingRoute
|
|
134
173
|
from={passengerPosition}
|
|
135
174
|
to={from}
|
|
175
|
+
log={props.log}
|
|
136
176
|
render={({ path }) => <WalkingLine path={path} />}
|
|
137
177
|
/>
|
|
138
178
|
<PassengerCircle
|
|
139
179
|
position={passengerPosition}
|
|
140
180
|
size="small"
|
|
141
181
|
registerOverlay={registerOverlay}
|
|
182
|
+
log={props.log}
|
|
142
183
|
/>
|
|
143
184
|
</div>
|
|
144
185
|
);
|
|
@@ -146,29 +187,38 @@ const SectionDriverArrived = defineSetup((props: SectionDriverArrivedProps, { em
|
|
|
146
187
|
});
|
|
147
188
|
|
|
148
189
|
type SectionInServiceProps = MROP &
|
|
190
|
+
MapLogProps &
|
|
149
191
|
MapMountedProps & {
|
|
150
192
|
to: Place;
|
|
151
193
|
carPosition: Point;
|
|
152
194
|
renderTitle: (props: Pick<DrivingRouteRenderProps, "duration" | "distance">) => string;
|
|
153
195
|
};
|
|
154
196
|
const SectionInService = defineSetup((props: SectionInServiceProps, { emit }) => {
|
|
197
|
+
useMapLog(props, "SectionInService");
|
|
155
198
|
onMapMounted(() => emit("mapMounted"));
|
|
156
199
|
return () => {
|
|
157
200
|
const { to: toPlace, carPosition, renderTitle, registerOverlay } = props;
|
|
158
201
|
const to = place2point(toPlace);
|
|
159
202
|
return (
|
|
160
203
|
<div>
|
|
161
|
-
<StartEndPoint type="end" position={to} registerOverlay={registerOverlay} />
|
|
162
|
-
<PlaceCircle
|
|
204
|
+
<StartEndPoint type="end" position={to} registerOverlay={registerOverlay} log={props.log} />
|
|
205
|
+
<PlaceCircle
|
|
206
|
+
position={carPosition}
|
|
207
|
+
label="'WebSter Dental Plaza'"
|
|
208
|
+
hideIcon
|
|
209
|
+
log={props.log}
|
|
210
|
+
/>
|
|
163
211
|
<DrivingRoute
|
|
164
212
|
from={carPosition}
|
|
165
213
|
to={to}
|
|
214
|
+
log={props.log}
|
|
166
215
|
render={({ path, distance, duration }) => [
|
|
167
|
-
<DrivingLine path={path} />,
|
|
216
|
+
<DrivingLine path={path} log={props.log} />,
|
|
168
217
|
<TaxiCar
|
|
169
218
|
position={carPosition}
|
|
170
219
|
title={renderTitle({ distance, duration })}
|
|
171
220
|
registerOverlay={registerOverlay}
|
|
221
|
+
log={props.log}
|
|
172
222
|
/>,
|
|
173
223
|
]}
|
|
174
224
|
/>
|
|
@@ -178,11 +228,13 @@ const SectionInService = defineSetup((props: SectionInServiceProps, { emit }) =>
|
|
|
178
228
|
});
|
|
179
229
|
|
|
180
230
|
type SectionCanceledProps = MROP &
|
|
231
|
+
MapLogProps &
|
|
181
232
|
MapMountedProps & {
|
|
182
233
|
from: Place;
|
|
183
234
|
to: Place;
|
|
184
235
|
};
|
|
185
236
|
const SectionCanceled = defineSetup((props: SectionCanceledProps, { emit }) => {
|
|
237
|
+
useMapLog(props, "SectionCanceled");
|
|
186
238
|
onMapMounted(() => emit("mapMounted"));
|
|
187
239
|
return () => {
|
|
188
240
|
const { from: fromPlace, to: toPlace, registerOverlay } = props;
|
|
@@ -190,10 +242,15 @@ const SectionCanceled = defineSetup((props: SectionCanceledProps, { emit }) => {
|
|
|
190
242
|
const to = place2point(toPlace);
|
|
191
243
|
return (
|
|
192
244
|
<div>
|
|
193
|
-
<StartEndPoint
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
245
|
+
<StartEndPoint
|
|
246
|
+
type="start"
|
|
247
|
+
position={from}
|
|
248
|
+
registerOverlay={registerOverlay}
|
|
249
|
+
log={props.log}
|
|
250
|
+
/>
|
|
251
|
+
<StartEndPoint type="end" position={to} registerOverlay={registerOverlay} log={props.log} />
|
|
252
|
+
<PlaceCircle position={from} label={fromPlace.name} hideIcon log={props.log} />
|
|
253
|
+
<PlaceCircle position={to} label={toPlace.name} hideIcon log={props.log} />
|
|
197
254
|
</div>
|
|
198
255
|
);
|
|
199
256
|
};
|
|
@@ -214,18 +271,29 @@ export const SectionEndService = defineSetup((props: SectionEndServiceProps, { e
|
|
|
214
271
|
const to = place2point(toPlace);
|
|
215
272
|
return (
|
|
216
273
|
<div>
|
|
217
|
-
<StartEndPoint
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
274
|
+
<StartEndPoint
|
|
275
|
+
type="start"
|
|
276
|
+
position={from}
|
|
277
|
+
registerOverlay={registerOverlay}
|
|
278
|
+
log={props.log}
|
|
279
|
+
/>
|
|
280
|
+
<StartEndPoint type="end" position={to} registerOverlay={registerOverlay} log={props.log} />
|
|
281
|
+
<PlaceCircle position={from} label={fromPlace.name} hideIcon log={props.log} />
|
|
282
|
+
<PlaceCircle position={to} label={toPlace.name} hideIcon log={props.log} />
|
|
283
|
+
<DrivingRoute
|
|
284
|
+
from={from}
|
|
285
|
+
to={to}
|
|
286
|
+
render={({ path }) => <DrivingLine path={path} done log={props.log} />}
|
|
287
|
+
log={props.log}
|
|
288
|
+
/>
|
|
222
289
|
</div>
|
|
223
290
|
);
|
|
224
291
|
};
|
|
225
292
|
});
|
|
226
293
|
|
|
227
294
|
export type BusinessTaxiServiceMapProps = Omit<HeycarMapProps, "center" | "zoom"> &
|
|
228
|
-
Required<MROP> &
|
|
295
|
+
Required<MROP> &
|
|
296
|
+
MapLogProps & {
|
|
229
297
|
from: Place;
|
|
230
298
|
to: Place;
|
|
231
299
|
// @example 正在为您搜索附近司机
|
|
@@ -240,6 +308,7 @@ export type BusinessTaxiServiceMapProps = Omit<HeycarMapProps, "center" | "zoom"
|
|
|
240
308
|
getDriverPosition: () => Promise<Point>;
|
|
241
309
|
};
|
|
242
310
|
export const BusinessTaxiServiceMap = defineLagecySetup((props: BusinessTaxiServiceMapProps) => {
|
|
311
|
+
useMapLog(props, "BusinessTaxiServiceMap");
|
|
243
312
|
const {
|
|
244
313
|
from,
|
|
245
314
|
interval,
|
|
@@ -275,13 +344,14 @@ export const BusinessTaxiServiceMap = defineLagecySetup((props: BusinessTaxiServ
|
|
|
275
344
|
} = props;
|
|
276
345
|
const carPosition = carPositionRef.value;
|
|
277
346
|
return (
|
|
278
|
-
<HeycarMap center={place2point(from)} zoom={13} mapRef={mapRef}>
|
|
347
|
+
<HeycarMap center={place2point(from)} zoom={13} mapRef={mapRef} log={props.log}>
|
|
279
348
|
{driverStatus === "dispatching" ? (
|
|
280
349
|
<SectionDispatching
|
|
281
350
|
from={from}
|
|
282
351
|
title={dispatchingTitle}
|
|
283
352
|
registerOverlay={registerOverlay}
|
|
284
353
|
onMapMounted={setFitView}
|
|
354
|
+
log={props.log}
|
|
285
355
|
/>
|
|
286
356
|
) : driverStatus === "book-dispatching" ? (
|
|
287
357
|
<SectionDispatching
|
|
@@ -289,6 +359,7 @@ export const BusinessTaxiServiceMap = defineLagecySetup((props: BusinessTaxiServ
|
|
|
289
359
|
title={bookDispatchingTitle}
|
|
290
360
|
registerOverlay={registerOverlay}
|
|
291
361
|
onMapMounted={setFitView}
|
|
362
|
+
log={props.log}
|
|
292
363
|
/>
|
|
293
364
|
) : driverStatus === "dispatched" ||
|
|
294
365
|
driverStatus === "driverStartService" ||
|
|
@@ -300,6 +371,7 @@ export const BusinessTaxiServiceMap = defineLagecySetup((props: BusinessTaxiServ
|
|
|
300
371
|
renderTitle={renderStartSerivceTitle}
|
|
301
372
|
registerOverlay={registerOverlay}
|
|
302
373
|
onMapMounted={setFitView}
|
|
374
|
+
log={props.log}
|
|
303
375
|
/>
|
|
304
376
|
) : driverStatus === "book-dispatched" ? (
|
|
305
377
|
<SectionBookDispatched
|
|
@@ -308,6 +380,7 @@ export const BusinessTaxiServiceMap = defineLagecySetup((props: BusinessTaxiServ
|
|
|
308
380
|
title={bookDispatchedTitle}
|
|
309
381
|
registerOverlay={registerOverlay}
|
|
310
382
|
onMapMounted={setFitView}
|
|
383
|
+
log={props.log}
|
|
311
384
|
/>
|
|
312
385
|
) : driverStatus === "inService" ? (
|
|
313
386
|
<SectionInService
|
|
@@ -316,6 +389,7 @@ export const BusinessTaxiServiceMap = defineLagecySetup((props: BusinessTaxiServ
|
|
|
316
389
|
renderTitle={renderInServiceTitle}
|
|
317
390
|
registerOverlay={registerOverlay}
|
|
318
391
|
onMapMounted={setFitView}
|
|
392
|
+
log={props.log}
|
|
319
393
|
/>
|
|
320
394
|
) : driverStatus === "driverArrived" ? (
|
|
321
395
|
<SectionDriverArrived
|
|
@@ -325,9 +399,10 @@ export const BusinessTaxiServiceMap = defineLagecySetup((props: BusinessTaxiServ
|
|
|
325
399
|
title={driverArrivedTitle}
|
|
326
400
|
registerOverlay={registerOverlay}
|
|
327
401
|
onMapMounted={setFitView}
|
|
402
|
+
log={props.log}
|
|
328
403
|
/>
|
|
329
404
|
) : driverStatus === "canceled" || driverStatus === "canceling" ? (
|
|
330
|
-
<SectionCanceled from={from} to={to} registerOverlay={registerOverlay} />
|
|
405
|
+
<SectionCanceled from={from} to={to} registerOverlay={registerOverlay} log={props.log} />
|
|
331
406
|
) : driverStatus === "endService" ||
|
|
332
407
|
driverStatus === "completed" ||
|
|
333
408
|
driverStatus === "banlanceRefund" ||
|
|
@@ -343,6 +418,7 @@ export const BusinessTaxiServiceMap = defineLagecySetup((props: BusinessTaxiServ
|
|
|
343
418
|
to={to}
|
|
344
419
|
registerOverlay={registerOverlay}
|
|
345
420
|
onMapMounted={setFitView}
|
|
421
|
+
log={props.log}
|
|
346
422
|
/>
|
|
347
423
|
) : (
|
|
348
424
|
// 匹配不到就显示灰色路线
|
|
@@ -351,12 +427,14 @@ export const BusinessTaxiServiceMap = defineLagecySetup((props: BusinessTaxiServ
|
|
|
351
427
|
to={to}
|
|
352
428
|
registerOverlay={registerOverlay}
|
|
353
429
|
onMapMounted={setFitView}
|
|
430
|
+
log={props.log}
|
|
354
431
|
/>
|
|
355
432
|
)}
|
|
356
433
|
</HeycarMap>
|
|
357
434
|
);
|
|
358
435
|
};
|
|
359
436
|
}).props([
|
|
437
|
+
"log",
|
|
360
438
|
"bookDispatchedTitle",
|
|
361
439
|
"bookDispatchingTitle",
|
|
362
440
|
"dispatchingTitle",
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { computed } from "vue-demi";
|
|
2
2
|
import { AmapPolyline } from "../../components/AmapPolyline";
|
|
3
3
|
import { GmapPolyline } from "../../components/GmapPolyline";
|
|
4
|
+
import { MapLogProps, useMapLog } from "../../hooks/useMapLog";
|
|
4
5
|
import { useMapSupplier } from "../../hooks/useMapSupplier";
|
|
5
6
|
import { createElement, defineSetup } from "../../types/helper";
|
|
6
7
|
import { vec2lnglat } from "../../utils/transform";
|
|
7
8
|
|
|
8
|
-
export interface DrivingLineProps {
|
|
9
|
+
export interface DrivingLineProps extends MapLogProps {
|
|
9
10
|
done?: boolean;
|
|
10
11
|
path: [number, number][];
|
|
11
12
|
}
|
|
12
13
|
export const ADrivingLine = defineSetup(function ADrivingLine(props: DrivingLineProps) {
|
|
14
|
+
useMapLog(props, "ADrivingLine");
|
|
13
15
|
return () => {
|
|
14
16
|
const vw = window.innerWidth * 0.01;
|
|
15
17
|
const strokeWidth = 2.5 * vw;
|
|
@@ -63,6 +65,7 @@ export const ADrivingLine = defineSetup(function ADrivingLine(props: DrivingLine
|
|
|
63
65
|
});
|
|
64
66
|
|
|
65
67
|
export const GDrivingLine = defineSetup(function GDrivingLine(props: DrivingLineProps) {
|
|
68
|
+
useMapLog(props, "ADrivingLine");
|
|
66
69
|
const pathRef = computed(() => props.path.map(vec2lnglat));
|
|
67
70
|
return () => {
|
|
68
71
|
const vw = window.innerWidth * 0.01;
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
} from "../../hooks/useDrivingRoute";
|
|
7
7
|
import { useAmap, useGmap } from "../../hooks/useMap";
|
|
8
8
|
import { useAmapAngle, useGmapAngle } from "../../hooks/useMapAngle";
|
|
9
|
+
import { MapLogProps, useMapLog } from "../../hooks/useMapLog";
|
|
9
10
|
import { useMapSupplier } from "../../hooks/useMapSupplier";
|
|
10
11
|
import { createElement, defineSetup, VNodeChild } from "../../types/helper";
|
|
11
12
|
import type { Point } from "../../types/interface";
|
|
@@ -16,13 +17,14 @@ export type DrivingRouteRenderProps = {
|
|
|
16
17
|
distance: number;
|
|
17
18
|
duration: number;
|
|
18
19
|
};
|
|
19
|
-
export interface DrivingRouteProps extends UseDrivingRouteProps {
|
|
20
|
+
export interface DrivingRouteProps extends UseDrivingRouteProps, MapLogProps {
|
|
20
21
|
render?: (props: DrivingRouteRenderProps) => VNodeChild;
|
|
21
22
|
}
|
|
22
23
|
export const ADrivingRoute = defineSetup(function DrivingRoute(
|
|
23
24
|
props: DrivingRouteProps,
|
|
24
25
|
{ slots }
|
|
25
26
|
) {
|
|
27
|
+
useMapLog(props, "ADrivingRoute");
|
|
26
28
|
const map = useAmap();
|
|
27
29
|
const { path, distance, duration } = toRefs(useADrivingRoute(props));
|
|
28
30
|
const angle = useAmapAngle(reactive({ path, map }));
|
|
@@ -33,6 +35,7 @@ export const GDrivingRoute = defineSetup(function DrivingRoute(
|
|
|
33
35
|
props: DrivingRouteProps,
|
|
34
36
|
{ slots }
|
|
35
37
|
) {
|
|
38
|
+
useMapLog(props, "GDrivingRoute");
|
|
36
39
|
const map = useGmap();
|
|
37
40
|
const { path, distance, duration } = toRefs(useGDrivingRoute(props));
|
|
38
41
|
const angle = useGmapAngle(reactive({ path, map }));
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
GmapAdvancedMarkerView,
|
|
6
6
|
GmapAdvancedMarkerViewProps,
|
|
7
7
|
} from "../../components/GmapAdvancedMarkerView";
|
|
8
|
+
import { MapLogProps, useMapLog } from "../../hooks/useMapLog";
|
|
8
9
|
import { useMapSupplier } from "../../hooks/useMapSupplier";
|
|
9
10
|
import { AnchorType } from "../../types/amap/marker";
|
|
10
11
|
import { createElement, defineSetup } from "../../types/helper";
|
|
@@ -13,7 +14,7 @@ import { createDom } from "../../utils/dom";
|
|
|
13
14
|
import { vec2lnglat } from "../../utils/transform";
|
|
14
15
|
import * as css from "./PlaceCircle.css";
|
|
15
16
|
|
|
16
|
-
export interface PlaceCircleProps {
|
|
17
|
+
export interface PlaceCircleProps extends MapLogProps {
|
|
17
18
|
position: [number, number];
|
|
18
19
|
label?: string;
|
|
19
20
|
textAlign?: "left" | "right";
|
|
@@ -21,6 +22,7 @@ export interface PlaceCircleProps {
|
|
|
21
22
|
onClick?: (value: Point) => any;
|
|
22
23
|
}
|
|
23
24
|
export const APlaceCircle = defineSetup(function APlaceCircle(props: PlaceCircleProps, { emit }) {
|
|
25
|
+
useMapLog(props, "APlaceCircle");
|
|
24
26
|
const textAlignRef = computed(() => props.textAlign ?? "right");
|
|
25
27
|
const contentRef = computed(() => {
|
|
26
28
|
const { hideIcon = false } = props;
|
|
@@ -56,6 +58,7 @@ export const APlaceCircle = defineSetup(function APlaceCircle(props: PlaceCircle
|
|
|
56
58
|
});
|
|
57
59
|
|
|
58
60
|
export const GPlaceCircle = defineSetup(function GPlaceCircle(props: PlaceCircleProps, { emit }) {
|
|
61
|
+
useMapLog(props, "GPlaceCircle");
|
|
59
62
|
const textAlignRef = computed(() => props.textAlign ?? "right");
|
|
60
63
|
const contentRef = computed(() => {
|
|
61
64
|
const { hideIcon = false } = props;
|
|
@@ -3,22 +3,24 @@ import imgEndPoint from "../../assets/icons/svg/end-point.svg";
|
|
|
3
3
|
import imgStartPoint from "../../assets/icons/svg/start-point.svg";
|
|
4
4
|
import { AmapMarker } from "../../components/AmapMarker";
|
|
5
5
|
import { GmapAdvancedMarkerView } from "../../components/GmapAdvancedMarkerView/GmapAdvancedMarkerView";
|
|
6
|
+
import { MapLogProps, useMapLog } from "../../hooks/useMapLog";
|
|
6
7
|
import { useMapSupplier } from "../../hooks/useMapSupplier";
|
|
7
8
|
import type { AmapOverlay, GmapOverlay, MapRegisterOverlayProps } from "../../hooks/useOverlay";
|
|
8
|
-
import { createElement,
|
|
9
|
+
import { createElement, defineSetup } from "../../types/helper";
|
|
9
10
|
import { createDom } from "../../utils/dom";
|
|
10
11
|
import { decodeAsterisk, vec2lnglat } from "../../utils/transform";
|
|
11
12
|
import * as css from "./StartEndPoint.css";
|
|
12
13
|
|
|
13
|
-
export interface StartEndPointProps<T> extends MapRegisterOverlayProps<T
|
|
14
|
+
export interface StartEndPointProps<T> extends MapRegisterOverlayProps<T>, MapLogProps {
|
|
14
15
|
type: "start" | "end";
|
|
15
16
|
position: [number, number];
|
|
16
17
|
title?: string;
|
|
17
18
|
description?: string;
|
|
18
19
|
}
|
|
19
|
-
export const AStartEndPoint =
|
|
20
|
+
export const AStartEndPoint = defineSetup(function AStartEndPoint(
|
|
20
21
|
props: StartEndPointProps<AmapOverlay>
|
|
21
22
|
) {
|
|
23
|
+
useMapLog(props, "AStartEndPoint");
|
|
22
24
|
const contentRef = computed(() => {
|
|
23
25
|
const icon = props.type === "start" ? imgStartPoint : imgEndPoint;
|
|
24
26
|
const descriptionRow = !props.description
|
|
@@ -57,11 +59,12 @@ export const AStartEndPoint = defineLagecySetup(function AStartEndPoint(
|
|
|
57
59
|
anchor={"bottom-center"}
|
|
58
60
|
/>
|
|
59
61
|
);
|
|
60
|
-
})
|
|
62
|
+
});
|
|
61
63
|
|
|
62
|
-
export const GStartEndPoint =
|
|
64
|
+
export const GStartEndPoint = defineSetup(function GStartEndPoint(
|
|
63
65
|
props: StartEndPointProps<GmapOverlay>
|
|
64
66
|
) {
|
|
67
|
+
useMapLog(props, "GStartEndPoint");
|
|
65
68
|
const contentRef = computed(() => {
|
|
66
69
|
const icon = props.type === "start" ? imgStartPoint : imgEndPoint;
|
|
67
70
|
const descriptionRow = !props.description
|
|
@@ -105,7 +108,7 @@ export const GStartEndPoint = defineLagecySetup(function GStartEndPoint(
|
|
|
105
108
|
/>
|
|
106
109
|
);
|
|
107
110
|
};
|
|
108
|
-
})
|
|
111
|
+
});
|
|
109
112
|
|
|
110
113
|
export const StartEndPoint = defineSetup(function StartEndPoint(
|
|
111
114
|
props: StartEndPointProps<AmapOverlay> | StartEndPointProps<GmapOverlay>
|
|
@@ -2,6 +2,7 @@ import { computed } from "vue-demi";
|
|
|
2
2
|
import imgTaxicar from "../../assets/icons/svg/taxi-car.svg";
|
|
3
3
|
import { AmapMarker } from "../../components/AmapMarker";
|
|
4
4
|
import { GmapAdvancedMarkerView } from "../../components/GmapAdvancedMarkerView/GmapAdvancedMarkerView";
|
|
5
|
+
import { MapLogProps, useMapLog } from "../../hooks/useMapLog";
|
|
5
6
|
import { useMapSupplier } from "../../hooks/useMapSupplier";
|
|
6
7
|
import type { AmapOverlay, GmapOverlay, MapRegisterOverlayProps } from "../../hooks/useOverlay";
|
|
7
8
|
import { createElement, defineSetup } from "../../types/helper";
|
|
@@ -9,12 +10,13 @@ import { createDom } from "../../utils/dom";
|
|
|
9
10
|
import { decodeAsterisk, vec2lnglat } from "../../utils/transform";
|
|
10
11
|
import * as css from "./TaxiCar.css";
|
|
11
12
|
|
|
12
|
-
export interface TaxiCarProps<T> extends MapRegisterOverlayProps<T
|
|
13
|
+
export interface TaxiCarProps<T> extends MapRegisterOverlayProps<T>, MapLogProps {
|
|
13
14
|
position: [number, number];
|
|
14
15
|
angle?: number;
|
|
15
16
|
title?: string;
|
|
16
17
|
}
|
|
17
18
|
export const ATaxiCar = defineSetup(function ATaxiCar(props: TaxiCarProps<AmapOverlay>) {
|
|
19
|
+
useMapLog(props, "ATaxiCar");
|
|
18
20
|
const contentRef = computed(() => {
|
|
19
21
|
const titleRow = !props.title
|
|
20
22
|
? ""
|
|
@@ -45,6 +47,7 @@ export const ATaxiCar = defineSetup(function ATaxiCar(props: TaxiCarProps<AmapOv
|
|
|
45
47
|
});
|
|
46
48
|
|
|
47
49
|
export const GTaxiCar = defineSetup(function GTaxiCar(props: TaxiCarProps<GmapOverlay>) {
|
|
50
|
+
useMapLog(props, "GTaxiCar");
|
|
48
51
|
const contentRef = computed(() => {
|
|
49
52
|
const titleRow = !props.title
|
|
50
53
|
? ""
|