@heycar/heycars-map 2.14.0-walkOptimize1 → 2.15.0-domestic1

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 (66) hide show
  1. package/README.md +47 -4
  2. package/dist/v2/Demo/DemoBusinessRecomendPlace.js +2 -1
  3. package/dist/v2/Demo/DemoBusinessTaxiEnd.d.ts +2 -1
  4. package/dist/v2/Demo/DemoBusinessTaxiEnd.js +9 -2
  5. package/dist/v2/Demo/DemoBusinessTaxiService.d.ts +4 -1
  6. package/dist/v2/Demo/DemoBusinessTaxiService.js +19 -1
  7. package/dist/v2/Demo/demo.data.mock.d.ts +4 -0
  8. package/dist/v2/Demo/demo.data.mock.js +1194 -0
  9. package/dist/v2/business-components/BusinessRecomendPlaceMap/BusinessRecomendPlaceMap.d.ts +1 -0
  10. package/dist/v2/business-components/BusinessRecomendPlaceMap/BusinessRecomendPlaceMap.js +2 -1
  11. package/dist/v2/business-components/BusinessRecomendPlaceMap/index.js +1 -1
  12. package/dist/v2/business-components/BusinessReselectPlaceMap/BusinessReselectPlaceMap.js +1 -1
  13. package/dist/v2/business-components/BusinessTaxiEndMap/BusinessTaxiEndMap.d.ts +4 -3
  14. package/dist/v2/business-components/BusinessTaxiEndMap/BusinessTaxiEndMap.js +6 -2
  15. package/dist/v2/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceMap.d.ts +4 -1
  16. package/dist/v2/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceMap.js +45 -7
  17. package/dist/v2/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceSection.d.ts +6 -1
  18. package/dist/v2/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceSection.js +80 -16
  19. package/dist/v2/business-components/TaxiCar/RandomCars.d.ts +6 -0
  20. package/dist/v2/business-components/TaxiCar/RandomCars.js +47 -0
  21. package/dist/v2/chunks/{BusinessRecomendPlaceMap.e9166e7d.js → BusinessRecomendPlaceMap.eebd0822.js} +7 -1
  22. package/dist/v2/hooks/useMapCoordinatify.d.ts +2 -1
  23. package/dist/v2/hooks/useMapCoordinatify.js +6 -1
  24. package/dist/v2/hooks-business/useBusinessRecomendPlaceMap.js +1 -1
  25. package/dist/v2/index.js +1 -1
  26. package/dist/v2/types/interface.d.ts +12 -0
  27. package/dist/v2/utils/geometryPolygon.d.ts +9 -0
  28. package/dist/v2/utils/geometryPolygon.js +19 -0
  29. package/dist/v2/utils/log.js +1 -1
  30. package/dist/v2/utils/platform.d.ts +2 -1
  31. package/dist/v2/utils/platform.js +2 -1
  32. package/dist/v2/utils/typeChecking.d.ts +7 -1
  33. package/dist/v2/utils/typeChecking.js +18 -0
  34. package/dist/v3/Demo/DemoBusinessRecomendPlace.js +2 -1
  35. package/dist/v3/Demo/DemoBusinessTaxiEnd.d.ts +2 -1
  36. package/dist/v3/Demo/DemoBusinessTaxiEnd.js +9 -2
  37. package/dist/v3/Demo/DemoBusinessTaxiService.d.ts +4 -1
  38. package/dist/v3/Demo/DemoBusinessTaxiService.js +19 -1
  39. package/dist/v3/Demo/demo.data.mock.d.ts +4 -0
  40. package/dist/v3/Demo/demo.data.mock.js +1194 -0
  41. package/dist/v3/business-components/BusinessRecomendPlaceMap/BusinessRecomendPlaceMap.d.ts +1 -0
  42. package/dist/v3/business-components/BusinessRecomendPlaceMap/BusinessRecomendPlaceMap.js +2 -1
  43. package/dist/v3/business-components/BusinessRecomendPlaceMap/index.js +1 -1
  44. package/dist/v3/business-components/BusinessReselectPlaceMap/BusinessReselectPlaceMap.js +1 -1
  45. package/dist/v3/business-components/BusinessTaxiEndMap/BusinessTaxiEndMap.d.ts +4 -3
  46. package/dist/v3/business-components/BusinessTaxiEndMap/BusinessTaxiEndMap.js +6 -2
  47. package/dist/v3/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceMap.d.ts +4 -1
  48. package/dist/v3/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceMap.js +45 -7
  49. package/dist/v3/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceSection.d.ts +6 -1
  50. package/dist/v3/business-components/BusinessTaxiServiceMap/BusinessTaxiServiceSection.js +62 -16
  51. package/dist/v3/business-components/TaxiCar/RandomCars.d.ts +8 -0
  52. package/dist/v3/business-components/TaxiCar/RandomCars.js +45 -0
  53. package/dist/v3/chunks/{BusinessRecomendPlaceMap.c71d0b97.js → BusinessRecomendPlaceMap.71c439c6.js} +5 -1
  54. package/dist/v3/hooks/useMapCoordinatify.d.ts +2 -1
  55. package/dist/v3/hooks/useMapCoordinatify.js +6 -1
  56. package/dist/v3/hooks-business/useBusinessRecomendPlaceMap.js +1 -1
  57. package/dist/v3/index.js +1 -1
  58. package/dist/v3/types/interface.d.ts +12 -0
  59. package/dist/v3/utils/geometryPolygon.d.ts +9 -0
  60. package/dist/v3/utils/geometryPolygon.js +19 -0
  61. package/dist/v3/utils/log.js +1 -1
  62. package/dist/v3/utils/platform.d.ts +2 -1
  63. package/dist/v3/utils/platform.js +2 -1
  64. package/dist/v3/utils/typeChecking.d.ts +7 -1
  65. package/dist/v3/utils/typeChecking.js +18 -0
  66. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { type CoordinateGeoPosition, type CoordinatePlace, type CoordinatePoint, type CoordinateRecommendZonePlaces, type CoordinateTrackPoint, type CoordinateValueOfOnChangeRecommendPlace, type CoordinateZone, type GeoPosition, type Place, type Point, type RecommendZonePlaces, type TrackPoint, type ValueOfOnChangeRecommendPlace, type Zone } from "../types/interface";
