@vtx/map 1.2.23 → 1.2.24

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 (65) hide show
  1. package/lib/VtxMap/AMap/AMap.js +658 -1035
  2. package/lib/VtxMap/AMap/AMap.js.map +1 -1
  3. package/lib/VtxMap/BMap/Map.js +781 -1227
  4. package/lib/VtxMap/BMap/Map.js.map +1 -1
  5. package/lib/VtxMap/GMap/Map.js +1063 -1583
  6. package/lib/VtxMap/GMap/Map.js.map +1 -1
  7. package/lib/VtxMap/Map.js +23 -59
  8. package/lib/VtxMap/Map.js.map +1 -1
  9. package/lib/VtxMap/MapToolFunction.js +30 -67
  10. package/lib/VtxMap/MapToolFunction.js.map +1 -1
  11. package/lib/VtxMap/OMap/Map.js +888 -1384
  12. package/lib/VtxMap/OMap/Map.js.map +1 -1
  13. package/lib/VtxMap/OlMap/Map.js +789 -1329
  14. package/lib/VtxMap/OlMap/Map.js.map +1 -1
  15. package/lib/VtxMap/TMap/TMap.js +680 -1097
  16. package/lib/VtxMap/TMap/TMap.js.map +1 -1
  17. package/lib/VtxMap/index.js +2 -9
  18. package/lib/VtxMap/index.js.map +1 -1
  19. package/lib/VtxMap/mapPlayer.js +74 -131
  20. package/lib/VtxMap/mapPlayer.js.map +1 -1
  21. package/lib/VtxMap/optimizingPointMap.js +42 -101
  22. package/lib/VtxMap/optimizingPointMap.js.map +1 -1
  23. package/lib/VtxMap/style/css.js +0 -6
  24. package/lib/VtxMap/style/css.js.map +1 -1
  25. package/lib/VtxMap/style/index.js +0 -6
  26. package/lib/VtxMap/style/index.js.map +1 -1
  27. package/lib/VtxMap/zoomMap.js +25 -56
  28. package/lib/VtxMap/zoomMap.js.map +1 -1
  29. package/lib/VtxModal/VtxModal.js +34 -80
  30. package/lib/VtxModal/VtxModal.js.map +1 -1
  31. package/lib/VtxModal/draggableModal.js +30 -68
  32. package/lib/VtxModal/draggableModal.js.map +1 -1
  33. package/lib/VtxModal/index.js +2 -7
  34. package/lib/VtxModal/index.js.map +1 -1
  35. package/lib/VtxModal/style/css.js +0 -6
  36. package/lib/VtxModal/style/css.js.map +1 -1
  37. package/lib/VtxModal/style/index.js +0 -6
  38. package/lib/VtxModal/style/index.js.map +1 -1
  39. package/lib/VtxSearchCheckMap/VtxSearchCheckMap.js +123 -259
  40. package/lib/VtxSearchCheckMap/VtxSearchCheckMap.js.map +1 -1
  41. package/lib/VtxSearchCheckMap/index.js +1 -3
  42. package/lib/VtxSearchCheckMap/index.js.map +1 -1
  43. package/lib/VtxSearchCheckMap/mapping.js +1 -2
  44. package/lib/VtxSearchCheckMap/mapping.js.map +1 -1
  45. package/lib/VtxSearchCheckMap/style/css.js +0 -19
  46. package/lib/VtxSearchCheckMap/style/css.js.map +1 -1
  47. package/lib/VtxSearchCheckMap/style/index.js +0 -19
  48. package/lib/VtxSearchCheckMap/style/index.js.map +1 -1
  49. package/lib/VtxSearchMap/VtxSearchMap.js +140 -319
  50. package/lib/VtxSearchMap/VtxSearchMap.js.map +1 -1
  51. package/lib/VtxSearchMap/index.js +1 -3
  52. package/lib/VtxSearchMap/index.js.map +1 -1
  53. package/lib/VtxSearchMap/mapping.js +1 -2
  54. package/lib/VtxSearchMap/mapping.js.map +1 -1
  55. package/lib/VtxSearchMap/style/css.js +0 -19
  56. package/lib/VtxSearchMap/style/css.js.map +1 -1
  57. package/lib/VtxSearchMap/style/index.js +0 -19
  58. package/lib/VtxSearchMap/style/index.js.map +1 -1
  59. package/lib/default.js +4 -13
  60. package/lib/default.js.map +1 -1
  61. package/lib/index.js +0 -3
  62. package/lib/index.js.map +1 -1
  63. package/lib/utils/util.js +15 -40
  64. package/lib/utils/util.js.map +1 -1
  65. package/package.json +1 -1
@@ -28,20 +28,13 @@ Object.defineProperty(exports, "VtxZoomMap", {
28
28
  }
29
29
  });
30
30
  exports["default"] = void 0;
31
-
32
31
  var _Map = _interopRequireDefault(require("./Map"));
33
-
34
32
  var _optimizingPointMap = _interopRequireDefault(require("./optimizingPointMap"));
35
-
36
33
  var _zoomMap = _interopRequireDefault(require("./zoomMap"));
37
-
38
34
  var _mapPlayer = _interopRequireDefault(require("./mapPlayer"));
39
-
40
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
41
-
35
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
42
36
  _Map["default"].VtxOptMap = _optimizingPointMap["default"];
43
37
  _Map["default"].VtxZoomMap = _zoomMap["default"];
44
38
  _Map["default"].MapPlayer = _mapPlayer["default"];
