@heycar/heycars-map 0.9.0 → 0.9.1
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/index.cjs
CHANGED
|
@@ -9,7 +9,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
9
9
|
const Vue = require("vue");
|
|
10
10
|
const style = "";
|
|
11
11
|
const name = "@heycar/heycars-map";
|
|
12
|
-
const version = "0.9.
|
|
12
|
+
const version = "0.9.1";
|
|
13
13
|
const type = "module";
|
|
14
14
|
const scripts = {
|
|
15
15
|
dev: "vite -c vite.config.dev.ts",
|
|
@@ -1113,6 +1113,48 @@ const assertAngle = (angle) => {
|
|
|
1113
1113
|
const isLatLngLiteral = (value) => {
|
|
1114
1114
|
return value != null && typeof value === "object" && Number.isFinite(value.lat) && Number.isFinite(value.lng);
|
|
1115
1115
|
};
|
|
1116
|
+
function defered() {
|
|
1117
|
+
const defer = {};
|
|
1118
|
+
const promise = new Promise((resolve, reject) => {
|
|
1119
|
+
defer.state = "pending";
|
|
1120
|
+
defer.resolve = async (value) => {
|
|
1121
|
+
try {
|
|
1122
|
+
const result = await value;
|
|
1123
|
+
defer.state = "fulfilled";
|
|
1124
|
+
return resolve(result);
|
|
1125
|
+
} catch (err) {
|
|
1126
|
+
defer.state = "rejected";
|
|
1127
|
+
reject(err);
|
|
1128
|
+
}
|
|
1129
|
+
};
|
|
1130
|
+
defer.reject = (reason) => {
|
|
1131
|
+
defer.state = "rejected";
|
|
1132
|
+
return reject(reason);
|
|
1133
|
+
};
|
|
1134
|
+
});
|
|
1135
|
+
return Object.assign(promise, defer);
|
|
1136
|
+
}
|
|
1137
|
+
const pausableSleep = (milliSeconds) => {
|
|
1138
|
+
const sleepDefered = defered();
|
|
1139
|
+
let id = setTimeout(sleepDefered.resolve, milliSeconds);
|
|
1140
|
+
let isPaused = false;
|
|
1141
|
+
const pause = () => {
|
|
1142
|
+
if (isPaused || sleepDefered.state === "fulfilled")
|
|
1143
|
+
return;
|
|
1144
|
+
console.log("pause");
|
|
1145
|
+
isPaused = true;
|
|
1146
|
+
clearTimeout(id);
|
|
1147
|
+
};
|
|
1148
|
+
const restart = () => {
|
|
1149
|
+
if (sleepDefered.state === "fulfilled")
|
|
1150
|
+
return;
|
|
1151
|
+
console.log("restart");
|
|
1152
|
+
isPaused = false;
|
|
1153
|
+
clearTimeout(id);
|
|
1154
|
+
id = setTimeout(sleepDefered.resolve, milliSeconds);
|
|
1155
|
+
};
|
|
1156
|
+
return { sleepPromise: sleepDefered, pause, restart };
|
|
1157
|
+
};
|
|
1116
1158
|
const vec2lnglat = ([lng, lat]) => ({
|
|
1117
1159
|
lng: Number(lng),
|
|
1118
1160
|
lat: Number(lat)
|
|
@@ -3147,6 +3189,36 @@ const useMapFitView = (props) => {
|
|
|
3147
3189
|
const { supplier } = useMapSupplier();
|
|
3148
3190
|
return supplier === "gmap" ? useGmapFitView(props) : useAmapFitView(props);
|
|
3149
3191
|
};
|
|
3192
|
+
const useAmapTouchEvent = () => {
|
|
3193
|
+
const mapRef = useAmap();
|
|
3194
|
+
const addMapEventListener = (name2, handler) => {
|
|
3195
|
+
var _a;
|
|
3196
|
+
return (_a = mapRef == null ? void 0 : mapRef.value) == null ? void 0 : _a.on(name2, handler);
|
|
3197
|
+
};
|
|
3198
|
+
const removeMapEventListener = (name2, handler) => {
|
|
3199
|
+
var _a;
|
|
3200
|
+
return (_a = mapRef == null ? void 0 : mapRef.value) == null ? void 0 : _a.off(name2, handler);
|
|
3201
|
+
};
|
|
3202
|
+
return { addMapEventListener, removeMapEventListener };
|
|
3203
|
+
};
|
|
3204
|
+
const useGmapTouchEvent = () => {
|
|
3205
|
+
const mapRef = useGmap();
|
|
3206
|
+
const addMapEventListener = (name2, handler) => {
|
|
3207
|
+
var _a;
|
|
3208
|
+
const container = (_a = mapRef == null ? void 0 : mapRef.value) == null ? void 0 : _a.getDiv();
|
|
3209
|
+
return container == null ? void 0 : container.addEventListener(name2, handler);
|
|
3210
|
+
};
|
|
3211
|
+
const removeMapEventListener = (name2, handler) => {
|
|
3212
|
+
var _a;
|
|
3213
|
+
const container = (_a = mapRef == null ? void 0 : mapRef.value) == null ? void 0 : _a.getDiv();
|
|
3214
|
+
return container == null ? void 0 : container.removeEventListener(name2, handler);
|
|
3215
|
+
};
|
|
3216
|
+
return { addMapEventListener, removeMapEventListener };
|
|
3217
|
+
};
|
|
3218
|
+
const useMapTouchEvent = () => {
|
|
3219
|
+
const { supplier } = useMapSupplier();
|
|
3220
|
+
return supplier === "gmap" ? useGmapTouchEvent() : useAmapTouchEvent();
|
|
3221
|
+
};
|
|
3150
3222
|
defineSetup(function FitView(props, {
|
|
3151
3223
|
slots
|
|
3152
3224
|
}) {
|
|
@@ -3199,7 +3271,7 @@ function createFittableRegisterOverlay(registerOverlay) {
|
|
|
3199
3271
|
setFitView
|
|
3200
3272
|
};
|
|
3201
3273
|
}
|
|
3202
|
-
|
|
3274
|
+
defineSetup(function KeyedFitView(props, {
|
|
3203
3275
|
slots
|
|
3204
3276
|
}) {
|
|
3205
3277
|
const mapMountedPromise = useMapMountedPromise();
|
|
@@ -3220,6 +3292,48 @@ const KeyedFitView = defineSetup(function KeyedFitView2(props, {
|
|
|
3220
3292
|
return Vue.h("div", [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
|
|
3221
3293
|
};
|
|
3222
3294
|
});
|
|
3295
|
+
const InterruptableIntervalFitView = defineSetup(function InterruptableIntervalFitView2(props) {
|
|
3296
|
+
const {
|
|
3297
|
+
registerOverlay
|
|
3298
|
+
} = props;
|
|
3299
|
+
const mapMountedPromise = useMapMountedPromise();
|
|
3300
|
+
const {
|
|
3301
|
+
addMapEventListener,
|
|
3302
|
+
removeMapEventListener
|
|
3303
|
+
} = useMapTouchEvent();
|
|
3304
|
+
Vue.watch(() => 0, async (_1, _2, onCleanup) => {
|
|
3305
|
+
await mapMountedPromise;
|
|
3306
|
+
let skip = false;
|
|
3307
|
+
let pause;
|
|
3308
|
+
let restart;
|
|
3309
|
+
let sleepPromise;
|
|
3310
|
+
const handleTouchStartOrMove = () => pause();
|
|
3311
|
+
const handleTouchEnd = () => restart();
|
|
3312
|
+
addMapEventListener("touchstart", handleTouchStartOrMove);
|
|
3313
|
+
addMapEventListener("touchmove", handleTouchStartOrMove);
|
|
3314
|
+
addMapEventListener("touchend", handleTouchEnd);
|
|
3315
|
+
onCleanup(() => {
|
|
3316
|
+
skip = true;
|
|
3317
|
+
removeEventListener("touchstart", handleTouchStartOrMove);
|
|
3318
|
+
removeMapEventListener("touchmove", handleTouchStartOrMove);
|
|
3319
|
+
removeMapEventListener("touchend", handleTouchEnd);
|
|
3320
|
+
});
|
|
3321
|
+
while (!skip) {
|
|
3322
|
+
({
|
|
3323
|
+
pause,
|
|
3324
|
+
restart,
|
|
3325
|
+
sleepPromise
|
|
3326
|
+
} = pausableSleep(props.interval));
|
|
3327
|
+
await sleepPromise;
|
|
3328
|
+
console.log("InterruptableIntervalFitView setFitView");
|
|
3329
|
+
registerOverlay.setFitView();
|
|
3330
|
+
}
|
|
3331
|
+
}, {
|
|
3332
|
+
immediate: true,
|
|
3333
|
+
flush: "post"
|
|
3334
|
+
});
|
|
3335
|
+
return () => null;
|
|
3336
|
+
});
|
|
3223
3337
|
const imgEndPoint = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI3Mi4zMzklIiB5MT0iNTAlIiB4Mj0iMCUiIHkyPSI1MCUiIGlkPSJwcmVmaXhfX2EiPjxzdG9wIHN0b3AtY29sb3I9IiNGRjg0NDciIG9mZnNldD0iMCUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkY4QjRBIiBvZmZzZXQ9IjUwLjU5NiUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkZBOTVBIiBvZmZzZXQ9IjEwMCUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xMiAzMC4yMTVjMi4xMzQgMCAzLjg2My0uODkzIDMuODYzLTEuOTk1IDAtMS4xLTEuNzMtMS45OTQtMy44NjMtMS45OTQtMi4xMzQgMC0zLjg2My44OTMtMy44NjMgMS45OTQgMCAxLjEwMiAxLjczIDEuOTk1IDMuODYzIDEuOTk1eiIgZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iIzQzNDg1QSIvPjxwYXRoIGQ9Ik0xMSAyNy4wMDZjMi4xMjggMC0uOS0zLjc0MyA1LjYyMS02LjY0M0MxOS44NDIgMTguNDUzIDIyIDE0Ljk1MyAyMiAxMC45NSAyMiA0LjkwMiAxNy4wNzUgMCAxMSAwUzAgNC45MDIgMCAxMC45NWMwIDMuOTE4IDIuMDY4IDcuMzU2IDUuMTc3IDkuMjlDMTEuNzUgMjMuMjg0IDkuMDYgMjcuMDA3IDExIDI3LjAwN3oiIHN0cm9rZT0iI0ZGRiIgZmlsbD0idXJsKCNwcmVmaXhfX2EpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEuMjE1KSIvPjx0ZXh0IGZvbnQtZmFtaWx5PSJQaW5nRmFuZ1NDLVNlbWlib2xkLCBQaW5nRmFuZyBTQyIgZm9udC1zaXplPSIxMiIgZm9udC13ZWlnaHQ9IjUwMCIgZmlsbD0iI0ZGRiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxLjIxNSkiPjx0c3BhbiB4PSI1IiB5PSIxNS40NDkiPue7iDwvdHNwYW4+PC90ZXh0PjwvZz48L3N2Zz4=";
|
|
3224
3338
|
const imgStartPoint = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjUwJSIgeDI9IjEyOS41OTklIiB5Mj0iNTAlIiBpZD0icHJlZml4X19hIj48c3RvcCBzdG9wLWNvbG9yPSIjMzZBOEZGIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzQ4NzFGMSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTIgMzAuMjE1YzEuOTUgMCAzLjUzMi0uODE2IDMuNTMyLTEuODIzIDAtMS4wMDctMS41ODEtMS44MjMtMy41MzItMS44MjMtMS45NSAwLTMuNTMyLjgxNi0zLjUzMiAxLjgyMyAwIDEuMDA3IDEuNTgxIDEuODIzIDMuNTMyIDEuODIzeiIgZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iIzQzNDg1QSIvPjxwYXRoIGQ9Ik0xMSAyN2MyLjEyOCAwLS45LTMuNzQyIDUuNjIxLTYuNjQxIDMuMjIxLTEuOTEgNS4zNzktNS40MSA1LjM3OS05LjQxMkMyMiA0LjkwMSAxNy4wNzUgMCAxMSAwUzAgNC45MDEgMCAxMC45NDdjMCAzLjkxOCAyLjA2OCA3LjM1NSA1LjE3NyA5LjI5QzExLjc1IDIzLjI3NyA5LjA2IDI3IDExIDI3eiIgc3Ryb2tlPSIjRkZGIiBmaWxsPSJ1cmwoI3ByZWZpeF9fYSkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMS4yMTUpIi8+PHRleHQgZm9udC1mYW1pbHk9IlBpbmdGYW5nU0MtU2VtaWJvbGQsIFBpbmdGYW5nIFNDIiBmb250LXNpemU9IjEyIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSIjRkZGIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEuMjE1KSI+PHRzcGFuIHg9IjUiIHk9IjE1LjYyNCI+6LW3PC90c3Bhbj48L3RleHQ+PC9nPjwvc3ZnPg==";
|
|
3225
3339
|
const StartEndPoint_css_ts_vanilla = "";
|
|
@@ -6142,10 +6256,9 @@ const ConditionalFittablePassengerCircle = defineSetup(function ConditionalFitta
|
|
|
6142
6256
|
"size": "small",
|
|
6143
6257
|
"registerOverlay": registerOverlay
|
|
6144
6258
|
}
|
|
6145
|
-
}), Vue.h(
|
|
6259
|
+
}), Vue.h(FitViewOnce, {
|
|
6146
6260
|
"attrs": {
|
|
6147
|
-
"registerOverlay": registerOverlay
|
|
6148
|
-
"fitViewKey": JSON.stringify(position)
|
|
6261
|
+
"registerOverlay": registerOverlay
|
|
6149
6262
|
}
|
|
6150
6263
|
})]);
|
|
6151
6264
|
};
|
|
@@ -7394,6 +7507,7 @@ const WaveCircle = defineSetup(function WaveCircle2(props) {
|
|
|
7394
7507
|
const PASSENGER_DISTANCE_MAX = 2e3;
|
|
7395
7508
|
const PASSENGER_DISTANCE_MIN = 10;
|
|
7396
7509
|
const CAR_DISTANCE_MIN = 100;
|
|
7510
|
+
const AUTO_FIT_VIEW_INTERVAL = 15e3;
|
|
7397
7511
|
const carDurationWithinMinDistance = (distance) => Math.floor(distance / 5);
|
|
7398
7512
|
const SectionDispatching = defineSetup(function SectionDispatching2(props) {
|
|
7399
7513
|
return () => {
|
|
@@ -7424,6 +7538,11 @@ const SectionDispatching = defineSetup(function SectionDispatching2(props) {
|
|
|
7424
7538
|
"attrs": {
|
|
7425
7539
|
"registerOverlay": registerOverlay
|
|
7426
7540
|
}
|
|
7541
|
+
}), Vue.h(InterruptableIntervalFitView, {
|
|
7542
|
+
"attrs": {
|
|
7543
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7544
|
+
"registerOverlay": registerOverlay
|
|
7545
|
+
}
|
|
7427
7546
|
})]);
|
|
7428
7547
|
};
|
|
7429
7548
|
});
|
|
@@ -7489,10 +7608,19 @@ const SectionConfirmed = defineSetup(function SectionConfirmed2(props) {
|
|
|
7489
7608
|
"attrs": {
|
|
7490
7609
|
"registerOverlay": registerOverlay
|
|
7491
7610
|
}
|
|
7611
|
+
}), Vue.h(InterruptableIntervalFitView, {
|
|
7612
|
+
"attrs": {
|
|
7613
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7614
|
+
"registerOverlay": registerOverlay
|
|
7615
|
+
}
|
|
7492
7616
|
})]);
|
|
7493
7617
|
};
|
|
7494
7618
|
});
|
|
7495
7619
|
const SectionDriverStartService = defineSetup(function SectionDriverStartService2(props) {
|
|
7620
|
+
const {
|
|
7621
|
+
registerOverlay
|
|
7622
|
+
} = props;
|
|
7623
|
+
const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
|
|
7496
7624
|
const {
|
|
7497
7625
|
apiMapDistance
|
|
7498
7626
|
} = useMapGeometry();
|
|
@@ -7503,8 +7631,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7503
7631
|
carAngle,
|
|
7504
7632
|
passengerPosition,
|
|
7505
7633
|
passengerAngle,
|
|
7506
|
-
renderTitle
|
|
7507
|
-
registerOverlay
|
|
7634
|
+
renderTitle
|
|
7508
7635
|
} = props;
|
|
7509
7636
|
const from = place2point(fromPlace);
|
|
7510
7637
|
const passengerDistance = passengerPosition ? apiMapDistance(passengerPosition, from) : void 0;
|
|
@@ -7538,7 +7665,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7538
7665
|
distance,
|
|
7539
7666
|
duration
|
|
7540
7667
|
}) => {
|
|
7541
|
-
var _a
|
|
7668
|
+
var _a;
|
|
7542
7669
|
spaceLog("angleDifference", "carPosition, routeAngle, driverAngle = ", carPosition, angle, carAngle);
|
|
7543
7670
|
return [Vue.h(DrivingLine, {
|
|
7544
7671
|
"attrs": {
|
|
@@ -7552,12 +7679,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7552
7679
|
distance,
|
|
7553
7680
|
duration
|
|
7554
7681
|
}),
|
|
7555
|
-
"registerOverlay":
|
|
7556
|
-
}
|
|
7557
|
-
}), Vue.h(KeyedFitView, {
|
|
7558
|
-
"attrs": {
|
|
7559
|
-
"registerOverlay": registerOverlay,
|
|
7560
|
-
"fitViewKey": JSON.stringify((_b = path[0]) != null ? _b : carPosition)
|
|
7682
|
+
"registerOverlay": fittableRegistryOverlay
|
|
7561
7683
|
}
|
|
7562
7684
|
})];
|
|
7563
7685
|
}
|
|
@@ -7570,12 +7692,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7570
7692
|
distance: carDistance,
|
|
7571
7693
|
duration: carDurationWithinMinDistance(carDistance)
|
|
7572
7694
|
}),
|
|
7573
|
-
"registerOverlay":
|
|
7574
|
-
}
|
|
7575
|
-
}), Vue.h(KeyedFitView, {
|
|
7576
|
-
"attrs": {
|
|
7577
|
-
"registerOverlay": registerOverlay,
|
|
7578
|
-
"fitViewKey": JSON.stringify(carPosition)
|
|
7695
|
+
"registerOverlay": fittableRegistryOverlay
|
|
7579
7696
|
}
|
|
7580
7697
|
})], !!passengerPosition && passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX && passengerDistance > PASSENGER_DISTANCE_MIN && Vue.h(WalkingRoute, {
|
|
7581
7698
|
"attrs": {
|
|
@@ -7593,6 +7710,11 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7593
7710
|
"attrs": {
|
|
7594
7711
|
"registerOverlay": registerOverlay
|
|
7595
7712
|
}
|
|
7713
|
+
}), Vue.h(InterruptableIntervalFitView, {
|
|
7714
|
+
"attrs": {
|
|
7715
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7716
|
+
"registerOverlay": registerOverlay
|
|
7717
|
+
}
|
|
7596
7718
|
})]);
|
|
7597
7719
|
};
|
|
7598
7720
|
});
|
|
@@ -7670,10 +7792,19 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
|
|
|
7670
7792
|
"attrs": {
|
|
7671
7793
|
"registerOverlay": registerOverlay
|
|
7672
7794
|
}
|
|
7795
|
+
}), Vue.h(InterruptableIntervalFitView, {
|
|
7796
|
+
"attrs": {
|
|
7797
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7798
|
+
"registerOverlay": registerOverlay
|
|
7799
|
+
}
|
|
7673
7800
|
})]);
|
|
7674
7801
|
};
|
|
7675
7802
|
});
|
|
7676
7803
|
const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
7804
|
+
const {
|
|
7805
|
+
registerOverlay
|
|
7806
|
+
} = props;
|
|
7807
|
+
const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
|
|
7677
7808
|
const {
|
|
7678
7809
|
apiMapDistance
|
|
7679
7810
|
} = useMapGeometry();
|
|
@@ -7684,8 +7815,7 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
7684
7815
|
carAngle,
|
|
7685
7816
|
passengerPosition,
|
|
7686
7817
|
passengerAngle,
|
|
7687
|
-
title
|
|
7688
|
-
registerOverlay
|
|
7818
|
+
title
|
|
7689
7819
|
} = props;
|
|
7690
7820
|
const from = place2point(fromPlace);
|
|
7691
7821
|
const passengerDistance = passengerPosition ? apiMapDistance(passengerPosition, from) : void 0;
|
|
@@ -7713,12 +7843,7 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
7713
7843
|
"position": carPosition,
|
|
7714
7844
|
"angle": carAngle,
|
|
7715
7845
|
"title": title,
|
|
7716
|
-
"registerOverlay":
|
|
7717
|
-
}
|
|
7718
|
-
}), Vue.h(KeyedFitView, {
|
|
7719
|
-
"attrs": {
|
|
7720
|
-
"registerOverlay": registerOverlay,
|
|
7721
|
-
"fitViewKey": JSON.stringify(carPosition)
|
|
7846
|
+
"registerOverlay": fittableRegistryOverlay
|
|
7722
7847
|
}
|
|
7723
7848
|
})], Vue.h(StartEndPoint, {
|
|
7724
7849
|
"attrs": {
|
|
@@ -7736,17 +7861,25 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
7736
7861
|
"attrs": {
|
|
7737
7862
|
"registerOverlay": registerOverlay
|
|
7738
7863
|
}
|
|
7864
|
+
}), Vue.h(InterruptableIntervalFitView, {
|
|
7865
|
+
"attrs": {
|
|
7866
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7867
|
+
"registerOverlay": registerOverlay
|
|
7868
|
+
}
|
|
7739
7869
|
})]);
|
|
7740
7870
|
};
|
|
7741
7871
|
});
|
|
7742
7872
|
const SectionInService = defineSetup(function SectionInService2(props) {
|
|
7873
|
+
const {
|
|
7874
|
+
registerOverlay
|
|
7875
|
+
} = props;
|
|
7876
|
+
const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
|
|
7743
7877
|
return () => {
|
|
7744
7878
|
const {
|
|
7745
7879
|
to: toPlace,
|
|
7746
7880
|
carPosition,
|
|
7747
7881
|
carAngle,
|
|
7748
|
-
renderTitle
|
|
7749
|
-
registerOverlay
|
|
7882
|
+
renderTitle
|
|
7750
7883
|
} = props;
|
|
7751
7884
|
const to = place2point(toPlace);
|
|
7752
7885
|
const {
|
|
@@ -7763,7 +7896,7 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
7763
7896
|
distance,
|
|
7764
7897
|
duration
|
|
7765
7898
|
}) => {
|
|
7766
|
-
var _a
|
|
7899
|
+
var _a;
|
|
7767
7900
|
spaceLog("angleDifference", "carPosition, routeAngle, driverAngle = ", carPosition, angle, carAngle);
|
|
7768
7901
|
return [Vue.h(DrivingLine, {
|
|
7769
7902
|
"attrs": {
|
|
@@ -7777,12 +7910,7 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
7777
7910
|
distance,
|
|
7778
7911
|
duration
|
|
7779
7912
|
}),
|
|
7780
|
-
"registerOverlay":
|
|
7781
|
-
}
|
|
7782
|
-
}), Vue.h(KeyedFitView, {
|
|
7783
|
-
"attrs": {
|
|
7784
|
-
"registerOverlay": registerOverlay,
|
|
7785
|
-
"fitViewKey": JSON.stringify((_b = path[0]) != null ? _b : carPosition)
|
|
7913
|
+
"registerOverlay": fittableRegistryOverlay
|
|
7786
7914
|
}
|
|
7787
7915
|
})];
|
|
7788
7916
|
}
|
|
@@ -7795,12 +7923,7 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
7795
7923
|
distance: carDistance,
|
|
7796
7924
|
duration: carDurationWithinMinDistance(carDistance)
|
|
7797
7925
|
}),
|
|
7798
|
-
"registerOverlay":
|
|
7799
|
-
}
|
|
7800
|
-
}), Vue.h(KeyedFitView, {
|
|
7801
|
-
"attrs": {
|
|
7802
|
-
"registerOverlay": registerOverlay,
|
|
7803
|
-
"fitViewKey": JSON.stringify(carPosition)
|
|
7926
|
+
"registerOverlay": fittableRegistryOverlay
|
|
7804
7927
|
}
|
|
7805
7928
|
})], Vue.h(StartEndPoint, {
|
|
7806
7929
|
"attrs": {
|
|
@@ -7818,6 +7941,11 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
7818
7941
|
"attrs": {
|
|
7819
7942
|
"registerOverlay": registerOverlay
|
|
7820
7943
|
}
|
|
7944
|
+
}), Vue.h(InterruptableIntervalFitView, {
|
|
7945
|
+
"attrs": {
|
|
7946
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7947
|
+
"registerOverlay": registerOverlay
|
|
7948
|
+
}
|
|
7821
7949
|
})]);
|
|
7822
7950
|
};
|
|
7823
7951
|
});
|
|
@@ -7858,6 +7986,11 @@ const SectionCanceled = defineSetup(function SectionCanceled2(props) {
|
|
|
7858
7986
|
"attrs": {
|
|
7859
7987
|
"registerOverlay": registerOverlay
|
|
7860
7988
|
}
|
|
7989
|
+
}), Vue.h(InterruptableIntervalFitView, {
|
|
7990
|
+
"attrs": {
|
|
7991
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7992
|
+
"registerOverlay": registerOverlay
|
|
7993
|
+
}
|
|
7861
7994
|
})]);
|
|
7862
7995
|
};
|
|
7863
7996
|
});
|
|
@@ -7911,6 +8044,11 @@ const SectionEndService = defineSetup(function SectionEndService2(props) {
|
|
|
7911
8044
|
"attrs": {
|
|
7912
8045
|
"registerOverlay": registerOverlay
|
|
7913
8046
|
}
|
|
8047
|
+
}), Vue.h(InterruptableIntervalFitView, {
|
|
8048
|
+
"attrs": {
|
|
8049
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
8050
|
+
"registerOverlay": registerOverlay
|
|
8051
|
+
}
|
|
7914
8052
|
})]);
|
|
7915
8053
|
};
|
|
7916
8054
|
});
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ var __publicField = (obj, key, value) => {
|
|
|
7
7
|
import Vue, { defineComponent, h, computed, inject, provide, watch, onMounted, onUnmounted, watchPostEffect, shallowRef, ref, watchEffect, reactive, toRefs, toRef } from "vue";
|
|
8
8
|
const style = "";
|
|
9
9
|
const name = "@heycar/heycars-map";
|
|
10
|
-
const version = "0.9.
|
|
10
|
+
const version = "0.9.1";
|
|
11
11
|
const type = "module";
|
|
12
12
|
const scripts = {
|
|
13
13
|
dev: "vite -c vite.config.dev.ts",
|
|
@@ -1111,6 +1111,48 @@ const assertAngle = (angle) => {
|
|
|
1111
1111
|
const isLatLngLiteral = (value) => {
|
|
1112
1112
|
return value != null && typeof value === "object" && Number.isFinite(value.lat) && Number.isFinite(value.lng);
|
|
1113
1113
|
};
|
|
1114
|
+
function defered() {
|
|
1115
|
+
const defer = {};
|
|
1116
|
+
const promise = new Promise((resolve, reject) => {
|
|
1117
|
+
defer.state = "pending";
|
|
1118
|
+
defer.resolve = async (value) => {
|
|
1119
|
+
try {
|
|
1120
|
+
const result = await value;
|
|
1121
|
+
defer.state = "fulfilled";
|
|
1122
|
+
return resolve(result);
|
|
1123
|
+
} catch (err) {
|
|
1124
|
+
defer.state = "rejected";
|
|
1125
|
+
reject(err);
|
|
1126
|
+
}
|
|
1127
|
+
};
|
|
1128
|
+
defer.reject = (reason) => {
|
|
1129
|
+
defer.state = "rejected";
|
|
1130
|
+
return reject(reason);
|
|
1131
|
+
};
|
|
1132
|
+
});
|
|
1133
|
+
return Object.assign(promise, defer);
|
|
1134
|
+
}
|
|
1135
|
+
const pausableSleep = (milliSeconds) => {
|
|
1136
|
+
const sleepDefered = defered();
|
|
1137
|
+
let id = setTimeout(sleepDefered.resolve, milliSeconds);
|
|
1138
|
+
let isPaused = false;
|
|
1139
|
+
const pause = () => {
|
|
1140
|
+
if (isPaused || sleepDefered.state === "fulfilled")
|
|
1141
|
+
return;
|
|
1142
|
+
console.log("pause");
|
|
1143
|
+
isPaused = true;
|
|
1144
|
+
clearTimeout(id);
|
|
1145
|
+
};
|
|
1146
|
+
const restart = () => {
|
|
1147
|
+
if (sleepDefered.state === "fulfilled")
|
|
1148
|
+
return;
|
|
1149
|
+
console.log("restart");
|
|
1150
|
+
isPaused = false;
|
|
1151
|
+
clearTimeout(id);
|
|
1152
|
+
id = setTimeout(sleepDefered.resolve, milliSeconds);
|
|
1153
|
+
};
|
|
1154
|
+
return { sleepPromise: sleepDefered, pause, restart };
|
|
1155
|
+
};
|
|
1114
1156
|
const vec2lnglat = ([lng, lat]) => ({
|
|
1115
1157
|
lng: Number(lng),
|
|
1116
1158
|
lat: Number(lat)
|
|
@@ -3145,6 +3187,36 @@ const useMapFitView = (props) => {
|
|
|
3145
3187
|
const { supplier } = useMapSupplier();
|
|
3146
3188
|
return supplier === "gmap" ? useGmapFitView(props) : useAmapFitView(props);
|
|
3147
3189
|
};
|
|
3190
|
+
const useAmapTouchEvent = () => {
|
|
3191
|
+
const mapRef = useAmap();
|
|
3192
|
+
const addMapEventListener = (name2, handler) => {
|
|
3193
|
+
var _a;
|
|
3194
|
+
return (_a = mapRef == null ? void 0 : mapRef.value) == null ? void 0 : _a.on(name2, handler);
|
|
3195
|
+
};
|
|
3196
|
+
const removeMapEventListener = (name2, handler) => {
|
|
3197
|
+
var _a;
|
|
3198
|
+
return (_a = mapRef == null ? void 0 : mapRef.value) == null ? void 0 : _a.off(name2, handler);
|
|
3199
|
+
};
|
|
3200
|
+
return { addMapEventListener, removeMapEventListener };
|
|
3201
|
+
};
|
|
3202
|
+
const useGmapTouchEvent = () => {
|
|
3203
|
+
const mapRef = useGmap();
|
|
3204
|
+
const addMapEventListener = (name2, handler) => {
|
|
3205
|
+
var _a;
|
|
3206
|
+
const container = (_a = mapRef == null ? void 0 : mapRef.value) == null ? void 0 : _a.getDiv();
|
|
3207
|
+
return container == null ? void 0 : container.addEventListener(name2, handler);
|
|
3208
|
+
};
|
|
3209
|
+
const removeMapEventListener = (name2, handler) => {
|
|
3210
|
+
var _a;
|
|
3211
|
+
const container = (_a = mapRef == null ? void 0 : mapRef.value) == null ? void 0 : _a.getDiv();
|
|
3212
|
+
return container == null ? void 0 : container.removeEventListener(name2, handler);
|
|
3213
|
+
};
|
|
3214
|
+
return { addMapEventListener, removeMapEventListener };
|
|
3215
|
+
};
|
|
3216
|
+
const useMapTouchEvent = () => {
|
|
3217
|
+
const { supplier } = useMapSupplier();
|
|
3218
|
+
return supplier === "gmap" ? useGmapTouchEvent() : useAmapTouchEvent();
|
|
3219
|
+
};
|
|
3148
3220
|
defineSetup(function FitView(props, {
|
|
3149
3221
|
slots
|
|
3150
3222
|
}) {
|
|
@@ -3197,7 +3269,7 @@ function createFittableRegisterOverlay(registerOverlay) {
|
|
|
3197
3269
|
setFitView
|
|
3198
3270
|
};
|
|
3199
3271
|
}
|
|
3200
|
-
|
|
3272
|
+
defineSetup(function KeyedFitView(props, {
|
|
3201
3273
|
slots
|
|
3202
3274
|
}) {
|
|
3203
3275
|
const mapMountedPromise = useMapMountedPromise();
|
|
@@ -3218,6 +3290,48 @@ const KeyedFitView = defineSetup(function KeyedFitView2(props, {
|
|
|
3218
3290
|
return h("div", [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
|
|
3219
3291
|
};
|
|
3220
3292
|
});
|
|
3293
|
+
const InterruptableIntervalFitView = defineSetup(function InterruptableIntervalFitView2(props) {
|
|
3294
|
+
const {
|
|
3295
|
+
registerOverlay
|
|
3296
|
+
} = props;
|
|
3297
|
+
const mapMountedPromise = useMapMountedPromise();
|
|
3298
|
+
const {
|
|
3299
|
+
addMapEventListener,
|
|
3300
|
+
removeMapEventListener
|
|
3301
|
+
} = useMapTouchEvent();
|
|
3302
|
+
watch(() => 0, async (_1, _2, onCleanup) => {
|
|
3303
|
+
await mapMountedPromise;
|
|
3304
|
+
let skip = false;
|
|
3305
|
+
let pause;
|
|
3306
|
+
let restart;
|
|
3307
|
+
let sleepPromise;
|
|
3308
|
+
const handleTouchStartOrMove = () => pause();
|
|
3309
|
+
const handleTouchEnd = () => restart();
|
|
3310
|
+
addMapEventListener("touchstart", handleTouchStartOrMove);
|
|
3311
|
+
addMapEventListener("touchmove", handleTouchStartOrMove);
|
|
3312
|
+
addMapEventListener("touchend", handleTouchEnd);
|
|
3313
|
+
onCleanup(() => {
|
|
3314
|
+
skip = true;
|
|
3315
|
+
removeEventListener("touchstart", handleTouchStartOrMove);
|
|
3316
|
+
removeMapEventListener("touchmove", handleTouchStartOrMove);
|
|
3317
|
+
removeMapEventListener("touchend", handleTouchEnd);
|
|
3318
|
+
});
|
|
3319
|
+
while (!skip) {
|
|
3320
|
+
({
|
|
3321
|
+
pause,
|
|
3322
|
+
restart,
|
|
3323
|
+
sleepPromise
|
|
3324
|
+
} = pausableSleep(props.interval));
|
|
3325
|
+
await sleepPromise;
|
|
3326
|
+
console.log("InterruptableIntervalFitView setFitView");
|
|
3327
|
+
registerOverlay.setFitView();
|
|
3328
|
+
}
|
|
3329
|
+
}, {
|
|
3330
|
+
immediate: true,
|
|
3331
|
+
flush: "post"
|
|
3332
|
+
});
|
|
3333
|
+
return () => null;
|
|
3334
|
+
});
|
|
3221
3335
|
const imgEndPoint = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI3Mi4zMzklIiB5MT0iNTAlIiB4Mj0iMCUiIHkyPSI1MCUiIGlkPSJwcmVmaXhfX2EiPjxzdG9wIHN0b3AtY29sb3I9IiNGRjg0NDciIG9mZnNldD0iMCUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkY4QjRBIiBvZmZzZXQ9IjUwLjU5NiUiLz48c3RvcCBzdG9wLWNvbG9yPSIjRkZBOTVBIiBvZmZzZXQ9IjEwMCUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xMiAzMC4yMTVjMi4xMzQgMCAzLjg2My0uODkzIDMuODYzLTEuOTk1IDAtMS4xLTEuNzMtMS45OTQtMy44NjMtMS45OTQtMi4xMzQgMC0zLjg2My44OTMtMy44NjMgMS45OTQgMCAxLjEwMiAxLjczIDEuOTk1IDMuODYzIDEuOTk1eiIgZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iIzQzNDg1QSIvPjxwYXRoIGQ9Ik0xMSAyNy4wMDZjMi4xMjggMC0uOS0zLjc0MyA1LjYyMS02LjY0M0MxOS44NDIgMTguNDUzIDIyIDE0Ljk1MyAyMiAxMC45NSAyMiA0LjkwMiAxNy4wNzUgMCAxMSAwUzAgNC45MDIgMCAxMC45NWMwIDMuOTE4IDIuMDY4IDcuMzU2IDUuMTc3IDkuMjlDMTEuNzUgMjMuMjg0IDkuMDYgMjcuMDA3IDExIDI3LjAwN3oiIHN0cm9rZT0iI0ZGRiIgZmlsbD0idXJsKCNwcmVmaXhfX2EpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEuMjE1KSIvPjx0ZXh0IGZvbnQtZmFtaWx5PSJQaW5nRmFuZ1NDLVNlbWlib2xkLCBQaW5nRmFuZyBTQyIgZm9udC1zaXplPSIxMiIgZm9udC13ZWlnaHQ9IjUwMCIgZmlsbD0iI0ZGRiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxLjIxNSkiPjx0c3BhbiB4PSI1IiB5PSIxNS40NDkiPue7iDwvdHNwYW4+PC90ZXh0PjwvZz48L3N2Zz4=";
|
|
3222
3336
|
const imgStartPoint = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjUwJSIgeDI9IjEyOS41OTklIiB5Mj0iNTAlIiBpZD0icHJlZml4X19hIj48c3RvcCBzdG9wLWNvbG9yPSIjMzZBOEZGIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzQ4NzFGMSIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTIgMzAuMjE1YzEuOTUgMCAzLjUzMi0uODE2IDMuNTMyLTEuODIzIDAtMS4wMDctMS41ODEtMS44MjMtMy41MzItMS44MjMtMS45NSAwLTMuNTMyLjgxNi0zLjUzMiAxLjgyMyAwIDEuMDA3IDEuNTgxIDEuODIzIDMuNTMyIDEuODIzeiIgZmlsbC1vcGFjaXR5PSIuNSIgZmlsbD0iIzQzNDg1QSIvPjxwYXRoIGQ9Ik0xMSAyN2MyLjEyOCAwLS45LTMuNzQyIDUuNjIxLTYuNjQxIDMuMjIxLTEuOTEgNS4zNzktNS40MSA1LjM3OS05LjQxMkMyMiA0LjkwMSAxNy4wNzUgMCAxMSAwUzAgNC45MDEgMCAxMC45NDdjMCAzLjkxOCAyLjA2OCA3LjM1NSA1LjE3NyA5LjI5QzExLjc1IDIzLjI3NyA5LjA2IDI3IDExIDI3eiIgc3Ryb2tlPSIjRkZGIiBmaWxsPSJ1cmwoI3ByZWZpeF9fYSkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMS4yMTUpIi8+PHRleHQgZm9udC1mYW1pbHk9IlBpbmdGYW5nU0MtU2VtaWJvbGQsIFBpbmdGYW5nIFNDIiBmb250LXNpemU9IjEyIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSIjRkZGIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEuMjE1KSI+PHRzcGFuIHg9IjUiIHk9IjE1LjYyNCI+6LW3PC90c3Bhbj48L3RleHQ+PC9nPjwvc3ZnPg==";
|
|
3223
3337
|
const StartEndPoint_css_ts_vanilla = "";
|
|
@@ -6140,10 +6254,9 @@ const ConditionalFittablePassengerCircle = defineSetup(function ConditionalFitta
|
|
|
6140
6254
|
"size": "small",
|
|
6141
6255
|
"registerOverlay": registerOverlay
|
|
6142
6256
|
}
|
|
6143
|
-
}), h(
|
|
6257
|
+
}), h(FitViewOnce, {
|
|
6144
6258
|
"attrs": {
|
|
6145
|
-
"registerOverlay": registerOverlay
|
|
6146
|
-
"fitViewKey": JSON.stringify(position)
|
|
6259
|
+
"registerOverlay": registerOverlay
|
|
6147
6260
|
}
|
|
6148
6261
|
})]);
|
|
6149
6262
|
};
|
|
@@ -7392,6 +7505,7 @@ const WaveCircle = defineSetup(function WaveCircle2(props) {
|
|
|
7392
7505
|
const PASSENGER_DISTANCE_MAX = 2e3;
|
|
7393
7506
|
const PASSENGER_DISTANCE_MIN = 10;
|
|
7394
7507
|
const CAR_DISTANCE_MIN = 100;
|
|
7508
|
+
const AUTO_FIT_VIEW_INTERVAL = 15e3;
|
|
7395
7509
|
const carDurationWithinMinDistance = (distance) => Math.floor(distance / 5);
|
|
7396
7510
|
const SectionDispatching = defineSetup(function SectionDispatching2(props) {
|
|
7397
7511
|
return () => {
|
|
@@ -7422,6 +7536,11 @@ const SectionDispatching = defineSetup(function SectionDispatching2(props) {
|
|
|
7422
7536
|
"attrs": {
|
|
7423
7537
|
"registerOverlay": registerOverlay
|
|
7424
7538
|
}
|
|
7539
|
+
}), h(InterruptableIntervalFitView, {
|
|
7540
|
+
"attrs": {
|
|
7541
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7542
|
+
"registerOverlay": registerOverlay
|
|
7543
|
+
}
|
|
7425
7544
|
})]);
|
|
7426
7545
|
};
|
|
7427
7546
|
});
|
|
@@ -7487,10 +7606,19 @@ const SectionConfirmed = defineSetup(function SectionConfirmed2(props) {
|
|
|
7487
7606
|
"attrs": {
|
|
7488
7607
|
"registerOverlay": registerOverlay
|
|
7489
7608
|
}
|
|
7609
|
+
}), h(InterruptableIntervalFitView, {
|
|
7610
|
+
"attrs": {
|
|
7611
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7612
|
+
"registerOverlay": registerOverlay
|
|
7613
|
+
}
|
|
7490
7614
|
})]);
|
|
7491
7615
|
};
|
|
7492
7616
|
});
|
|
7493
7617
|
const SectionDriverStartService = defineSetup(function SectionDriverStartService2(props) {
|
|
7618
|
+
const {
|
|
7619
|
+
registerOverlay
|
|
7620
|
+
} = props;
|
|
7621
|
+
const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
|
|
7494
7622
|
const {
|
|
7495
7623
|
apiMapDistance
|
|
7496
7624
|
} = useMapGeometry();
|
|
@@ -7501,8 +7629,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7501
7629
|
carAngle,
|
|
7502
7630
|
passengerPosition,
|
|
7503
7631
|
passengerAngle,
|
|
7504
|
-
renderTitle
|
|
7505
|
-
registerOverlay
|
|
7632
|
+
renderTitle
|
|
7506
7633
|
} = props;
|
|
7507
7634
|
const from = place2point(fromPlace);
|
|
7508
7635
|
const passengerDistance = passengerPosition ? apiMapDistance(passengerPosition, from) : void 0;
|
|
@@ -7536,7 +7663,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7536
7663
|
distance,
|
|
7537
7664
|
duration
|
|
7538
7665
|
}) => {
|
|
7539
|
-
var _a
|
|
7666
|
+
var _a;
|
|
7540
7667
|
spaceLog("angleDifference", "carPosition, routeAngle, driverAngle = ", carPosition, angle, carAngle);
|
|
7541
7668
|
return [h(DrivingLine, {
|
|
7542
7669
|
"attrs": {
|
|
@@ -7550,12 +7677,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7550
7677
|
distance,
|
|
7551
7678
|
duration
|
|
7552
7679
|
}),
|
|
7553
|
-
"registerOverlay":
|
|
7554
|
-
}
|
|
7555
|
-
}), h(KeyedFitView, {
|
|
7556
|
-
"attrs": {
|
|
7557
|
-
"registerOverlay": registerOverlay,
|
|
7558
|
-
"fitViewKey": JSON.stringify((_b = path[0]) != null ? _b : carPosition)
|
|
7680
|
+
"registerOverlay": fittableRegistryOverlay
|
|
7559
7681
|
}
|
|
7560
7682
|
})];
|
|
7561
7683
|
}
|
|
@@ -7568,12 +7690,7 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7568
7690
|
distance: carDistance,
|
|
7569
7691
|
duration: carDurationWithinMinDistance(carDistance)
|
|
7570
7692
|
}),
|
|
7571
|
-
"registerOverlay":
|
|
7572
|
-
}
|
|
7573
|
-
}), h(KeyedFitView, {
|
|
7574
|
-
"attrs": {
|
|
7575
|
-
"registerOverlay": registerOverlay,
|
|
7576
|
-
"fitViewKey": JSON.stringify(carPosition)
|
|
7693
|
+
"registerOverlay": fittableRegistryOverlay
|
|
7577
7694
|
}
|
|
7578
7695
|
})], !!passengerPosition && passengerDistance && passengerDistance < PASSENGER_DISTANCE_MAX && passengerDistance > PASSENGER_DISTANCE_MIN && h(WalkingRoute, {
|
|
7579
7696
|
"attrs": {
|
|
@@ -7591,6 +7708,11 @@ const SectionDriverStartService = defineSetup(function SectionDriverStartService
|
|
|
7591
7708
|
"attrs": {
|
|
7592
7709
|
"registerOverlay": registerOverlay
|
|
7593
7710
|
}
|
|
7711
|
+
}), h(InterruptableIntervalFitView, {
|
|
7712
|
+
"attrs": {
|
|
7713
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7714
|
+
"registerOverlay": registerOverlay
|
|
7715
|
+
}
|
|
7594
7716
|
})]);
|
|
7595
7717
|
};
|
|
7596
7718
|
});
|
|
@@ -7668,10 +7790,19 @@ const SectionBookDispatched = defineSetup(function SectionBookDispatched2(props)
|
|
|
7668
7790
|
"attrs": {
|
|
7669
7791
|
"registerOverlay": registerOverlay
|
|
7670
7792
|
}
|
|
7793
|
+
}), h(InterruptableIntervalFitView, {
|
|
7794
|
+
"attrs": {
|
|
7795
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7796
|
+
"registerOverlay": registerOverlay
|
|
7797
|
+
}
|
|
7671
7798
|
})]);
|
|
7672
7799
|
};
|
|
7673
7800
|
});
|
|
7674
7801
|
const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
7802
|
+
const {
|
|
7803
|
+
registerOverlay
|
|
7804
|
+
} = props;
|
|
7805
|
+
const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
|
|
7675
7806
|
const {
|
|
7676
7807
|
apiMapDistance
|
|
7677
7808
|
} = useMapGeometry();
|
|
@@ -7682,8 +7813,7 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
7682
7813
|
carAngle,
|
|
7683
7814
|
passengerPosition,
|
|
7684
7815
|
passengerAngle,
|
|
7685
|
-
title
|
|
7686
|
-
registerOverlay
|
|
7816
|
+
title
|
|
7687
7817
|
} = props;
|
|
7688
7818
|
const from = place2point(fromPlace);
|
|
7689
7819
|
const passengerDistance = passengerPosition ? apiMapDistance(passengerPosition, from) : void 0;
|
|
@@ -7711,12 +7841,7 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
7711
7841
|
"position": carPosition,
|
|
7712
7842
|
"angle": carAngle,
|
|
7713
7843
|
"title": title,
|
|
7714
|
-
"registerOverlay":
|
|
7715
|
-
}
|
|
7716
|
-
}), h(KeyedFitView, {
|
|
7717
|
-
"attrs": {
|
|
7718
|
-
"registerOverlay": registerOverlay,
|
|
7719
|
-
"fitViewKey": JSON.stringify(carPosition)
|
|
7844
|
+
"registerOverlay": fittableRegistryOverlay
|
|
7720
7845
|
}
|
|
7721
7846
|
})], h(StartEndPoint, {
|
|
7722
7847
|
"attrs": {
|
|
@@ -7734,17 +7859,25 @@ const SectionDriverArrived = defineSetup(function SectionDriverArrived2(props) {
|
|
|
7734
7859
|
"attrs": {
|
|
7735
7860
|
"registerOverlay": registerOverlay
|
|
7736
7861
|
}
|
|
7862
|
+
}), h(InterruptableIntervalFitView, {
|
|
7863
|
+
"attrs": {
|
|
7864
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7865
|
+
"registerOverlay": registerOverlay
|
|
7866
|
+
}
|
|
7737
7867
|
})]);
|
|
7738
7868
|
};
|
|
7739
7869
|
});
|
|
7740
7870
|
const SectionInService = defineSetup(function SectionInService2(props) {
|
|
7871
|
+
const {
|
|
7872
|
+
registerOverlay
|
|
7873
|
+
} = props;
|
|
7874
|
+
const fittableRegistryOverlay = createFittableRegisterOverlay(registerOverlay);
|
|
7741
7875
|
return () => {
|
|
7742
7876
|
const {
|
|
7743
7877
|
to: toPlace,
|
|
7744
7878
|
carPosition,
|
|
7745
7879
|
carAngle,
|
|
7746
|
-
renderTitle
|
|
7747
|
-
registerOverlay
|
|
7880
|
+
renderTitle
|
|
7748
7881
|
} = props;
|
|
7749
7882
|
const to = place2point(toPlace);
|
|
7750
7883
|
const {
|
|
@@ -7761,7 +7894,7 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
7761
7894
|
distance,
|
|
7762
7895
|
duration
|
|
7763
7896
|
}) => {
|
|
7764
|
-
var _a
|
|
7897
|
+
var _a;
|
|
7765
7898
|
spaceLog("angleDifference", "carPosition, routeAngle, driverAngle = ", carPosition, angle, carAngle);
|
|
7766
7899
|
return [h(DrivingLine, {
|
|
7767
7900
|
"attrs": {
|
|
@@ -7775,12 +7908,7 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
7775
7908
|
distance,
|
|
7776
7909
|
duration
|
|
7777
7910
|
}),
|
|
7778
|
-
"registerOverlay":
|
|
7779
|
-
}
|
|
7780
|
-
}), h(KeyedFitView, {
|
|
7781
|
-
"attrs": {
|
|
7782
|
-
"registerOverlay": registerOverlay,
|
|
7783
|
-
"fitViewKey": JSON.stringify((_b = path[0]) != null ? _b : carPosition)
|
|
7911
|
+
"registerOverlay": fittableRegistryOverlay
|
|
7784
7912
|
}
|
|
7785
7913
|
})];
|
|
7786
7914
|
}
|
|
@@ -7793,12 +7921,7 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
7793
7921
|
distance: carDistance,
|
|
7794
7922
|
duration: carDurationWithinMinDistance(carDistance)
|
|
7795
7923
|
}),
|
|
7796
|
-
"registerOverlay":
|
|
7797
|
-
}
|
|
7798
|
-
}), h(KeyedFitView, {
|
|
7799
|
-
"attrs": {
|
|
7800
|
-
"registerOverlay": registerOverlay,
|
|
7801
|
-
"fitViewKey": JSON.stringify(carPosition)
|
|
7924
|
+
"registerOverlay": fittableRegistryOverlay
|
|
7802
7925
|
}
|
|
7803
7926
|
})], h(StartEndPoint, {
|
|
7804
7927
|
"attrs": {
|
|
@@ -7816,6 +7939,11 @@ const SectionInService = defineSetup(function SectionInService2(props) {
|
|
|
7816
7939
|
"attrs": {
|
|
7817
7940
|
"registerOverlay": registerOverlay
|
|
7818
7941
|
}
|
|
7942
|
+
}), h(InterruptableIntervalFitView, {
|
|
7943
|
+
"attrs": {
|
|
7944
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7945
|
+
"registerOverlay": registerOverlay
|
|
7946
|
+
}
|
|
7819
7947
|
})]);
|
|
7820
7948
|
};
|
|
7821
7949
|
});
|
|
@@ -7856,6 +7984,11 @@ const SectionCanceled = defineSetup(function SectionCanceled2(props) {
|
|
|
7856
7984
|
"attrs": {
|
|
7857
7985
|
"registerOverlay": registerOverlay
|
|
7858
7986
|
}
|
|
7987
|
+
}), h(InterruptableIntervalFitView, {
|
|
7988
|
+
"attrs": {
|
|
7989
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
7990
|
+
"registerOverlay": registerOverlay
|
|
7991
|
+
}
|
|
7859
7992
|
})]);
|
|
7860
7993
|
};
|
|
7861
7994
|
});
|
|
@@ -7909,6 +8042,11 @@ const SectionEndService = defineSetup(function SectionEndService2(props) {
|
|
|
7909
8042
|
"attrs": {
|
|
7910
8043
|
"registerOverlay": registerOverlay
|
|
7911
8044
|
}
|
|
8045
|
+
}), h(InterruptableIntervalFitView, {
|
|
8046
|
+
"attrs": {
|
|
8047
|
+
"interval": AUTO_FIT_VIEW_INTERVAL,
|
|
8048
|
+
"registerOverlay": registerOverlay
|
|
8049
|
+
}
|
|
7912
8050
|
})]);
|
|
7913
8051
|
};
|
|
7914
8052
|
});
|
|
@@ -15,4 +15,8 @@ export type KeyedFitViewProps = Required<MROP> & {
|
|
|
15
15
|
fitViewKey: string;
|
|
16
16
|
};
|
|
17
17
|
export declare const KeyedFitView: import("vue").DefineComponent<import("vue/types/v3-component-props").ComponentObjectPropsOptions<KeyedFitViewProps>, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").EmitByProps<KeyedFitViewProps, Required<KeyedFitViewProps>>, never, KeyedFitViewProps, {} | {}>;
|
|
18
|
+
export type InterruptableIntervalFitViewProps = Required<MROP> & {
|
|
19
|
+
interval: number;
|
|
20
|
+
};
|
|
21
|
+
export declare const InterruptableIntervalFitView: import("vue").DefineComponent<import("vue/types/v3-component-props").ComponentObjectPropsOptions<InterruptableIntervalFitViewProps>, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").Empty, import("../../types/helper").EmitByProps<InterruptableIntervalFitViewProps, Required<InterruptableIntervalFitViewProps>>, never, InterruptableIntervalFitViewProps, {} | {}>;
|
|
18
22
|
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type AddMapEventListener = (name: "touchstart" | "touchmove" | "touchend", handler: (e: TouchEvent) => void) => void;
|
|
2
|
+
type RemoveMapEventListener = (name: "touchstart" | "touchmove" | "touchend", handler: (e: TouchEvent) => void) => void;
|
|
3
|
+
export declare const useAmapTouchEvent: () => {
|
|
4
|
+
addMapEventListener: AddMapEventListener;
|
|
5
|
+
removeMapEventListener: RemoveMapEventListener;
|
|
6
|
+
};
|
|
7
|
+
export declare const useGmapTouchEvent: () => {
|
|
8
|
+
addMapEventListener: AddMapEventListener;
|
|
9
|
+
removeMapEventListener: RemoveMapEventListener;
|
|
10
|
+
};
|
|
11
|
+
export declare const useMapTouchEvent: () => {
|
|
12
|
+
addMapEventListener: AddMapEventListener;
|
|
13
|
+
removeMapEventListener: RemoveMapEventListener;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -4,3 +4,19 @@ export declare const sleep: (milliSeconds: number) => Promise<unknown>;
|
|
|
4
4
|
export declare const assertPoint: (point: unknown) => void;
|
|
5
5
|
export declare const assertAngle: (angle: unknown) => void;
|
|
6
6
|
export declare const isLatLngLiteral: (value: any) => boolean;
|
|
7
|
+
interface Defered<T> extends Promise<T> {
|
|
8
|
+
state: "pending" | "fulfilled" | "rejected";
|
|
9
|
+
resolve: (value: T | PromiseLike<T>) => void;
|
|
10
|
+
reject: (reason?: any) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function defered<T>(): Defered<T>;
|
|
13
|
+
export declare const resettableSleep: (milliSeconds: number) => {
|
|
14
|
+
sleepPromise: Defered<void>;
|
|
15
|
+
reset: () => void;
|
|
16
|
+
};
|
|
17
|
+
export declare const pausableSleep: (milliSeconds: number) => {
|
|
18
|
+
sleepPromise: Defered<void>;
|
|
19
|
+
pause: () => void;
|
|
20
|
+
restart: () => void;
|
|
21
|
+
};
|
|
22
|
+
export {};
|