@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.
- package/lib/VtxMap/AMap/AMap.js +658 -1035
- package/lib/VtxMap/AMap/AMap.js.map +1 -1
- package/lib/VtxMap/BMap/Map.js +781 -1227
- package/lib/VtxMap/BMap/Map.js.map +1 -1
- package/lib/VtxMap/GMap/Map.js +1063 -1583
- package/lib/VtxMap/GMap/Map.js.map +1 -1
- package/lib/VtxMap/Map.js +23 -59
- package/lib/VtxMap/Map.js.map +1 -1
- package/lib/VtxMap/MapToolFunction.js +30 -67
- package/lib/VtxMap/MapToolFunction.js.map +1 -1
- package/lib/VtxMap/OMap/Map.js +888 -1384
- package/lib/VtxMap/OMap/Map.js.map +1 -1
- package/lib/VtxMap/OlMap/Map.js +789 -1329
- package/lib/VtxMap/OlMap/Map.js.map +1 -1
- package/lib/VtxMap/TMap/TMap.js +680 -1097
- package/lib/VtxMap/TMap/TMap.js.map +1 -1
- package/lib/VtxMap/index.js +2 -9
- package/lib/VtxMap/index.js.map +1 -1
- package/lib/VtxMap/mapPlayer.js +74 -131
- package/lib/VtxMap/mapPlayer.js.map +1 -1
- package/lib/VtxMap/optimizingPointMap.js +42 -101
- package/lib/VtxMap/optimizingPointMap.js.map +1 -1
- package/lib/VtxMap/style/css.js +0 -6
- package/lib/VtxMap/style/css.js.map +1 -1
- package/lib/VtxMap/style/index.js +0 -6
- package/lib/VtxMap/style/index.js.map +1 -1
- package/lib/VtxMap/zoomMap.js +25 -56
- package/lib/VtxMap/zoomMap.js.map +1 -1
- package/lib/VtxModal/VtxModal.js +34 -80
- package/lib/VtxModal/VtxModal.js.map +1 -1
- package/lib/VtxModal/draggableModal.js +30 -68
- package/lib/VtxModal/draggableModal.js.map +1 -1
- package/lib/VtxModal/index.js +2 -7
- package/lib/VtxModal/index.js.map +1 -1
- package/lib/VtxModal/style/css.js +0 -6
- package/lib/VtxModal/style/css.js.map +1 -1
- package/lib/VtxModal/style/index.js +0 -6
- package/lib/VtxModal/style/index.js.map +1 -1
- package/lib/VtxSearchCheckMap/VtxSearchCheckMap.js +123 -259
- package/lib/VtxSearchCheckMap/VtxSearchCheckMap.js.map +1 -1
- package/lib/VtxSearchCheckMap/index.js +1 -3
- package/lib/VtxSearchCheckMap/index.js.map +1 -1
- package/lib/VtxSearchCheckMap/mapping.js +1 -2
- package/lib/VtxSearchCheckMap/mapping.js.map +1 -1
- package/lib/VtxSearchCheckMap/style/css.js +0 -19
- package/lib/VtxSearchCheckMap/style/css.js.map +1 -1
- package/lib/VtxSearchCheckMap/style/index.js +0 -19
- package/lib/VtxSearchCheckMap/style/index.js.map +1 -1
- package/lib/VtxSearchMap/VtxSearchMap.js +140 -319
- package/lib/VtxSearchMap/VtxSearchMap.js.map +1 -1
- package/lib/VtxSearchMap/index.js +1 -3
- package/lib/VtxSearchMap/index.js.map +1 -1
- package/lib/VtxSearchMap/mapping.js +1 -2
- package/lib/VtxSearchMap/mapping.js.map +1 -1
- package/lib/VtxSearchMap/style/css.js +0 -19
- package/lib/VtxSearchMap/style/css.js.map +1 -1
- package/lib/VtxSearchMap/style/index.js +0 -19
- package/lib/VtxSearchMap/style/index.js.map +1 -1
- package/lib/default.js +4 -13
- package/lib/default.js.map +1 -1
- package/lib/index.js +0 -3
- package/lib/index.js.map +1 -1
- package/lib/utils/util.js +15 -40
- package/lib/utils/util.js.map +1 -1
- package/package.json +1 -1
package/lib/VtxMap/index.js
CHANGED
|
@@ -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
|
package/lib/VtxMap/index.js.map
CHANGED
|
@@ -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":"
|
|
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":[]}
|
package/lib/VtxMap/mapPlayer.js
CHANGED
|
@@ -4,31 +4,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
|
-
function _toConsumableArray(
|
|
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
|
|
13
|
-
|
|
14
|
-
function
|
|
15
|
-
|
|
16
|
-
function
|
|
17
|
-
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
function
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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
|
-
|
|
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
|
-
}
|
|
178
|
+
}
|
|
179
|
+
// 坐标系1,4象限
|
|
215
180
|
else if (diff_x > 0) {
|
|
216
181
|
return -ag;
|
|
217
|
-
}
|
|
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
|
-
|
|
193
|
+
currentLat = p1.latitude;
|
|
228
194
|
var nextLng = p2.longitude,
|
|
229
|
-
|
|
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
|
-
|
|
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;
|
|
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":[]}
|