1
+ import { type CoordinateExternalRoute, type CoordinateGeoPosition, type CoordinatePlace, type CoordinatePoint, type CoordinateRecommendZonePlaces, type CoordinateTrackPoint, type CoordinateValueOfOnChangeRecommendPlace, type CoordinateZone, type ExternalRoute, type GeoPosition, type Place, type Point, type RecommendZonePlaces, type TrackPoint, type ValueOfOnChangeRecommendPlace, type Zone } from "../types/interface";
2
2
  export declare function useMapCoordinatify(): {
3
3
  coordinatifyPoint: (value: Point) => CoordinatePoint;
4
4
  unCoordinatifyPoint: (value: CoordinatePoint) => Point;
@@ -12,4 +12,5 @@ export declare function useMapCoordinatify(): {
12
12
  unCoordinatifyValueOfOnChangeRecommendPlace: (value: CoordinateValueOfOnChangeRecommendPlace) => ValueOfOnChangeRecommendPlace;
13
13
  coordinatifyGeoPosition: (value: GeoPosition) => CoordinateGeoPosition;
14
14
  unCoordinatifyTrackPoint: (value: CoordinateTrackPoint) => TrackPoint;
15
+ unCoordinatifyExternalRoute: (value: CoordinateExternalRoute) => ExternalRoute;
15
16
  };
@@ -74,6 +74,10 @@ function useMapCoordinatify() {
74
74
  const [lng, lat] = unCoordinatifyPoint(value);
75
75
  return { ...others, lng, lat };
76
76
  };
77
+ const unCoordinatifyExternalRoute = (value) => {
78
+ const { path, duration, distance } = value;
79
+ return { path: path.map(unCoordinatifyPoint), duration, distance };
80
+ };
77
81
  const coordinatifyGeoPosition = (value) => {
78
82
  return {
79
83
  ...value,
@@ -92,7 +96,8 @@ function useMapCoordinatify() {
92
96
  coordinatifyValueOfOnChangeRecommendPlace,
93
97
  unCoordinatifyValueOfOnChangeRecommendPlace,
94
98
  coordinatifyGeoPosition,
95
- unCoordinatifyTrackPoint
99
+ unCoordinatifyTrackPoint,
100
+ unCoordinatifyExternalRoute
96
101
  };
97
102
  }
98
103
  export {
@@ -1,5 +1,5 @@
1
1
  import { reactive, ref, readonly } from "vue-demi";
2
- import { E as EMPTY_PLACE } from "../chunks/BusinessRecomendPlaceMap.c71d0b97.js";
2
+ import { E as EMPTY_PLACE } from "../chunks/BusinessRecomendPlaceMap.71c439c6.js";
3
3
  import { CenterPlaceStatus } from "../types/interface.js";
4
4
  import { proxyFunctionalProperty, assertAssingedBeforeUsed } from "../utils/helper.js";
5
5
  const useBusinessRecomendPlaceMap = () => {
package/dist/v3/index.js CHANGED
@@ -2,7 +2,7 @@ import "./utils/alipayPolyfill.js";
2
2
  import { isCoordinatePointEqual } from "./api/geometry.js";
3
3
  import { AbsoluteAddressBox } from "./business-components/AbsoluteAddressBox/AbsoluteAddressBox.js";
4
4
  import { BusinessQuotingMap } from "./business-components/BusinessQuotingMap/BusinessQuotingMap.js";
5
- import { B } from "./chunks/BusinessRecomendPlaceMap.c71d0b97.js";
5
+ import { B } from "./chunks/BusinessRecomendPlaceMap.71c439c6.js";
6
6
  import { BusinessReselectPlaceMap } from "./business-components/BusinessReselectPlaceMap/BusinessReselectPlaceMap.js";
7
7
  import { BusinessTaxiEndMap } from "./business-components/BusinessTaxiEndMap/BusinessTaxiEndMap.js";
8
8
  import { BusinessTaxiServiceMap } from "./business-components/BusinessTaxiServiceMap/BusinessTaxiServiceMap.js";
@@ -80,6 +80,11 @@ export interface Route {
80
80
  steps: RouteStep[];
81
81
  trafficJams?: TrafficJams;
82
82
  }
83
+ export interface ExternalRoute {
84
+ path: Point[];
85
+ duration: number;
86
+ distance: number;
87
+ }
83
88
  export interface TrackPoint {
84
89
  lng: number;
85
90
  lat: number;
@@ -90,6 +95,13 @@ export interface TrackPoint {
90
95
  export interface CoordinateTrackPoint extends TrackPoint {
91
96
  type: CoordinateType;
92
97
  }
98
+ export interface CoordinateExternalRoute extends Omit<ExternalRoute, "path"> {
99
+ path: CoordinatePoint[];
100
+ }
101
+ export type GetDriverRouteOrTrackOutput = {
102
+ routes?: CoordinateExternalRoute;
103
+ tracks?: CoordinateTrackPoint[];
104
+ };
93
105
  export type RecommendType = "Restricted" | "Forbidden" | "Recommend";
94
106
  export type DriverStatus = "dispatching" | "book-dispatching" | "dispatched" | "driverStartService" | "driverStartRelayService" | "book-driverStartService" | "book-dispatched" | "driverArrived" | "inService" | "canceled" | "endService" | "completed" | "canceling" | "banlanceRefund" | "waitBanlanceRefund" | "rechargePayed" | "waitRechargePay" | "payed" | "waitpay" | "refund" | "confirmed" | "assign" | "orderReassigned";
95
107
  export declare enum CenterPlaceStatus {
@@ -9,3 +9,12 @@ export declare const distanceBetweenTwoPoints: (from: Point, to: Point) => numbe
9
9
  * 计算折线(按顺序连接各点)总长度。
10
10
  */
11
11
  export declare const computeLineLength: (line: Point[]) => number;
12
+ /**
13
+ * 计算从起点指向终点的初始方位角(heading)。
14
+ * 说明:
15
+ * - 基于球面大圆航线计算(WGS84 半径近似),与常见地图 SDK 的 heading 含义一致
16
+ * - 返回范围为 [-180, 180](度):0 表示正北,正值为东偏北,负值为西偏南
17
+ * - 起终点经纬完全相同返回 0
18
+ * @returns 初始方位角(度)
19
+ */
20
+ export declare const computeLineAngle: (from: Point, to: Point) => number;
@@ -47,7 +47,26 @@ const computeLineLength = (line) => {
47
47
  }
48
48
  return totalLength;
49
49
  };
50
+ const computeLineAngle = (from, to) => {
51
+ const [lng1, lat1] = from;
52
+ const [lng2, lat2] = to;
53
+ if (lng1 === lng2 && lat1 === lat2)
54
+ return 0;
55
+ const toRad = (deg) => deg * Math.PI / 180;
56
+ const toDeg = (rad) => rad * 180 / Math.PI;
57
+ const phi1 = toRad(lat1);
58
+ const phi2 = toRad(lat2);
59
+ const lambda1 = toRad(lng1);
60
+ const lambda2 = toRad(lng2);
61
+ const deltaLambda = lambda2 - lambda1;
62
+ const y = Math.sin(deltaLambda) * Math.cos(phi2);
63
+ const x = Math.cos(phi1) * Math.sin(phi2) - Math.sin(phi1) * Math.cos(phi2) * Math.cos(deltaLambda);
64
+ let heading = toDeg(Math.atan2(y, x));
65
+ heading = (heading + 540) % 360 - 180;
66
+ return heading;
67
+ };
50
68
  export {
69
+ computeLineAngle,
51
70
  computeLineLength,
52
71
  distanceBetweenTwoPoints,
53
72
  pointInPolygon
@@ -1,6 +1,6 @@
1
1
  const availableLogKeys = /* @__PURE__ */ new Set();
2
2
  const pkgName = "@heycar/heycars-map";
3
- const pkgVersion = "2.14.0-walkOptimize1";
3
+ const pkgVersion = "2.15.0-domestic1";
4
4
  const spaceLogSessionKey = "wiajlf;jwiatitruiq3jrlw";
5
5
  const enableSessionLogKey = (key) => {
6
6
  const sessionParam = new URLSearchParams(sessionStorage.getItem(spaceLogSessionKey) || void 0);
@@ -4,7 +4,8 @@ export declare enum BRWOSER_PLATFORM {
4
4
  ALIPAY = "ALIPAY",
5
5
  ALIPAY_MINIPROGRAM = "ALIPAY_MINIPROGRAM",
6
6
  H5 = "H5",
7
- NODE_JS = "NODE_JS"
7
+ NODE_JS = "NODE_JS",
8
+ ENTERPRISE_WECHAT = "ENTERPRISE_WECHAT"
8
9
  }
9
10
  export declare enum OS_PLATFORM {
10
11
  IOS = "IOS",
@@ -5,6 +5,7 @@ var BRWOSER_PLATFORM = /* @__PURE__ */ ((BRWOSER_PLATFORM2) => {
5
5
  BRWOSER_PLATFORM2["ALIPAY_MINIPROGRAM"] = "ALIPAY_MINIPROGRAM";
6
6
  BRWOSER_PLATFORM2["H5"] = "H5";
7
7
  BRWOSER_PLATFORM2["NODE_JS"] = "NODE_JS";
8
+ BRWOSER_PLATFORM2["ENTERPRISE_WECHAT"] = "ENTERPRISE_WECHAT";
8
9
  return BRWOSER_PLATFORM2;
9
10
  })(BRWOSER_PLATFORM || {});
10
11
  var OS_PLATFORM = /* @__PURE__ */ ((OS_PLATFORM2) => {
@@ -39,7 +40,7 @@ const detectBrowserPlatform = () => {
39
40
  return "NODE_JS";
40
41
  const useragent = navigator.userAgent.toLowerCase();
41
42
  if (useragent.includes("micromessenger")) {
42
- return useragent.includes("miniprogram") ? "WECHAT_MINIPROGRAM" : "WECHAT";
43
+ return useragent.includes("miniprogram") ? "WECHAT_MINIPROGRAM" : useragent.includes("wxwork") ? "ENTERPRISE_WECHAT" : "WECHAT";
43
44
  }
44
45
  if (useragent.includes("alipay") || detectAlipayWallet()) {
45
46
  return useragent.includes("miniprogram") ? "ALIPAY_MINIPROGRAM" : "ALIPAY";
@@ -1,4 +1,4 @@
1
- import type { CoordinatePlace, CoordinatePoint, CoordinateRecommendZonePlaces, CoordinateTrackPoint, CoordinateType, CoordinateZone, ProxyServiceError, RecommendType } from "../types/interface";
1
+ import type { CoordinateExternalRoute, CoordinatePlace, CoordinatePoint, CoordinateRecommendZonePlaces, CoordinateTrackPoint, CoordinateType, CoordinateZone, ProxyServiceError, RecommendType } from "../types/interface";
2
2
  export declare const createTypeError: (typeName: string, value: unknown, detail?: string) => Error;
3
3
  export declare function isCoordinateType(type: unknown): type is CoordinateType;
4
4
  export declare function isRecommendType(type: unknown): type is RecommendType;
@@ -41,6 +41,12 @@ interface MaybeCoordinateTrackPoint {
41
41
  timestamp?: number | string;
42
42
  }
43
43
  export declare const toCoordinateTrackPoint: (value?: MaybeCoordinateTrackPoint) => CoordinateTrackPoint;
44
+ interface MaybeCoordinateExternalRoute {
45
+ path?: MaybeCoordinatePoint[];
46
+ duration?: number | string | null;
47
+ distance?: number | string | null;
48
+ }
49
+ export declare const toCoordinateExternalRoute: (maybeCoordinateExternalRoute?: MaybeCoordinateExternalRoute) => CoordinateExternalRoute;
44
50
  export declare function isProxyServiceError(error: unknown): error is ProxyServiceError;
45
51
  export declare function toGeolocationPositionError(error: unknown, prefix?: string): GeolocationPositionError;
46
52
  /**
@@ -107,6 +107,23 @@ const toCoordinateTrackPoint = (value) => {
107
107
  }
108
108
  return { lng, lat, type, angle, speed, timestamp };
109
109
  };
110
+ const toCoordinateExternalRoute = (maybeCoordinateExternalRoute) => {
111
+ var _a;
112
+ try {
113
+ if (!maybeCoordinateExternalRoute)
114
+ throw Error();
115
+ const duration = Number(maybeCoordinateExternalRoute.duration);
116
+ const distance = Number(maybeCoordinateExternalRoute.distance);
117
+ if (isNaN(duration) || isNaN(distance))
118
+ throw Error();
119
+ if (!Array.isArray(maybeCoordinateExternalRoute.path))
120
+ throw Error();
121
+ const path = (_a = maybeCoordinateExternalRoute.path) == null ? void 0 : _a.map(toCoordinatePointType);
122
+ return { path, duration, distance };
123
+ } catch (err) {
124
+ throw createTypeError("CoordinateExternalRoute", maybeCoordinateExternalRoute, err == null ? void 0 : err.message);
125
+ }
126
+ };
110
127
  function isProxyServiceError(error) {
111
128
  return !!error && typeof error === "object" && "msg" in error && "code" in error;
112
129
  }
@@ -172,6 +189,7 @@ export {
172
189
  isCoordinateType,
173
190
  isProxyServiceError,
174
191
  isRecommendType,
192
+ toCoordinateExternalRoute,
175
193
  toCoordinatePlaceType,
176
194
  toCoordinatePointType,
177
195
  toCoordinateRecommendZonePlacesType,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heycar/heycars-map",
3
- "version": "2.14.0-walkOptimize1",
3
+ "version": "2.15.0-domestic1",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "checkVersion": "./bin/checkVersion.js",