@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.
Files changed (24) hide show
  1. package/dist/Demo/DemoBusinessTaxiService.d.ts +2054 -1
  2. package/dist/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceMap.d.ts +1 -1
  3. package/dist/business-components/DrivingLine/DrivingLine.d.ts +2 -1
  4. package/dist/business-components/DrivingRoute/DrivingRoute.d.ts +2 -1
  5. package/dist/business-components/PlaceCircle/PlaceCircle.d.ts +2 -1
  6. package/dist/business-components/StartEndPoint/StartEndPoint.d.ts +2 -1
  7. package/dist/business-components/TaxiCar/TaxiCar.d.ts +2 -1
  8. package/dist/business-components/WalkingLine/WalkingLine.d.ts +2 -1
  9. package/dist/business-components/WalkingRoute/WalkingRoute.d.ts +2 -1
  10. package/dist/business-components/WaveCircle/WaveCircle.d.ts +2 -1
  11. package/dist/index.cjs +34 -34
  12. package/dist/index.js +1251 -1192
  13. package/package.json +2 -2
  14. package/src/App.tsx +3 -3
  15. package/src/Demo/DemoBusinessTaxiService.tsx +53 -27
  16. package/src/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceMap.tsx +106 -28
  17. package/src/business-components/DrivingLine/DrivingLine.tsx +4 -1
  18. package/src/business-components/DrivingRoute/DrivingRoute.tsx +4 -1
  19. package/src/business-components/PlaceCircle/PlaceCircle.tsx +4 -1
  20. package/src/business-components/StartEndPoint/StartEndPoint.tsx +9 -6
  21. package/src/business-components/TaxiCar/TaxiCar.tsx +4 -1
  22. package/src/business-components/WalkingLine/WalkingLine.tsx +4 -1
  23. package/src/business-components/WalkingRoute/WalkingRoute.tsx +4 -1
  24. package/src/business-components/WaveCircle/WaveCircle.tsx +4 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heycar/heycars-map",
3
- "version": "0.2.10",
3
+ "version": "0.2.11",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "dev": "vite -c vite.config.dev.ts",
@@ -91,4 +91,4 @@
91
91
  "engines": {
92
92
  "node": ">=16.0.0"
93
93
  }
94
- }
94
+ }
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 { DemoBusinessTaxiEnd } from "./Demo/DemoBusinessTaxiEnd";
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
- {/* <DemoBusinessTaxiService /> */}
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 { defineSetup } from "../types/helper";
4
- import type { Point } from "../types/interface";
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 = defineSetup(function DemoBusinessTaxiService() {
8
- const { setMap, registerFitVeiw } = useBusinessTaxiServiceMap();
9
- const getDriverPosition = () => Promise.resolve([121.42, 31.25] as Point);
10
- return () => (
11
- <BusinessTaxiServiceMap
12
- class={css.demo}
13
- from={{ lng: 121.4, lat: 31.2, name: "from place name" }}
14
- to={{ lng: 121.5, lat: 31.4, name: "to place name" }}
15
- driverStatus="completed"
16
- bookDispatchingTitle="2月14日 11:00 用车"
17
- bookDispatchedTitle="司机位置将在临近出发时间展示"
18
- dispatchingTitle="正在为您搜索附近司机"
19
- driverArrivedTitle="司机已等待 00:35"
20
- renderStartSerivceTitle={({ distance, duration }) =>
21
- `距你*${distance}*公里, *${duration}*分钟`
22
- }
23
- renderInServiceTitle={({ distance, duration }) =>
24
- `距离终点${distance}公里, 预计${duration}分钟`
25
- }
26
- getDriverPosition={getDriverPosition}
27
- interval={5000}
28
- mapRef={setMap}
29
- registerOverlay={registerFitVeiw}
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 type="start" position={from} registerOverlay={registerOverlay} />
68
- <PlaceCircle position={from} label={fromPlace.name} hideIcon />
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 position={carPosition} title={renderTitle({ distance, duration })} />,
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
- render={({ path }) => <WalkingLine path={path} />}
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 position={carPosition} title={title} registerOverlay={registerOverlay} />
131
- <StartEndPoint type="start" position={from} registerOverlay={registerOverlay} />
132
- <PlaceCircle position={from} label={fromPlace.name} hideIcon />
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 position={carPosition} label="'WebSter Dental Plaza'" hideIcon />
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 type="start" position={from} registerOverlay={registerOverlay} />
194
- <StartEndPoint type="end" position={to} registerOverlay={registerOverlay} />
195
- <PlaceCircle position={from} label={fromPlace.name} hideIcon />
196
- <PlaceCircle position={to} label={toPlace.name} hideIcon />
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 type="start" position={from} registerOverlay={registerOverlay} />
218
- <StartEndPoint type="end" position={to} registerOverlay={registerOverlay} />
219
- <PlaceCircle position={from} label={fromPlace.name} hideIcon />
220
- <PlaceCircle position={to} label={toPlace.name} hideIcon />
221
- <DrivingRoute from={from} to={to} render={({ path }) => <DrivingLine path={path} done />} />
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, defineLagecySetup, defineSetup } from "../../types/helper";
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 = defineLagecySetup(function 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
- }).props(["type", "title", "registerOverlay", "position", "description"]);
62
+ });
61
63
 
62
- export const GStartEndPoint = defineLagecySetup(function 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
- }).props(["type", "title", "registerOverlay", "position", "description"]);
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
  ? ""