45
- var _default = _Map["default"];
46
- exports["default"] = _default;
39
+ var _default = exports["default"] = _Map["default"];
47
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["VtxMap","VtxOptMap","VtxZoomMap","MapPlayer"],"sources":["VtxMap/index.js"],"sourcesContent":["import {default as VtxMap} from './Map';\r\nimport {default as VtxOptMap} from './optimizingPointMap';\r\nimport {default as VtxZoomMap} from './zoomMap';\r\nimport {default as MapPlayer} from './mapPlayer';\r\n\r\nVtxMap.VtxOptMap = VtxOptMap;\r\nVtxMap.VtxZoomMap = VtxZoomMap;\r\nVtxMap.MapPlayer = MapPlayer;\r\n\r\nexport default VtxMap;\r\nexport {VtxMap,VtxOptMap,VtxZoomMap,MapPlayer};"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEAA,eAAA,CAAOC,SAAP,GAAmBA,8BAAnB;AACAD,eAAA,CAAOE,UAAP,GAAoBA,mBAApB;AACAF,eAAA,CAAOG,SAAP,GAAmBA,qBAAnB;eAEeH,e"}
1
+ {"version":3,"file":"index.js","names":["_Map","_interopRequireDefault","require","_optimizingPointMap","_zoomMap","_mapPlayer","e","__esModule","VtxMap","VtxOptMap","VtxZoomMap","MapPlayer","_default","exports"],"sources":["VtxMap/index.js"],"sourcesContent":["import {default as VtxMap} from './Map';\r\nimport {default as VtxOptMap} from './optimizingPointMap';\r\nimport {default as VtxZoomMap} from './zoomMap';\r\nimport {default as MapPlayer} from './mapPlayer';\r\n\r\nVtxMap.VtxOptMap = VtxOptMap;\r\nVtxMap.VtxZoomMap = VtxZoomMap;\r\nVtxMap.MapPlayer = MapPlayer;\r\n\r\nexport default VtxMap;\r\nexport {VtxMap,VtxOptMap,VtxZoomMap,MapPlayer};"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAiD,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAEjDE,eAAM,CAACC,SAAS,GAAGA,8BAAS;AAC5BD,eAAM,CAACE,UAAU,GAAGA,mBAAU;AAC9BF,eAAM,CAACG,SAAS,GAAGA,qBAAS;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEdL,eAAM","ignoreList":[]}
@@ -4,31 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
9
-
7
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
10
9
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
-
12
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
-
14
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
15
-
16
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
17
-
18
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
19
-
20
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
-
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
-
24
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
-
26
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
27
-
28
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
29
-
30
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
31
-
10
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
11
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
12
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
13
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
14
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
17
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
18
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
19
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
21
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
32
22
  /*
33
23
  地图实例:@map
34
24
  需要播放的点位数组:@path --- [{longitude,latitude,name,id}]
@@ -46,36 +36,26 @@ pause
46
36
  stop
47
37
  destroy
48
38
  */
49
- var MapPlayer = /*#__PURE__*/function () {
39
+ var MapPlayer = exports["default"] = /*#__PURE__*/function () {
50
40
  function MapPlayer(_ref) {
51
41
  var _this = this;
52
-
53
42
  var map = _ref.map,
54
- path = _ref.path,
55
- speed = _ref.speed,
56
- playRate = _ref.playRate,
57
- pointSetting = _ref.pointSetting,
58
- lineSetting = _ref.lineSetting,
59
- enableRotation = _ref.enableRotation,
60
- mapMove = _ref.mapMove,
61
- onChange = _ref.onChange;
62
-
43
+ path = _ref.path,
44
+ speed = _ref.speed,
45
+ playRate = _ref.playRate,
46
+ pointSetting = _ref.pointSetting,
47
+ lineSetting = _ref.lineSetting,
48
+ enableRotation = _ref.enableRotation,
49
+ mapMove = _ref.mapMove,
50
+ onChange = _ref.onChange;
63
51
  _classCallCheck(this, MapPlayer);
64
-
65
52
  this.map = map; //地图实例
66
-
67
53
  this.path = path || []; //点位数组
68
-
69
54
  this.speed = speed || 12; //点位移动速度,m/s
70
-
71
55
  this.playFrame = 24; //播放帧率
72
-
73
56
  this.playRate = playRate || 1; //播放速率
74
-
75
57
  this.enableRotation = enableRotation || false; //是否开启图标自动旋转
76
-
77
58
  this.mapMove = mapMove || false; //地图是否跟随播放点位移动
78
-
79
59
  this.pointSetting = pointSetting || {
80
60
  config: {
81
61
  width: 30,
@@ -88,26 +68,20 @@ var MapPlayer = /*#__PURE__*/function () {
88
68
  lineWidth: 3,
89
69
  color: 'blue'
90
70
  }; //线的样式配置
91
-
92
71
  this.onChange = onChange;
93
72
  var uniqueID = "".concat(new Date().valueOf(), "_").concat(parseInt(Math.random() * 100000000));
94
73
  this._pointId = "point_".concat(uniqueID);
95
74
  this._lineId = "line_".concat(uniqueID);
96
75
  this._currentIndex = 0; //当前播放的点位序号
97
-
98
76
  this._supplementPoints = []; //补点列表
99
-
100
77
  this._currentSupplementIndex = 0; //当前补点序号
101
-
102
78
  this._timer = null; //播放定时器
103
-
104
79
  this.map.loadMapComplete.then(function () {
105
80
  _this._redraw();
106
81
  });
107
- } // 根据当前数据重新渲染点和线的图形
108
-
109
-
110
- _createClass(MapPlayer, [{
82
+ }
83
+ // 根据当前数据重新渲染点和线的图形
84
+ return _createClass(MapPlayer, [{
111
85
  key: "_redraw",
112
86
  value: function _redraw() {
113
87
  if (this.path.length == 0) {
@@ -115,17 +89,14 @@ var MapPlayer = /*#__PURE__*/function () {
115
89
  this.map.GM.isRepetition(this._lineId) && this.map.removeGraphic(this._lineId);
116
90
  return;
117
91
  }
118
-
119
92
  if (this._currentIndex < this.path.length) {
120
93
  // 画点
121
94
  var currentPoint;
122
-
123
95
  if (this._currentIndex == this.path.length - 1 || this._supplementPoints.length == 0) {
124
96
  currentPoint = this.path[this._currentIndex];
125
97
  } else {
126
98
  currentPoint = this._supplementPoints[this._currentSupplementIndex];
127
99
  }
128
-
129
100
  var pointObj = _objectSpread(_objectSpread(_objectSpread({}, currentPoint), {}, {
130
101
  id: this._pointId,
131
102
  latitude: currentPoint.latitude,
@@ -135,7 +106,6 @@ var MapPlayer = /*#__PURE__*/function () {
135
106
  labelContent: currentPoint.name || ''
136
107
  })
137
108
  });
138
-
139
109
  if (this.enableRotation) {
140
110
  var deg = this._currentIndex + 1 < this.path.length ? this._getIconAngle({
141
111
  x: this.path[this._currentIndex].longitude,
@@ -146,34 +116,28 @@ var MapPlayer = /*#__PURE__*/function () {
146
116
  }) : 0;
147
117
  pointObj.config.deg = deg;
148
118
  }
149
-
150
119
  if (this.map.GM.isRepetition(this._pointId)) {
151
120
  this.map.updatePoint([pointObj]);
152
121
  this.mapMove && this.map.setCenter([pointObj.longitude, pointObj.latitude]);
153
122
  } else {
154
123
  this.map.addPoint([pointObj], 'defined');
155
- } // 画线
156
-
157
-
124
+ }
125
+ // 画线
158
126
  var paths = [];
159
-
160
127
  for (var i = 0; i <= this._currentIndex; i++) {
161
128
  paths.push([this.path[i].longitude, this.path[i].latitude]);
162
129
  }
163
-
164
130
  if (this._supplementPoints.length > 0) {
165
131
  for (var _i = 0; _i <= this._currentSupplementIndex; _i++) {
166
132
  paths.push([this._supplementPoints[_i].longitude, this._supplementPoints[_i].latitude]);
167
133
  }
168
134
  }
169
-
170
135
  if (paths.length > 1) {
171
136
  var lineObj = {
172
137
  id: this._lineId,
173
138
  paths: paths,
174
139
  config: this.lineSetting
175
140
  };
176
-
177
141
  if (this.map.GM.isRepetition(this._lineId)) {
178
142
  this.map.updateLine([lineObj]);
179
143
  } else {
@@ -193,16 +157,16 @@ var MapPlayer = /*#__PURE__*/function () {
193
157
  clearTimeout(this._timer);
194
158
  this._timer = null;
195
159
  }
196
- } // 计算图标转动角度(仅适用于当前车辆图标,仅适用于中国区域)
197
-
160
+ }
161
+ // 计算图标转动角度(仅适用于当前车辆图标,仅适用于中国区域)
198
162
  }, {
199
163
  key: "_getIconAngle",
200
164
  value: function _getIconAngle(start, end) {
201
165
  var diff_x = end.x - start.x,
202
- diff_y = end.y - start.y; // 1,4象限夹脚计算
203
-
204
- var ag = 360 * Math.atan(diff_y / diff_x) / (2 * Math.PI); // 地图夹角偏转计算
205
-
166
+ diff_y = end.y - start.y;
167
+ // 1,4象限夹脚计算
168
+ var ag = 360 * Math.atan(diff_y / diff_x) / (2 * Math.PI);
169
+ // 地图夹角偏转计算
206
170
  if (diff_x == 0) {
207
171
  if (diff_y > 0) {
208
172
  return -90;
@@ -211,57 +175,55 @@ var MapPlayer = /*#__PURE__*/function () {
211
175
  } else {
212
176
  return 0;
213
177
  }
214
- } // 坐标系1,4象限
178
+ }
179
+ // 坐标系1,4象限
215
180
  else if (diff_x > 0) {
216
181
  return -ag;
217
- } // 坐标系2,3象限
182
+ }
183
+ // 坐标系2,3象限
218
184
  else {
219
185
  return 180 - ag;
220
186
  }
221
- } // 根据两点生成补点列表
222
-
187
+ }
188
+ // 根据两点生成补点列表
223
189
  }, {
224
190
  key: "_generateSupplyPoints",
225
191
  value: function _generateSupplyPoints(p1, p2) {
226
192
  var currentLng = p1.longitude,
227
- currentLat = p1.latitude;
193
+ currentLat = p1.latitude;
228
194
  var nextLng = p2.longitude,
229
- nextLat = p2.latitude;
230
- var runTime = this.map.calculateDistance([[currentLng, currentLat], [nextLng, nextLat]]) / (this.speed * this.playRate); //不需要补点
231
-
195
+ nextLat = p2.latitude;
196
+ var runTime = this.map.calculateDistance([[currentLng, currentLat], [nextLng, nextLat]]) / (this.speed * this.playRate);
197
+ //不需要补点
232
198
  if (runTime <= 1 / this.playFrame) {
233
199
  return [];
234
- } // 需要补点
200
+ }
201
+ // 需要补点
235
202
  else {
236
203
  var supplementNum = Math.ceil(runTime / (1 / this.playFrame)) - 1;
237
204
  var lng_spacing = (nextLng - currentLng) / (supplementNum + 1);
238
205
  var lat_spacing = (nextLat - currentLat) / (supplementNum + 1);
239
206
  var supplementPoints = [];
240
-
241
207
  for (var i = 1; i <= supplementNum; i++) {
242
208
  supplementPoints.push(_objectSpread(_objectSpread({}, this.path[this._currentIndex]), {}, {
243
209
  longitude: currentLng + lng_spacing * i,
244
210
  latitude: currentLat + lat_spacing * i
245
211
  }));
246
212
  }
247
-
248
213
  return supplementPoints;
249
214
  }
250
- } // 开始播放
251
-
215
+ }
216
+ // 开始播放
252
217
  }, {
253
218
  key: "play",
254
219
  value: function play() {
255
220
  var _this2 = this;
256
-
257
221
  this._clearTimer();
258
-
259
222
  if (this.path.length == 0 || this._currentIndex == this.path.length - 1) {
260
223
  return;
261
224
  }
262
-
263
- ; // 当前处于补点播放
264
-
225
+ ;
226
+ // 当前处于补点播放
265
227
  if (this._supplementPoints.length > 0) {
266
228
  this._timer = setTimeout(function () {
267
229
  if (_this2._currentSupplementIndex < _this2._supplementPoints.length - 1) {
@@ -272,101 +234,89 @@ var MapPlayer = /*#__PURE__*/function () {
272
234
  _this2._currentIndex = _this2._currentIndex + 1;
273
235
  typeof _this2.onChange == 'function' && _this2.onChange(_this2.path[_this2._currentIndex], _this2._currentIndex);
274
236
  }
275
-
276
237
  _this2._redraw();
277
-
278
238
  _this2.play();
279
239
  }, 1000 / this.playFrame);
280
- } // 当前处于非补点播放
240
+ }
241
+ // 当前处于非补点播放
281
242
  else {
282
- var spPoints = this._generateSupplyPoints(this.path[this._currentIndex], this.path[this._currentIndex + 1]); //不需要补点
283
-
284
-
243
+ var spPoints = this._generateSupplyPoints(this.path[this._currentIndex], this.path[this._currentIndex + 1]);
244
+ //不需要补点
285
245
  if (spPoints.length == 0) {
286
246
  this._timer = setTimeout(function () {
287
247
  _this2._currentIndex = _this2._currentIndex + 1;
288
248
  typeof _this2.onChange == 'function' && _this2.onChange(_this2.path[_this2._currentIndex], _this2._currentIndex);
289
-
290
249
  _this2._redraw();
291
-
292
250
  _this2.play();
293
251
  }, 1000 / this.playFrame);
294
- } // 需要补点
252
+ }
253
+ // 需要补点
295
254
  else {
296
255
  this._timer = setTimeout(function () {
297
256
  _this2._currentSupplementIndex = 0;
298
257
  _this2._supplementPoints = spPoints;
299
-
300
258
  _this2._redraw();
301
-
302
259
  _this2.play();
303
260
  }, 1000 / this.playFrame);
304
261
  }
305
262
  }
306
- } // 暂停播放
307
-
263
+ }
264
+ // 暂停播放
308
265
  }, {
309
266
  key: "pause",
310
267
  value: function pause(onPlayPause) {
311
268
  this._clearTimer();
312
-
313
269
  typeof onPlayPause == "function" && onPlayPause(this.path[this._currentIndex], this._currentIndex);
314
- } // 停止播放(回到初始点位)
315
-
270
+ }
271
+ // 停止播放(回到初始点位)
316
272
  }, {
317
273
  key: "stop",
318
274
  value: function stop() {
319
275
  this._clearTimer();
320
-
321
276
  this._currentIndex = 0;
322
277
  this._supplementPoints = [];
323
278
  this._currentSupplementIndex = 0;
324
-
325
- this._redraw(); // typeof this.onChange == "function" && this.onChange(this.path[0],0);
326
-
327
- } // 销毁(删除所有添加的图层)
328
-
279
+ this._redraw();
280
+ // typeof this.onChange == "function" && this.onChange(this.path[0],0);
281
+ }
282
+ // 销毁(删除所有添加的图层)
329
283
  }, {
330
284
  key: "destroy",
331
285
  value: function destroy() {
332
286
  this._clearTimer();
333
-
334
287
  this.map.removeGraphic(this._pointId);
335
288
  this.map.removeGraphic(this._lineId);
336
289
  this._currentIndex = 0;
337
290
  this._supplementPoints = [];
338
291
  this._currentSupplementIndex = 0;
339
- } // 设置速度
340
-
292
+ }
293
+ // 设置速度
341
294
  }, {
342
295
  key: "setPlayRate",
343
296
  value: function setPlayRate(newPlayRate) {
344
- this.playRate = newPlayRate; //如果当前处于补点状态,重新生成新的补点
345
-
297
+ this.playRate = newPlayRate;
298
+ //如果当前处于补点状态,重新生成新的补点
346
299
  if (this._supplementPoints.length > 0) {
347
300
  var newSpPoints = this._generateSupplyPoints(this._supplementPoints[this._currentSupplementIndex], this.path[this._currentIndex + 1]);
348
-
349
301
  this._supplementPoints = [].concat(_toConsumableArray(this._supplementPoints.slice(0, this._currentSupplementIndex + 1)), _toConsumableArray(newSpPoints));
350
302
  }
351
- } // 设置当前播放点位的位置
352
-
303
+ }
304
+ // 设置当前播放点位的位置
353
305
  }, {
354
306
  key: "setCurrentIndex",
355
307
  value: function setCurrentIndex(pIndex) {
356
308
  if (pIndex >= this.path.length) return;
357
309
  this._currentIndex = pIndex;
358
310
  this._supplementPoints = [];
359
- this._currentSupplementIndex = 0; // typeof this.onChange == "function" && this.onChange(this.path[pIndex],pIndex);
360
-
311
+ this._currentSupplementIndex = 0;
312
+ // typeof this.onChange == "function" && this.onChange(this.path[pIndex],pIndex);
361
313
  this._redraw();
362
-
363
314
  if (this._timer) {
364
315
  this._clearTimer();
365
-
366
316
  this.play();
367
317
  }
368
- } // 重新设置播放路线
369
-
318
+ }
319
+ // 重新设置播放路线
370
320
  }, {
371
321
  key: "setPath",
372
322
  value: function setPath(newPath) {
@@ -374,20 +324,13 @@ var MapPlayer = /*#__PURE__*/function () {
374
324
  this._currentIndex = 0;
375
325
  this._supplementPoints = [];
376
326
  this._currentSupplementIndex = 0;
377
-
378
327
  this._redraw();
379
-
380
328
  if (this._timer) {
381
329
  this._clearTimer();
382
-
383
330
  this.play();
384
331
  }
385
332
  }
386
333
  }]);
387
-
388
- return MapPlayer;
389
334
  }();
390
-
391
- exports["default"] = MapPlayer;
392
335
  module.exports = exports["default"];
393
336
  //# sourceMappingURL=mapPlayer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapPlayer.js","names":["MapPlayer","map","path","speed","playRate","pointSetting","lineSetting","enableRotation","mapMove","onChange","playFrame","config","width","height","markerContentX","markerContentY","lineWidth","color","uniqueID","Date","valueOf","parseInt","Math","random","_pointId","_lineId","_currentIndex","_supplementPoints","_currentSupplementIndex","_timer","loadMapComplete","then","_redraw","length","GM","isRepetition","removeGraphic","currentPoint","pointObj","id","latitude","longitude","labelContent","name","deg","_getIconAngle","x","y","updatePoint","setCenter","addPoint","paths","i","push","lineObj","updateLine","addLine","clearTimeout","start","end","diff_x","diff_y","ag","atan","PI","p1","p2","currentLng","currentLat","nextLng","nextLat","runTime","calculateDistance","supplementNum","ceil","lng_spacing","lat_spacing","supplementPoints","_clearTimer","setTimeout","play","spPoints","_generateSupplyPoints","onPlayPause","newPlayRate","newSpPoints","slice","pIndex","newPath"],"sources":["VtxMap/mapPlayer.js"],"sourcesContent":["/* \r\n地图实例:@map\r\n需要播放的点位数组:@path --- [{longitude,latitude,name,id}]\r\n\r\n播放速度:@speed --- Number\r\n播放倍率:@playRate,\r\n点位设置:@pointSetting,\r\n线设置:@lineSetting,\r\n是否开启图标自动旋转:@enableRotation,\r\n点位变化事件:@onChange\r\nsetSpeed\r\nsetCurrentIndex\r\nplay\r\npause\r\nstop\r\ndestroy\r\n*/\r\nexport default class MapPlayer{\r\n constructor({map,path,speed,playRate,pointSetting,lineSetting,enableRotation,mapMove,onChange}){\r\n this.map = map; //地图实例\r\n this.path = path||[]; //点位数组\r\n this.speed = speed||12;//点位移动速度,m/s\r\n this.playFrame = 24; //播放帧率\r\n this.playRate = playRate||1; //播放速率\r\n this.enableRotation = enableRotation||false; //是否开启图标自动旋转\r\n this.mapMove = mapMove||false; //地图是否跟随播放点位移动\r\n this.pointSetting = pointSetting||{\r\n config:{\r\n width:30,\r\n height:30, \r\n markerContentX:-15,\r\n markerContentY:-15, \r\n }\r\n }\r\n this.lineSetting = lineSetting||{lineWidth:3,color:'blue'}; //线的样式配置\r\n this.onChange = onChange;\r\n \r\n const uniqueID = `${new Date().valueOf()}_${parseInt(Math.random()*100000000)}`;\r\n this._pointId = `point_${uniqueID}`;\r\n this._lineId = `line_${uniqueID}`;\r\n this._currentIndex = 0; //当前播放的点位序号\r\n this._supplementPoints = [];//补点列表\r\n this._currentSupplementIndex = 0;//当前补点序号\r\n this._timer = null; //播放定时器\r\n this.map.loadMapComplete.then(()=>{\r\n this._redraw();\r\n })\r\n \r\n }\r\n // 根据当前数据重新渲染点和线的图形\r\n _redraw(){\r\n if(this.path.length==0 ){\r\n this.map.GM.isRepetition(this._pointId) && this.map.removeGraphic(this._pointId);\r\n this.map.GM.isRepetition(this._lineId) && this.map.removeGraphic(this._lineId);\r\n return;\r\n }\r\n if(this._currentIndex < this.path.length){\r\n // 画点\r\n let currentPoint;\r\n if(this._currentIndex==this.path.length-1 || this._supplementPoints.length==0){\r\n currentPoint = this.path[this._currentIndex];\r\n }\r\n else{\r\n currentPoint = this._supplementPoints[this._currentSupplementIndex];\r\n }\r\n let pointObj = {\r\n ...currentPoint,\r\n id: this._pointId,\r\n latitude:currentPoint.latitude,\r\n longitude:currentPoint.longitude,\r\n ...this.pointSetting,\r\n config:{\r\n ...(this.pointSetting.config||{}),\r\n labelContent:currentPoint.name||'',\r\n }\r\n }\r\n if(this.enableRotation){\r\n const deg = this._currentIndex+1<this.path.length?this._getIconAngle({\r\n x:this.path[this._currentIndex].longitude,\r\n y:this.path[this._currentIndex].latitude,\r\n },{\r\n x:this.path[this._currentIndex+1].longitude,\r\n y:this.path[this._currentIndex+1].latitude\r\n }):0;\r\n pointObj.config.deg = deg;\r\n }\r\n \r\n if(this.map.GM.isRepetition(this._pointId)){\r\n this.map.updatePoint([pointObj]);\r\n this.mapMove && this.map.setCenter([pointObj.longitude,pointObj.latitude]);\r\n }\r\n else{\r\n this.map.addPoint([pointObj],'defined');\r\n }\r\n // 画线\r\n let paths = [];\r\n for(let i=0; i<=this._currentIndex; i++){\r\n paths.push([this.path[i].longitude,this.path[i].latitude]);\r\n }\r\n \r\n if(this._supplementPoints.length>0){\r\n for(let i=0;i<=this._currentSupplementIndex;i++){\r\n paths.push([this._supplementPoints[i].longitude,this._supplementPoints[i].latitude])\r\n }\r\n }\r\n if(paths.length>1){\r\n const lineObj = {\r\n id:this._lineId,\r\n paths,\r\n config:this.lineSetting\r\n }\r\n if(this.map.GM.isRepetition(this._lineId)){\r\n this.map.updateLine([lineObj]);\r\n }\r\n else{\r\n this.map.addLine([lineObj],'defined');\r\n }\r\n }\r\n else{\r\n if(this.map.GM.isRepetition(this._lineId)){\r\n this.map.removeGraphic(this._lineId);\r\n } \r\n } \r\n }\r\n }\r\n _clearTimer(){\r\n if(this._timer){\r\n clearTimeout(this._timer);\r\n this._timer = null;\r\n }\r\n }\r\n // 计算图标转动角度(仅适用于当前车辆图标,仅适用于中国区域)\r\n _getIconAngle(start,end){\r\n const diff_x = end.x - start.x,\r\n diff_y = end.y - start.y;\r\n // 1,4象限夹脚计算\r\n const ag = 360*Math.atan(diff_y/diff_x)/(2*Math.PI);\r\n // 地图夹角偏转计算\r\n if(diff_x==0){\r\n if(diff_y>0){\r\n return -90;\r\n }\r\n else if(diff_y<0){\r\n return 90;\r\n }\r\n else{\r\n return 0;\r\n }\r\n }\r\n // 坐标系1,4象限\r\n else if(diff_x>0){\r\n return -ag;\r\n }\r\n // 坐标系2,3象限\r\n else{\r\n return 180 - ag;\r\n }\r\n }\r\n // 根据两点生成补点列表\r\n _generateSupplyPoints(p1,p2){\r\n const {longitude:currentLng, latitude:currentLat} = p1;\r\n const {longitude:nextLng, latitude:nextLat} = p2;\r\n const runTime = this.map.calculateDistance([\r\n [currentLng,currentLat],\r\n [nextLng,nextLat]\r\n ])/(this.speed*this.playRate);\r\n //不需要补点 \r\n if(runTime<=1/this.playFrame){\r\n return [];\r\n }\r\n // 需要补点\r\n else{\r\n const supplementNum = Math.ceil(runTime/(1/this.playFrame))-1;\r\n const lng_spacing = (nextLng - currentLng)/(supplementNum+1);\r\n const lat_spacing = (nextLat - currentLat)/(supplementNum+1);\r\n let supplementPoints = [];\r\n for(let i=1;i<=supplementNum;i++){\r\n supplementPoints.push({\r\n ...this.path[this._currentIndex],\r\n longitude:currentLng+lng_spacing*i,\r\n latitude:currentLat+lat_spacing*i,\r\n });\r\n }\r\n return supplementPoints;\r\n }\r\n }\r\n // 开始播放\r\n play(){\r\n this._clearTimer();\r\n if(this.path.length==0 || this._currentIndex==this.path.length-1){\r\n return;\r\n };\r\n // 当前处于补点播放\r\n if(this._supplementPoints.length>0){\r\n this._timer = setTimeout(()=>{\r\n if(this._currentSupplementIndex<this._supplementPoints.length-1){\r\n this._currentSupplementIndex = this._currentSupplementIndex+1;\r\n }\r\n else{\r\n this._currentSupplementIndex = 0;\r\n this._supplementPoints = [];\r\n this._currentIndex = this._currentIndex+1;\r\n typeof this.onChange=='function' && this.onChange(this.path[this._currentIndex],this._currentIndex);\r\n }\r\n this._redraw();\r\n this.play();\r\n },1000/this.playFrame);\r\n }\r\n // 当前处于非补点播放\r\n else{\r\n const spPoints = this._generateSupplyPoints(this.path[this._currentIndex],this.path[this._currentIndex+1]);\r\n //不需要补点 \r\n if(spPoints.length==0){\r\n this._timer = setTimeout(()=>{\r\n this._currentIndex = this._currentIndex+1;\r\n typeof this.onChange=='function' && this.onChange(this.path[this._currentIndex],this._currentIndex);\r\n this._redraw();\r\n this.play();\r\n },1000/this.playFrame);\r\n }\r\n // 需要补点\r\n else{\r\n this._timer = setTimeout(()=>{\r\n this._currentSupplementIndex = 0;\r\n this._supplementPoints = spPoints;\r\n this._redraw();\r\n this.play();\r\n },1000/this.playFrame);\r\n }\r\n } \r\n }\r\n // 暂停播放\r\n pause(onPlayPause){\r\n this._clearTimer();\r\n typeof onPlayPause == \"function\" && onPlayPause(this.path[this._currentIndex],this._currentIndex);\r\n }\r\n // 停止播放(回到初始点位)\r\n stop(){\r\n this._clearTimer();\r\n this._currentIndex = 0;\r\n this._supplementPoints = [];\r\n this._currentSupplementIndex = 0;\r\n this._redraw();\r\n // typeof this.onChange == \"function\" && this.onChange(this.path[0],0);\r\n }\r\n // 销毁(删除所有添加的图层)\r\n destroy(){\r\n this._clearTimer();\r\n this.map.removeGraphic(this._pointId);\r\n this.map.removeGraphic(this._lineId);\r\n this._currentIndex = 0;\r\n this._supplementPoints = [];\r\n this._currentSupplementIndex = 0;\r\n }\r\n // 设置速度\r\n setPlayRate(newPlayRate){\r\n this.playRate = newPlayRate;\r\n //如果当前处于补点状态,重新生成新的补点\r\n if(this._supplementPoints.length>0){\r\n const newSpPoints = this._generateSupplyPoints(this._supplementPoints[this._currentSupplementIndex],this.path[this._currentIndex+1]);\r\n this._supplementPoints = [...this._supplementPoints.slice(0,this._currentSupplementIndex+1),...newSpPoints];\r\n }\r\n }\r\n // 设置当前播放点位的位置\r\n setCurrentIndex(pIndex){\r\n if(pIndex >= this.path.length)return;\r\n \r\n this._currentIndex = pIndex;\r\n this._supplementPoints = [];\r\n this._currentSupplementIndex = 0;\r\n // typeof this.onChange == \"function\" && this.onChange(this.path[pIndex],pIndex);\r\n this._redraw();\r\n if(this._timer){\r\n this._clearTimer();\r\n this.play();\r\n }\r\n }\r\n // 重新设置播放路线\r\n setPath(newPath){\r\n this.path = newPath;\r\n this._currentIndex = 0;\r\n this._supplementPoints = [];\r\n this._currentSupplementIndex = 0;\r\n this._redraw();\r\n if(this._timer){\r\n this._clearTimer();\r\n this.play();\r\n }\r\n }\r\n}"],"mappings":"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"}
1
+ {"version":3,"file":"mapPlayer.js","names":["MapPlayer","exports","_ref","_this","map","path","speed","playRate","pointSetting","lineSetting","enableRotation","mapMove","onChange","_classCallCheck","playFrame","config","width","height","markerContentX","markerContentY","lineWidth","color","uniqueID","concat","Date","valueOf","parseInt","Math","random","_pointId","_lineId","_currentIndex","_supplementPoints","_currentSupplementIndex","_timer","loadMapComplete","then","_redraw","_createClass","key","value","length","GM","isRepetition","removeGraphic","currentPoint","pointObj","_objectSpread","id","latitude","longitude","labelContent","name","deg","_getIconAngle","x","y","updatePoint","setCenter","addPoint","paths","i","push","lineObj","updateLine","addLine","_clearTimer","clearTimeout","start","end","diff_x","diff_y","ag","atan","PI","_generateSupplyPoints","p1","p2","currentLng","currentLat","nextLng","nextLat","runTime","calculateDistance","supplementNum","ceil","lng_spacing","lat_spacing","supplementPoints","play","_this2","setTimeout","spPoints","pause","onPlayPause","stop","destroy","setPlayRate","newPlayRate","newSpPoints","_toConsumableArray","slice","setCurrentIndex","pIndex","setPath","newPath","module"],"sources":["VtxMap/mapPlayer.js"],"sourcesContent":["/* \r\n地图实例:@map\r\n需要播放的点位数组:@path --- [{longitude,latitude,name,id}]\r\n\r\n播放速度:@speed --- Number\r\n播放倍率:@playRate,\r\n点位设置:@pointSetting,\r\n线设置:@lineSetting,\r\n是否开启图标自动旋转:@enableRotation,\r\n点位变化事件:@onChange\r\nsetSpeed\r\nsetCurrentIndex\r\nplay\r\npause\r\nstop\r\ndestroy\r\n*/\r\nexport default class MapPlayer{\r\n constructor({map,path,speed,playRate,pointSetting,lineSetting,enableRotation,mapMove,onChange}){\r\n this.map = map; //地图实例\r\n this.path = path||[]; //点位数组\r\n this.speed = speed||12;//点位移动速度,m/s\r\n this.playFrame = 24; //播放帧率\r\n this.playRate = playRate||1; //播放速率\r\n this.enableRotation = enableRotation||false; //是否开启图标自动旋转\r\n this.mapMove = mapMove||false; //地图是否跟随播放点位移动\r\n this.pointSetting = pointSetting||{\r\n config:{\r\n width:30,\r\n height:30, \r\n markerContentX:-15,\r\n markerContentY:-15, \r\n }\r\n }\r\n this.lineSetting = lineSetting||{lineWidth:3,color:'blue'}; //线的样式配置\r\n this.onChange = onChange;\r\n \r\n const uniqueID = `${new Date().valueOf()}_${parseInt(Math.random()*100000000)}`;\r\n this._pointId = `point_${uniqueID}`;\r\n this._lineId = `line_${uniqueID}`;\r\n this._currentIndex = 0; //当前播放的点位序号\r\n this._supplementPoints = [];//补点列表\r\n this._currentSupplementIndex = 0;//当前补点序号\r\n this._timer = null; //播放定时器\r\n this.map.loadMapComplete.then(()=>{\r\n this._redraw();\r\n })\r\n \r\n }\r\n // 根据当前数据重新渲染点和线的图形\r\n _redraw(){\r\n if(this.path.length==0 ){\r\n this.map.GM.isRepetition(this._pointId) && this.map.removeGraphic(this._pointId);\r\n this.map.GM.isRepetition(this._lineId) && this.map.removeGraphic(this._lineId);\r\n return;\r\n }\r\n if(this._currentIndex < this.path.length){\r\n // 画点\r\n let currentPoint;\r\n if(this._currentIndex==this.path.length-1 || this._supplementPoints.length==0){\r\n currentPoint = this.path[this._currentIndex];\r\n }\r\n else{\r\n currentPoint = this._supplementPoints[this._currentSupplementIndex];\r\n }\r\n let pointObj = {\r\n ...currentPoint,\r\n id: this._pointId,\r\n latitude:currentPoint.latitude,\r\n longitude:currentPoint.longitude,\r\n ...this.pointSetting,\r\n config:{\r\n ...(this.pointSetting.config||{}),\r\n labelContent:currentPoint.name||'',\r\n }\r\n }\r\n if(this.enableRotation){\r\n const deg = this._currentIndex+1<this.path.length?this._getIconAngle({\r\n x:this.path[this._currentIndex].longitude,\r\n y:this.path[this._currentIndex].latitude,\r\n },{\r\n x:this.path[this._currentIndex+1].longitude,\r\n y:this.path[this._currentIndex+1].latitude\r\n }):0;\r\n pointObj.config.deg = deg;\r\n }\r\n \r\n if(this.map.GM.isRepetition(this._pointId)){\r\n this.map.updatePoint([pointObj]);\r\n this.mapMove && this.map.setCenter([pointObj.longitude,pointObj.latitude]);\r\n }\r\n else{\r\n this.map.addPoint([pointObj],'defined');\r\n }\r\n // 画线\r\n let paths = [];\r\n for(let i=0; i<=this._currentIndex; i++){\r\n paths.push([this.path[i].longitude,this.path[i].latitude]);\r\n }\r\n \r\n if(this._supplementPoints.length>0){\r\n for(let i=0;i<=this._currentSupplementIndex;i++){\r\n paths.push([this._supplementPoints[i].longitude,this._supplementPoints[i].latitude])\r\n }\r\n }\r\n if(paths.length>1){\r\n const lineObj = {\r\n id:this._lineId,\r\n paths,\r\n config:this.lineSetting\r\n }\r\n if(this.map.GM.isRepetition(this._lineId)){\r\n this.map.updateLine([lineObj]);\r\n }\r\n else{\r\n this.map.addLine([lineObj],'defined');\r\n }\r\n }\r\n else{\r\n if(this.map.GM.isRepetition(this._lineId)){\r\n this.map.removeGraphic(this._lineId);\r\n } \r\n } \r\n }\r\n }\r\n _clearTimer(){\r\n if(this._timer){\r\n clearTimeout(this._timer);\r\n this._timer = null;\r\n }\r\n }\r\n // 计算图标转动角度(仅适用于当前车辆图标,仅适用于中国区域)\r\n _getIconAngle(start,end){\r\n const diff_x = end.x - start.x,\r\n diff_y = end.y - start.y;\r\n // 1,4象限夹脚计算\r\n const ag = 360*Math.atan(diff_y/diff_x)/(2*Math.PI);\r\n // 地图夹角偏转计算\r\n if(diff_x==0){\r\n if(diff_y>0){\r\n return -90;\r\n }\r\n else if(diff_y<0){\r\n return 90;\r\n }\r\n else{\r\n return 0;\r\n }\r\n }\r\n // 坐标系1,4象限\r\n else if(diff_x>0){\r\n return -ag;\r\n }\r\n // 坐标系2,3象限\r\n else{\r\n return 180 - ag;\r\n }\r\n }\r\n // 根据两点生成补点列表\r\n _generateSupplyPoints(p1,p2){\r\n const {longitude:currentLng, latitude:currentLat} = p1;\r\n const {longitude:nextLng, latitude:nextLat} = p2;\r\n const runTime = this.map.calculateDistance([\r\n [currentLng,currentLat],\r\n [nextLng,nextLat]\r\n ])/(this.speed*this.playRate);\r\n //不需要补点 \r\n if(runTime<=1/this.playFrame){\r\n return [];\r\n }\r\n // 需要补点\r\n else{\r\n const supplementNum = Math.ceil(runTime/(1/this.playFrame))-1;\r\n const lng_spacing = (nextLng - currentLng)/(supplementNum+1);\r\n const lat_spacing = (nextLat - currentLat)/(supplementNum+1);\r\n let supplementPoints = [];\r\n for(let i=1;i<=supplementNum;i++){\r\n supplementPoints.push({\r\n ...this.path[this._currentIndex],\r\n longitude:currentLng+lng_spacing*i,\r\n latitude:currentLat+lat_spacing*i,\r\n });\r\n }\r\n return supplementPoints;\r\n }\r\n }\r\n // 开始播放\r\n play(){\r\n this._clearTimer();\r\n if(this.path.length==0 || this._currentIndex==this.path.length-1){\r\n return;\r\n };\r\n // 当前处于补点播放\r\n if(this._supplementPoints.length>0){\r\n this._timer = setTimeout(()=>{\r\n if(this._currentSupplementIndex<this._supplementPoints.length-1){\r\n this._currentSupplementIndex = this._currentSupplementIndex+1;\r\n }\r\n else{\r\n this._currentSupplementIndex = 0;\r\n this._supplementPoints = [];\r\n this._currentIndex = this._currentIndex+1;\r\n typeof this.onChange=='function' && this.onChange(this.path[this._currentIndex],this._currentIndex);\r\n }\r\n this._redraw();\r\n this.play();\r\n },1000/this.playFrame);\r\n }\r\n // 当前处于非补点播放\r\n else{\r\n const spPoints = this._generateSupplyPoints(this.path[this._currentIndex],this.path[this._currentIndex+1]);\r\n //不需要补点 \r\n if(spPoints.length==0){\r\n this._timer = setTimeout(()=>{\r\n this._currentIndex = this._currentIndex+1;\r\n typeof this.onChange=='function' && this.onChange(this.path[this._currentIndex],this._currentIndex);\r\n this._redraw();\r\n this.play();\r\n },1000/this.playFrame);\r\n }\r\n // 需要补点\r\n else{\r\n this._timer = setTimeout(()=>{\r\n this._currentSupplementIndex = 0;\r\n this._supplementPoints = spPoints;\r\n this._redraw();\r\n this.play();\r\n },1000/this.playFrame);\r\n }\r\n } \r\n }\r\n // 暂停播放\r\n pause(onPlayPause){\r\n this._clearTimer();\r\n typeof onPlayPause == \"function\" && onPlayPause(this.path[this._currentIndex],this._currentIndex);\r\n }\r\n // 停止播放(回到初始点位)\r\n stop(){\r\n this._clearTimer();\r\n this._currentIndex = 0;\r\n this._supplementPoints = [];\r\n this._currentSupplementIndex = 0;\r\n this._redraw();\r\n // typeof this.onChange == \"function\" && this.onChange(this.path[0],0);\r\n }\r\n // 销毁(删除所有添加的图层)\r\n destroy(){\r\n this._clearTimer();\r\n this.map.removeGraphic(this._pointId);\r\n this.map.removeGraphic(this._lineId);\r\n this._currentIndex = 0;\r\n this._supplementPoints = [];\r\n this._currentSupplementIndex = 0;\r\n }\r\n // 设置速度\r\n setPlayRate(newPlayRate){\r\n this.playRate = newPlayRate;\r\n //如果当前处于补点状态,重新生成新的补点\r\n if(this._supplementPoints.length>0){\r\n const newSpPoints = this._generateSupplyPoints(this._supplementPoints[this._currentSupplementIndex],this.path[this._currentIndex+1]);\r\n this._supplementPoints = [...this._supplementPoints.slice(0,this._currentSupplementIndex+1),...newSpPoints];\r\n }\r\n }\r\n // 设置当前播放点位的位置\r\n setCurrentIndex(pIndex){\r\n if(pIndex >= this.path.length)return;\r\n \r\n this._currentIndex = pIndex;\r\n this._supplementPoints = [];\r\n this._currentSupplementIndex = 0;\r\n // typeof this.onChange == \"function\" && this.onChange(this.path[pIndex],pIndex);\r\n this._redraw();\r\n if(this._timer){\r\n this._clearTimer();\r\n this.play();\r\n }\r\n }\r\n // 重新设置播放路线\r\n setPath(newPath){\r\n this.path = newPath;\r\n this._currentIndex = 0;\r\n this._supplementPoints = [];\r\n this._currentSupplementIndex = 0;\r\n this._redraw();\r\n if(this._timer){\r\n this._clearTimer();\r\n this.play();\r\n }\r\n }\r\n}"],"mappings":"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","ignoreList":[]}