@vtx/ol-map 1.0.102 → 1.0.103
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/assets/warn_R.png +0 -0
- package/lib/assets/warn_Y.png +0 -0
- package/lib/feature-layer/FeatureLayer.js +119 -38
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/feature-layer/MyCluster.js +5 -0
- package/lib/feature-layer/MyCluster.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js +1 -1
- package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js +1 -1
- package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js.map +1 -1
- package/lib/map/style/index.css +17 -0
- package/lib/map/style/index.less +17 -0
- package/lib/path-play-back/PathPlayBack.js +18 -9
- package/lib/path-play-back/PathPlayBack.js.map +1 -1
- package/package.json +1 -1
- package/lib/assets/people.gif +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -14,7 +14,7 @@ var _createFeatureCollection = require("./createFeatureCollection");
|
|
|
14
14
|
var _isObject = _interopRequireDefault(require("../_util/isObject"));
|
|
15
15
|
var _encryptParams = _interopRequireDefault(require("../_util/encryptParams"));
|
|
16
16
|
var _MyCluster = _interopRequireDefault(require("./MyCluster"));
|
|
17
|
-
var _excluded = ["url", "params", "data", "dataField", "features", "sourceOptions", "key", "name", "label", "labelField", "point", "cluster", "template", "autoRefresh", "method", "layerControl", "show", "style", "group", "iconOptions", "afterGetData", "legend", "viewOnly", "encrypt", "valueField", "map", "tipTemplate"],
|
|
17
|
+
var _excluded = ["url", "params", "data", "dataField", "features", "sourceOptions", "key", "name", "label", "labelField", "point", "cluster", "template", "autoRefresh", "method", "layerControl", "show", "style", "group", "iconOptions", "afterGetData", "legend", "viewOnly", "encrypt", "valueField", "map", "tipTemplate", "alarmBg"],
|
|
18
18
|
_excluded2 = ["color", "background", "backgroundStroke", "backgroundStrokeWidth"],
|
|
19
19
|
_excluded3 = ["numberStyle", "iconOptions"];
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
@@ -50,6 +50,27 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
|
|
|
50
50
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
51
51
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
52
52
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
53
|
+
var addOverlay = function addOverlay(feature, map, alarmBg) {
|
|
54
|
+
var image = alarmBg.image,
|
|
55
|
+
filter = alarmBg.filter,
|
|
56
|
+
field = alarmBg.field,
|
|
57
|
+
style = alarmBg.style;
|
|
58
|
+
var status = feature.get('status');
|
|
59
|
+
if (!status && !['2', '4'].includes(status)) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
var dom = document.createElement('div');
|
|
63
|
+
dom.className = "ol-map-icon-alarm-".concat(status);
|
|
64
|
+
var overlay = new _ol.Overlay({
|
|
65
|
+
element: dom,
|
|
66
|
+
positioning: 'bottom-center',
|
|
67
|
+
stopEvent: true,
|
|
68
|
+
className: 'ol-overlay_container-stop_event'
|
|
69
|
+
});
|
|
70
|
+
map.addOverlay(overlay);
|
|
71
|
+
overlay.setPosition(feature.getGeometry().getCoordinates());
|
|
72
|
+
return overlay;
|
|
73
|
+
};
|
|
53
74
|
var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
54
75
|
_inherits(FeatureLayer, _Vector);
|
|
55
76
|
var _super = _createSuper(FeatureLayer);
|
|
@@ -83,6 +104,7 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
83
104
|
valueField = _options.valueField,
|
|
84
105
|
map = _options.map,
|
|
85
106
|
tipTemplate = _options.tipTemplate,
|
|
107
|
+
alarmBg = _options.alarmBg,
|
|
86
108
|
other = _objectWithoutProperties(_options, _excluded);
|
|
87
109
|
var props = _objectSpread({}, other);
|
|
88
110
|
props.source = props.source || new _source.Vector(_objectSpread({
|
|
@@ -254,6 +276,9 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
254
276
|
// 气泡模板
|
|
255
277
|
_this2.tipTemplate = tipTemplate;
|
|
256
278
|
|
|
279
|
+
// 报警背景
|
|
280
|
+
_this2.alarmBg = alarmBg;
|
|
281
|
+
|
|
257
282
|
// 临时数据
|
|
258
283
|
_this2._features = [];
|
|
259
284
|
|
|
@@ -314,15 +339,6 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
314
339
|
this.show = value;
|
|
315
340
|
this.setVisible(value);
|
|
316
341
|
}
|
|
317
|
-
}, {
|
|
318
|
-
key: "destroy",
|
|
319
|
-
value: function destroy() {
|
|
320
|
-
var map = this.map;
|
|
321
|
-
if (this.moveEnd) {
|
|
322
|
-
map.un("moveend", this.moveEnd);
|
|
323
|
-
this.moveEnd = null;
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
342
|
}, {
|
|
327
343
|
key: "setClusterMode",
|
|
328
344
|
value: function setClusterMode(val) {
|
|
@@ -330,23 +346,25 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
330
346
|
this._options.cluster = val;
|
|
331
347
|
this.setClusterSource(val);
|
|
332
348
|
this.setStyle(this.getStyleByMode());
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
_this3.
|
|
345
|
-
|
|
346
|
-
|
|
349
|
+
if (this.map) {
|
|
350
|
+
var map = this.map;
|
|
351
|
+
this.destroy();
|
|
352
|
+
|
|
353
|
+
// 监听地图缩放大于阈值时取消聚合
|
|
354
|
+
var oldZoom = map.getView().getZoom();
|
|
355
|
+
this.moveEnd = map.on("moveend", function () {
|
|
356
|
+
var zoom = map.getView().getZoom(); //获取当前地图的缩放级别
|
|
357
|
+
if (oldZoom !== zoom) {
|
|
358
|
+
var _this3$_options$clust;
|
|
359
|
+
oldZoom = zoom;
|
|
360
|
+
if (zoom >= (((_this3$_options$clust = _this3._options.cluster) === null || _this3$_options$clust === void 0 ? void 0 : _this3$_options$clust.zoomThreshold) || 14)) {
|
|
361
|
+
_this3.setClusterSource();
|
|
362
|
+
} else {
|
|
363
|
+
_this3.setClusterSource(val);
|
|
364
|
+
}
|
|
347
365
|
}
|
|
348
|
-
}
|
|
349
|
-
}
|
|
366
|
+
});
|
|
367
|
+
}
|
|
350
368
|
}
|
|
351
369
|
}, {
|
|
352
370
|
key: "getStyleByMode",
|
|
@@ -596,6 +614,9 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
596
614
|
minDistance: minDistance || 50,
|
|
597
615
|
source: source,
|
|
598
616
|
group: group,
|
|
617
|
+
clusterChange: function clusterChange(features) {
|
|
618
|
+
_this6.setAlarmBgByFeatures(features);
|
|
619
|
+
},
|
|
599
620
|
createCluster: function createCluster(point, features) {
|
|
600
621
|
var _group;
|
|
601
622
|
var feature = new _ol.Feature({
|
|
@@ -654,10 +675,48 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
654
675
|
this.setSource(source);
|
|
655
676
|
}
|
|
656
677
|
}
|
|
678
|
+
|
|
679
|
+
// 清除报警背景
|
|
680
|
+
}, {
|
|
681
|
+
key: "clearAlarmBg",
|
|
682
|
+
value: function clearAlarmBg() {
|
|
683
|
+
var _this$overlays,
|
|
684
|
+
_this7 = this;
|
|
685
|
+
if (this.map && (_this$overlays = this.overlays) !== null && _this$overlays !== void 0 && _this$overlays.length) {
|
|
686
|
+
this.overlays.map(function (overlay) {
|
|
687
|
+
return _this7.map.removeOverlay(overlay);
|
|
688
|
+
});
|
|
689
|
+
this.overlays = null;
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
// 设置报警背景
|
|
694
|
+
}, {
|
|
695
|
+
key: "setAlarmBgByFeatures",
|
|
696
|
+
value: function setAlarmBgByFeatures(features) {
|
|
697
|
+
var _this8 = this;
|
|
698
|
+
this.clearAlarmBg();
|
|
699
|
+
this.overlays = [];
|
|
700
|
+
if (this.map && this.alarmBg && features !== null && features !== void 0 && features.length) {
|
|
701
|
+
features.map(function (feature) {
|
|
702
|
+
var _feature = feature;
|
|
703
|
+
var cluster = feature.get('features');
|
|
704
|
+
if (cluster) {
|
|
705
|
+
_feature = cluster.length < 2 ? cluster[0] : null;
|
|
706
|
+
}
|
|
707
|
+
if (_feature && (_feature.hasOwnProperty('show') ? _feature.show : true)) {
|
|
708
|
+
var overlay = addOverlay(_feature, _this8.map, _this8.alarmBg);
|
|
709
|
+
if (overlay) {
|
|
710
|
+
_this8.overlays.push(overlay);
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
});
|
|
714
|
+
}
|
|
715
|
+
}
|
|
657
716
|
}, {
|
|
658
717
|
key: "refresh",
|
|
659
718
|
value: function refresh() {
|
|
660
|
-
var
|
|
719
|
+
var _this9 = this;
|
|
661
720
|
(0, _createFeatureCollection.getDataByHttpByParams)({
|
|
662
721
|
url: this.url,
|
|
663
722
|
params: this.params,
|
|
@@ -667,10 +726,10 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
667
726
|
}).then(function (features) {
|
|
668
727
|
if (features) {
|
|
669
728
|
var new_features = features;
|
|
670
|
-
|
|
729
|
+
_this9._features = new_features;
|
|
671
730
|
var newFeatures = [];
|
|
672
731
|
new_features.map(function (v) {
|
|
673
|
-
var f =
|
|
732
|
+
var f = _this9.getFeatureByFieldValue('id', v.values_.id);
|
|
674
733
|
if (f) {
|
|
675
734
|
f.values_ = v.values_;
|
|
676
735
|
} else {
|
|
@@ -678,9 +737,10 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
678
737
|
}
|
|
679
738
|
});
|
|
680
739
|
if (newFeatures.length) {
|
|
681
|
-
|
|
740
|
+
_this9.getSource().addFeatures(newFeatures);
|
|
741
|
+
_this9.setAlarmBgByFeatures(_this9.getSource().getFeatures());
|
|
682
742
|
}
|
|
683
|
-
|
|
743
|
+
_this9.getSource().changed();
|
|
684
744
|
}
|
|
685
745
|
});
|
|
686
746
|
}
|
|
@@ -690,6 +750,7 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
690
750
|
this.getSource().clear();
|
|
691
751
|
var features = (0, _createFeatureCollection.createGeoJson)(data);
|
|
692
752
|
this.getSource().addFeatures(features);
|
|
753
|
+
this.setAlarmBgByFeatures(this.getSource().getFeatures());
|
|
693
754
|
this._features = features;
|
|
694
755
|
if (this._options.cluster) {
|
|
695
756
|
this.setClusterMode(this._options.cluster);
|
|
@@ -698,7 +759,7 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
698
759
|
}, {
|
|
699
760
|
key: "loadUrlData",
|
|
700
761
|
value: function loadUrlData(url, params, method) {
|
|
701
|
-
var
|
|
762
|
+
var _this10 = this;
|
|
702
763
|
var afterGetData = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.afterGetData;
|
|
703
764
|
this.getSource().clear();
|
|
704
765
|
this._features = [];
|
|
@@ -712,12 +773,15 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
712
773
|
afterGetData: afterGetData,
|
|
713
774
|
field: this.dataField
|
|
714
775
|
}).then(function (features) {
|
|
776
|
+
_this10.getSource().clear();
|
|
777
|
+
_this10._features = [];
|
|
715
778
|
if (features !== null && features !== void 0 && features.length) {
|
|
716
|
-
|
|
717
|
-
|
|
779
|
+
_this10._features = features;
|
|
780
|
+
_this10.getSource().addFeatures(features);
|
|
781
|
+
_this10.setAlarmBgByFeatures(_this10.getSource().getFeatures());
|
|
718
782
|
}
|
|
719
|
-
if (
|
|
720
|
-
|
|
783
|
+
if (_this10._options.cluster) {
|
|
784
|
+
_this10.setClusterMode(_this10._options.cluster);
|
|
721
785
|
}
|
|
722
786
|
});
|
|
723
787
|
}
|
|
@@ -726,6 +790,7 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
726
790
|
value: function loadFeatures(features) {
|
|
727
791
|
this.getSource().clear();
|
|
728
792
|
this.getSource().addFeatures(features);
|
|
793
|
+
this.setAlarmBgByFeatures(this.getSource().getFeatures());
|
|
729
794
|
this._features = features;
|
|
730
795
|
if (this._options.cluster) {
|
|
731
796
|
this.setClusterMode(this._options.cluster);
|
|
@@ -747,7 +812,7 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
747
812
|
}, {
|
|
748
813
|
key: "getFeaturesByFieldValueOpera",
|
|
749
814
|
value: function getFeaturesByFieldValueOpera(_ref3) {
|
|
750
|
-
var
|
|
815
|
+
var _this11 = this;
|
|
751
816
|
var field = _ref3.field,
|
|
752
817
|
value = _ref3.value,
|
|
753
818
|
_ref3$operation = _ref3.operation,
|
|
@@ -755,7 +820,7 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
755
820
|
features = _ref3.features,
|
|
756
821
|
filter = _ref3.filter;
|
|
757
822
|
return new Promise(function (resolve, reject) {
|
|
758
|
-
var _features = features ||
|
|
823
|
+
var _features = features || _this11.getFeatures();
|
|
759
824
|
if (filter) {
|
|
760
825
|
_features = _features.filter(function (feature) {
|
|
761
826
|
return filter(feature.values_);
|
|
@@ -828,6 +893,7 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
828
893
|
} else {
|
|
829
894
|
this.setStyle(this.getStyleByMode());
|
|
830
895
|
}
|
|
896
|
+
this.setAlarmBgByFeatures(this._features);
|
|
831
897
|
}
|
|
832
898
|
}
|
|
833
899
|
|
|
@@ -862,6 +928,21 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
862
928
|
if (!this.inited) {
|
|
863
929
|
this.init();
|
|
864
930
|
}
|
|
931
|
+
if (!visible) {
|
|
932
|
+
this.clearAlarmBg();
|
|
933
|
+
} else {
|
|
934
|
+
this.setAlarmBgByFeatures(this.getSource().getFeatures());
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
}, {
|
|
938
|
+
key: "destroy",
|
|
939
|
+
value: function destroy() {
|
|
940
|
+
var map = this.map;
|
|
941
|
+
if (map && this.moveEnd) {
|
|
942
|
+
map.un("moveend", this.moveEnd);
|
|
943
|
+
this.moveEnd = null;
|
|
944
|
+
}
|
|
945
|
+
this.clearAlarmBg();
|
|
865
946
|
}
|
|
866
947
|
}]);
|
|
867
948
|
return FeatureLayer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureLayer.js","names":["_layer","require","_ol","_source","_renderer","_interopRequireDefault","_style5","_isFunction","_createFeatureCollection","_isObject","_encryptParams","_MyCluster","_excluded","_excluded2","_excluded3","obj","__esModule","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_typeof","constructor","prototype","_slicedToArray","i","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","Object","toString","call","slice","name","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","configurable","writable","_toPropertyKey","_createClass","protoProps","staticProps","_get","Reflect","get","bind","property","receiver","base","_superPropBase","desc","_inherits","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","set","_set","isStrict","s","hasOwnProperty","getPrototypeOf","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","FeatureLayer","_Vector","_super","options","_thisSuper","_this2","url","params","data","dataField","features","sourceOptions","label","labelField","point","cluster","template","autoRefresh","method","layerControl","show","style","group","iconOptions","afterGetData","legend","viewOnly","encrypt","valueField","map","tipTemplate","other","VectorSource","defaultShow","f","replaceAll","_f$filter$split","split","_f$filter$split2","a","c","Function","concat","size","_ref","color","background","backgroundStroke","backgroundStrokeWidth","otherVal","text","font","fill","Fill","padding","justify","textAlign","textBaseline","offsetY","offsetX","backgroundFill","Stroke","width","Text","feature","_options","isCluster","_feature$get","values_","distance","inited","_features","init","loadUrlData","loadData","setVisible","val","setStyle","getStyleByMode","setClusterMode","setShow","destroy","moveEnd","un","_this3","setClusterSource","oldZoom","getView","getZoom","on","zoom","_this3$_options$clust","zoomThreshold","_this4","resolution","_this4$group","_this4$_options","otherStyle","v","_v$filter","styles","isFunction","_styles","renderer","Marker","getMarkerOptions","Style","_style","type","getSimpleStyle","Simple","isObject","_style3","mode","render","_feature$get2","getMultipleStyle","UniqueValue","_feature$get3","ClassBreaks","image","Circle","radius","stroke","_render","_render$style","_render$style2","icon","_render$render","_this5","_feature$get4","_this$_options","isFun","_data","_data$style","_data2","_data3","_data3$style","_data4","_data5","_data5$style","_data6","P","marker","marker_cluster","hideFooter","info","fontSize","commonStyle","point_cluster","_Object$keys","includes","_data7","customText","getLabelStyle","getClusterTextStyle","_this$_features","_this6","_this","_ref2","minDistance","clusterSource","Cluster","createCluster","_group","Feature","geometry","layerKey","_group2","_v$filter2","markerStyle","_style4","_markerStyle2","clusterStyle","_markerStyle","numberStyle","setProperties","setSource","refresh","_this7","getDataByHttpByParams","field","then","new_features","newFeatures","getFeatureByFieldValue","id","getSource","addFeatures","changed","clear","createGeoJson","_this8","encryptParams","loadFeatures","getFeatures","find","getFeaturesByFieldValueOpera","_ref3","_this9","_ref3$operation","operation","Promise","resolve","reject","fun","_v$values_$field","_v$values_$field2","_v$values_$field3","getMap","setGroup","_this$_features2","_v$filter3","setVisibleByGroup","visible","layers","onChange","Vector","_default","exports"],"sources":["feature-layer/FeatureLayer.js"],"sourcesContent":["import { Vector } from 'ol/layer';\nimport { Feature } from 'ol';\nimport { Vector as VectorSource } from 'ol/source';\nimport renderer from '../renderer';\nimport { Fill, Style, Text, Stroke, Circle } from 'ol/style';\nimport isFunction from '../_util/isFunction';\nimport { getDataByHttpByParams, createGeoJson } from './createFeatureCollection';\nimport isObject from '../_util/isObject';\nimport encryptParams from \"../_util/encryptParams\";\nimport Cluster from \"./MyCluster\";\n\nclass FeatureLayer extends Vector {\n constructor(options) {\n const {\n url,\n params,\n data,\n dataField,\n features,\n sourceOptions,\n key,\n name,\n label,\n labelField,\n point,\n cluster,\n template,\n autoRefresh,\n method,\n layerControl,\n show,\n style,\n group,\n iconOptions,\n afterGetData,\n legend,\n viewOnly,\n encrypt,\n valueField,\n map,\n tipTemplate,\n ...other\n } = options;\n\n const props = {\n ...other,\n };\n props.source =\n props.source ||\n new VectorSource({\n features,\n ...sourceOptions,\n });\n\n let defaultShow = show;\n if (group?.length) {\n defaultShow = false;\n\n if (show) {\n group.map(f => {\n if (f.show) {\n defaultShow = true;\n }\n\n // 将字符函数转化为可执行的函数\n if (f.filter && typeof f.filter === 'string' && f.filter.indexOf('=>') !== -1) {\n f.filter = f.filter.replaceAll(' ', '');\n const [a, c] = f.filter.split('=>');\n f.filter = new Function(a, `return ${c}`);\n }\n });\n }\n }\n\n super(props);\n super.show = show;\n // 参数\n this._options = options;\n\n // 地图\n this.map = map;\n\n // 接口地址\n this.url = url;\n\n // 接口地址请求类型\n this.method = method;\n\n // 接口查询参数\n this.params = params;\n\n // 图层标识\n this.key = key;\n\n // 图层名称\n this.name = name;\n\n // 标签\n this.label = label;\n\n // 标签字段\n this.labelField = labelField;\n\n // 聚合\n this.cluster = cluster;\n\n // 聚合距离\n this.distance = cluster?.distance || 80;\n\n // 海量点\n this.point = point;\n\n // 自动刷新标识\n this.autoRefresh = autoRefresh;\n\n // 模版内容\n this.template = template;\n\n // 图层控制\n this.layerControl = layerControl;\n\n // 过滤\n this.group = group;\n\n // 处理获取的数据\n this.afterGetData = afterGetData;\n\n // 数据查询字段\n this.valueField = valueField;\n\n // 图例\n this.legend = legend;\n\n // 样式\n this.style = style;\n\n // 数据\n this.data = data;\n\n // 数据取值字段\n this.dataField = dataField || 'geometryInfo';\n\n // 仅展示\n this.viewOnly = viewOnly;\n\n // 是否初始化\n this.inited = false;\n\n // 加密\n this.encrypt = encrypt;\n\n // 气泡模板\n this.tipTemplate = tipTemplate;\n\n // 临时数据\n this._features = [];\n\n // 默认是否展示\n if (defaultShow) {\n this.init()\n }\n }\n\n // 初始化数据\n init() {\n // 是否存在地址\n if (this.url) {\n // 执行\n this.loadUrlData(this.url, this.params, this.method);\n }\n\n // 直接加载数据\n if (this.data) {\n // 执行\n this.loadData(this.data);\n }\n\n this.inited = true;\n }\n\n // 重写父类的属性访问器\n get show() {\n return super.show;\n }\n\n set show(value) {\n this.setVisible(value);\n }\n\n set label(val) {\n this._options.label = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set point(val) {\n this._options.point = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set cluster(val) {\n this.setClusterMode(val);\n }\n\n setShow(value) {\n this.show = value;\n this.setVisible(value);\n }\n\n destroy() {\n const map = this.map;\n if (this.moveEnd) {\n map.un(\"moveend\", this.moveEnd);\n this.moveEnd = null;\n }\n }\n\n setClusterMode(val) {\n this._options.cluster = val;\n this.setClusterSource(val);\n this.setStyle(this.getStyleByMode());\n\n const map = this.map;\n this.destroy();\n\n // 监听地图缩放大于阈值时取消聚合\n let oldZoom = map.getView().getZoom();\n this.moveEnd = map.on(\"moveend\", () => {\n const zoom = map.getView().getZoom(); //获取当前地图的缩放级别\n if (oldZoom !== zoom) {\n oldZoom = zoom;\n if (zoom >= (this._options.cluster?.zoomThreshold || 14)) {\n this.setClusterSource();\n } else {\n this.setClusterSource(val);\n }\n }\n });\n }\n\n getClusterTextStyle = (size, options) => {\n const {color, background, backgroundStroke, backgroundStrokeWidth, ...otherVal} = (options && typeof options === 'object') ? options : {};\n const style = {\n text: String(size),\n font: '18px Calibri,sans-serif',\n fill: new Fill({\n color: color || '#fff',\n }),\n padding: [0, 0, 0, 0],\n justify: 'center',\n textAlign: 'center',\n textBaseline: 'middle',\n offsetY: -22,\n offsetX: 16,\n ...otherVal\n }\n\n if (background) {\n style.backgroundFill = new Fill({\n color: background,\n })\n }\n\n if (backgroundStroke) {\n style.backgroundStroke = new Stroke({\n color: '#FFFFFF',\n width: backgroundStrokeWidth ||2,\n })\n }\n return new Text(style);\n };\n\n getLabelStyle = (feature, color) => {\n let { labelField } = this._options;\n\n // 判断是否是聚合点位\n if (feature.isCluster) {\n const size = feature.get('features')?.length || 0;\n if (size !== 1) {\n return;\n }\n }\n if (labelField) {\n return new Text({\n text: feature.values_[labelField] || '-',\n font: '12px Calibri,sans-serif',\n fill: new Fill({\n color,\n }),\n backgroundFill: new Fill({\n color: '#fff',\n }),\n backgroundStroke: new Stroke({\n color,\n width: 1,\n }),\n padding: [4, 2, 2, 4],\n justify: 'center',\n textBaseline: 'middle',\n offsetY: 12,\n });\n }\n }\n\n getStyleByMode() {\n return (feature, resolution) => {\n let { style, cluster, otherStyle } = this._options;\n let show = true;\n\n this.group?.map(v => {\n if (v?.filter?.(feature.values_)) {\n style = v.style || style;\n if (v.hasOwnProperty('show') && !v.show) {\n show = false;\n }\n }\n });\n feature.show = show;\n\n if (!show) {\n return null;\n }\n\n const styles = [];\n\n if (otherStyle) {\n if (isFunction(otherStyle)) {\n const _styles = otherStyle(feature, resolution);\n if (_styles) {\n if (Array.isArray(styles)) {\n styles.push(..._styles)\n } else {\n styles.push(_styles)\n }\n }\n }\n }\n\n if (style) {\n if (typeof style === 'string' || (isFunction(style) && cluster)) {\n styles.push(new renderer.Marker({ ...this.getMarkerOptions(feature, style) }));\n return styles;\n } else if (style instanceof Style) {\n // 判断是否为 ol Style\n styles.push(style);\n return styles;\n } else if (isFunction(style)) {\n // 判断是否为自定义函数渲染\n\n let _style = style(feature);\n if (_style?.type && _style?.style) {\n const options = this.getSimpleStyle(feature, _style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n styles.push(_style);\n return styles;\n } else if (isObject(style)) {\n let { mode } = style;\n if (mode) {\n if (mode === 'Simple') {\n const options = this.getSimpleStyle(feature, style.render);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n if (mode === 'UniqueValue') {\n const size = feature.get('features')?.length || 0;\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.UniqueValue(feature, options));\n return styles;\n }\n\n if (mode === 'ClassBreaks') {\n const size = feature.get('features')?.length || 0;\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.ClassBreaks(feature, options));\n return styles;\n }\n } else if (style.style) {\n const options = this.getSimpleStyle(feature, style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n }\n }\n styles.push(new Style({\n image: new Circle({\n radius: 4,\n fill: new Fill({\n color: 'rgba(0,155,255, 0.8)',\n }),\n }),\n fill: new Fill({\n color: 'rgba(255, 255, 255, 0.6)',\n }),\n stroke: new Stroke({\n color: '#009BFF',\n width: 2,\n }),\n }));\n return styles;\n };\n }\n\n getSimpleStyle(feature, _render) {\n let { cluster } = this._options;\n const render = { ..._render };\n if (render.type === 'Marker' && (render?.style?.icon || (cluster && render?.style?.image))) {\n render.style = {\n ...render.style,\n ...this.getMarkerOptions(feature, render.style),\n };\n }\n\n return render;\n }\n\n getMultipleStyle(feature, _render) {\n const render = { ..._render };\n\n if (render?.render?.length) {\n render.render = render.render.map(v => this.getSimpleStyle(feature, v));\n }\n\n return render;\n }\n\n getMarkerOptions(feature, style) {\n let icon = style?.icon || style;\n let image = style?.image;\n let color = style?.color || '#2491fc';\n let { cluster, point, label } = this._options;\n\n // 判断是否为自定义函数渲染\n let isFun = isFunction(style);\n let data = {};\n if (isFun) {\n data = style(feature) || {};\n icon = data?.style?.icon || data?.icon || icon;\n color = data?.style?.color || data?.color || color;\n image = data?.style?.image || data?.image || image\n }\n\n const size = feature.get('features')?.length || 0;\n\n let P = {\n marker: {\n // 图标\n icon,\n },\n point: {\n // 点位\n icon,\n type: 'PointIcon',\n },\n marker_cluster: {\n // 聚合图标\n icon,\n color: size > 1 ? '' : color,\n iconOptions:\n size > 1\n ? {\n hideFooter: true,\n info: { text: '', fontSize: 18 },\n ...(cluster?.iconOptions || {})\n }\n : {},\n ...(size > 1 ? cluster?.style : cluster?.commonStyle),\n },\n point_cluster: {\n // 聚合点位\n icon,\n type: 'PointIcon',\n iconOptions:\n size > 1\n ? {\n text: size,\n }\n : {},\n ...(size > 1 && cluster?.style),\n },\n };\n\n let type = point ? 'point' : 'marker';\n\n if (cluster) {\n if (isObject(cluster)) {\n if (cluster.show) {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n } else {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n }\n\n let _style = P[type];\n\n if (label) {\n if (Object.keys(data)?.includes('customText')) {\n _style.text = data?.customText;\n } else {\n _style.text = this.getLabelStyle(feature, color);\n }\n }\n\n if (feature.isCluster && size > 1 && type === 'marker_cluster') {\n _style.text = this.getClusterTextStyle(size);\n }\n\n return _style;\n }\n\n setClusterSource(cluster) {\n let _this = this;\n let {show, minDistance, distance, group} = isObject(cluster) ? cluster : {show: cluster};\n let source = new VectorSource({ features: this._features?.filter(v => (!v.hasOwnProperty('show') || v.show)) });\n\n if (show) {\n group = group || this.group;\n let clusterSource = new Cluster({\n distance: distance || 100,\n minDistance: minDistance || 50,\n source,\n group,\n createCluster: (point, features) => {\n let feature = new Feature({\n geometry: point,\n features: features.map(v => {\n v.layerKey = _this.key;\n return v;\n }),\n });\n\n if (group?.length) {\n let style;\n const f = features[0];\n const size = features.length;\n group?.map(v => {\n if (v?.filter?.(f.values_)) {\n style = v.style || style;\n }\n })\n\n let markerStyle = {...style.style}\n\n if (size > 1) {\n if (style?.clusterStyle) {\n markerStyle = {...style.clusterStyle}\n }\n\n const {numberStyle, iconOptions, ...otherStyle}= markerStyle;\n markerStyle = {\n ...otherStyle,\n text: this.getClusterTextStyle(markerStyle?.image ? size : ' ', numberStyle),\n iconOptions: {\n hideFooter: true,\n info: {text: size, fontSize: 18},\n ...(iconOptions || cluster?.iconOptions || {})\n }\n }\n }\n\n let _style = new renderer.Marker(markerStyle)\n feature.setStyle(_style)\n }\n\n // 增加聚合点位标识\n feature.isCluster = true;\n\n if (features.length === 1) {\n feature.setProperties(features[0].values_);\n }\n\n return feature;\n },\n ...cluster,\n });\n\n this.setSource(clusterSource);\n } else {\n this.setSource(source);\n }\n }\n\n refresh() {\n getDataByHttpByParams({\n url: this.url,\n params: this.params,\n method: this.method,\n afterGetData: this.afterGetData,\n field: this.dataField\n }).then(features => {\n if (features) {\n let new_features = features;\n this._features = new_features;\n\n let newFeatures = [];\n new_features.map(v => {\n let f = this.getFeatureByFieldValue('id', v.values_.id);\n if (f) {\n f.values_ = v.values_;\n } else {\n newFeatures.push(v);\n }\n });\n\n if (newFeatures.length) {\n this.getSource().addFeatures(newFeatures);\n }\n\n this.getSource().changed();\n }\n });\n }\n\n loadData(data) {\n this.getSource().clear();\n let features = createGeoJson(data);\n this.getSource().addFeatures(features);\n this._features = features;\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n loadUrlData(url, params, method, afterGetData = this.afterGetData) {\n this.getSource().clear();\n this._features = [];\n\n if (this.encrypt) {\n params = encryptParams(params, this.encrypt);\n }\n\n getDataByHttpByParams({\n url,\n params,\n method,\n afterGetData,\n field: this.dataField\n }).then(features => {\n if (features?.length) {\n this._features = features;\n this.getSource().addFeatures(features);\n }\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n });\n }\n\n loadFeatures(features) {\n this.getSource().clear();\n this.getSource().addFeatures(features);\n\n this._features = features;\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n getFeatures() {\n const source = this.getSource().source || this.getSource();\n return source.getFeatures();\n }\n\n getFeatureByFieldValue(field, value) {\n return this.getFeatures().find(v => v.values_[field] === value);\n }\n\n getFeaturesByFieldValueOpera({ field, value, operation = '===', features, filter }) {\n return new Promise((resolve, reject) => {\n let _features = features || this.getFeatures();\n if (filter) {\n _features = _features.filter(feature => filter(feature.values_))\n }\n\n let result = _features;\n\n if (operation && value !== undefined) {\n if (['>', '>=', '<', '<=', '===', '!=='].includes(operation)) {\n try {\n // 通过动态创建方法自动传入操作符\n const fun = new Function('features', 'field', 'value', `return features.filter(v => v.values_[field] ${operation} value)`);\n result = fun(_features, field, value)\n } catch (err) {\n reject(err)\n }\n } else if (operation === 'like') { // 包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n } else if (operation === 'notLike') { // 不包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) === -1);\n } else {\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n }\n }\n\n resolve(result)\n })\n }\n\n // 获取地图\n getMap() {\n return this.map;\n }\n\n // 设置过滤条件\n setGroup(group) {\n if (group?.length) {\n if (this._features?.length) {\n this._features.map(feature => {\n let show = true;\n group.map(v => {\n if (v?.filter?.(feature.values_)) {\n if (v.hasOwnProperty('show') && !v.show) {\n show = false;\n }\n }\n });\n feature.show = show;\n });\n }\n this.group = group;\n this.setVisibleByGroup();\n\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n } else {\n this.setStyle(this.getStyleByMode());\n }\n }\n }\n\n // 根据过滤条件组显示图层\n setVisibleByGroup() {\n const group = this.group;\n if (group?.length) {\n let visible = false;\n\n group.map(v => {\n if (!v.hasOwnProperty('show') || v.show) {\n visible = true;\n }\n });\n\n this.setVisible(visible);\n }\n }\n\n // 设置图层显示隐藏\n setVisible(visible) {\n super.setVisible(visible); // 将属性传递给父类\n\n const map = this.getMap && this.getMap();\n if (map) {\n map.layers.onChange();\n }\n\n // 判断是否完成过初始化,没有的话就加载一波数据\n if (!this.inited) {\n this.init();\n }\n }\n}\n\nexport default FeatureLayer;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FeatureLayer.js","names":["_layer","require","_ol","_source","_renderer","_interopRequireDefault","_style5","_isFunction","_createFeatureCollection","_isObject","_encryptParams","_MyCluster","_excluded","_excluded2","_excluded3","obj","__esModule","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_typeof","constructor","prototype","_slicedToArray","i","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","Object","toString","call","slice","name","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","configurable","writable","_toPropertyKey","_createClass","protoProps","staticProps","_get","Reflect","get","bind","property","receiver","base","_superPropBase","desc","_inherits","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","set","_set","isStrict","s","hasOwnProperty","getPrototypeOf","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","addOverlay","feature","map","alarmBg","image","field","style","status","includes","dom","document","createElement","className","concat","overlay","Overlay","element","positioning","stopEvent","setPosition","getGeometry","getCoordinates","FeatureLayer","_Vector","_super","options","_thisSuper","_this2","url","params","data","dataField","features","sourceOptions","label","labelField","point","cluster","template","autoRefresh","method","layerControl","show","group","iconOptions","afterGetData","legend","viewOnly","encrypt","valueField","tipTemplate","other","VectorSource","defaultShow","f","replaceAll","_f$filter$split","split","_f$filter$split2","a","c","Function","size","_ref","color","background","backgroundStroke","backgroundStrokeWidth","otherVal","text","font","fill","Fill","padding","justify","textAlign","textBaseline","offsetY","offsetX","backgroundFill","Stroke","width","Text","_options","isCluster","_feature$get","values_","distance","inited","_features","init","loadUrlData","loadData","setVisible","val","setStyle","getStyleByMode","setClusterMode","setShow","_this3","setClusterSource","destroy","oldZoom","getView","getZoom","moveEnd","on","zoom","_this3$_options$clust","zoomThreshold","_this4","resolution","_this4$group","_this4$_options","otherStyle","v","_v$filter","styles","isFunction","_styles","renderer","Marker","getMarkerOptions","Style","_style","type","getSimpleStyle","Simple","isObject","_style3","mode","render","_feature$get2","getMultipleStyle","UniqueValue","_feature$get3","ClassBreaks","Circle","radius","stroke","_render","_render$style","_render$style2","icon","_render$render","_this5","_feature$get4","_this$_options","isFun","_data","_data$style","_data2","_data3","_data3$style","_data4","_data5","_data5$style","_data6","P","marker","marker_cluster","hideFooter","info","fontSize","commonStyle","point_cluster","_Object$keys","_data7","customText","getLabelStyle","getClusterTextStyle","_this$_features","_this6","_this","_ref2","minDistance","clusterSource","Cluster","clusterChange","setAlarmBgByFeatures","createCluster","_group","Feature","geometry","layerKey","_group2","_v$filter2","markerStyle","_style4","_markerStyle2","clusterStyle","_markerStyle","numberStyle","setProperties","setSource","clearAlarmBg","_this$overlays","_this7","overlays","removeOverlay","_this8","_feature","refresh","_this9","getDataByHttpByParams","then","new_features","newFeatures","getFeatureByFieldValue","id","getSource","addFeatures","getFeatures","changed","clear","createGeoJson","_this10","encryptParams","loadFeatures","find","getFeaturesByFieldValueOpera","_ref3","_this11","_ref3$operation","operation","Promise","resolve","reject","fun","_v$values_$field","_v$values_$field2","_v$values_$field3","getMap","setGroup","_this$_features2","_v$filter3","setVisibleByGroup","visible","layers","onChange","un","Vector","_default","exports"],"sources":["feature-layer/FeatureLayer.js"],"sourcesContent":["import { Vector } from 'ol/layer';\nimport { Feature, Overlay } from 'ol';\nimport { Vector as VectorSource } from 'ol/source';\nimport renderer from '../renderer';\nimport { Fill, Style, Text, Stroke, Circle } from 'ol/style';\nimport isFunction from '../_util/isFunction';\nimport { getDataByHttpByParams, createGeoJson } from './createFeatureCollection';\nimport isObject from '../_util/isObject';\nimport encryptParams from \"../_util/encryptParams\";\nimport Cluster from \"./MyCluster\";\n\nconst addOverlay = (feature, map, alarmBg) => {\n const {image, filter, field, style} = alarmBg;\n let status = feature.get('status');\n if (!status && !['2', '4'].includes(status)) {\n return\n }\n\n const dom = document.createElement('div');\n dom.className = `ol-map-icon-alarm-${status}`;\n\n const overlay = new Overlay({\n element: dom,\n positioning: 'bottom-center',\n stopEvent: true,\n className: 'ol-overlay_container-stop_event'\n })\n\n map.addOverlay(overlay);\n\n overlay.setPosition(feature.getGeometry().getCoordinates())\n\n return overlay;\n}\n\nclass FeatureLayer extends Vector {\n constructor(options) {\n const {\n url,\n params,\n data,\n dataField,\n features,\n sourceOptions,\n key,\n name,\n label,\n labelField,\n point,\n cluster,\n template,\n autoRefresh,\n method,\n layerControl,\n show,\n style,\n group,\n iconOptions,\n afterGetData,\n legend,\n viewOnly,\n encrypt,\n valueField,\n map,\n tipTemplate,\n alarmBg,\n ...other\n } = options;\n\n const props = {\n ...other,\n };\n props.source =\n props.source ||\n new VectorSource({\n features,\n ...sourceOptions,\n });\n\n let defaultShow = show;\n if (group?.length) {\n defaultShow = false;\n\n if (show) {\n group.map(f => {\n if (f.show) {\n defaultShow = true;\n }\n\n // 将字符函数转化为可执行的函数\n if (f.filter && typeof f.filter === 'string' && f.filter.indexOf('=>') !== -1) {\n f.filter = f.filter.replaceAll(' ', '');\n const [a, c] = f.filter.split('=>');\n f.filter = new Function(a, `return ${c}`);\n }\n });\n }\n }\n\n super(props);\n super.show = show;\n // 参数\n this._options = options;\n\n // 地图\n this.map = map;\n\n // 接口地址\n this.url = url;\n\n // 接口地址请求类型\n this.method = method;\n\n // 接口查询参数\n this.params = params;\n\n // 图层标识\n this.key = key;\n\n // 图层名称\n this.name = name;\n\n // 标签\n this.label = label;\n\n // 标签字段\n this.labelField = labelField;\n\n // 聚合\n this.cluster = cluster;\n\n // 聚合距离\n this.distance = cluster?.distance || 80;\n\n // 海量点\n this.point = point;\n\n // 自动刷新标识\n this.autoRefresh = autoRefresh;\n\n // 模版内容\n this.template = template;\n\n // 图层控制\n this.layerControl = layerControl;\n\n // 过滤\n this.group = group;\n\n // 处理获取的数据\n this.afterGetData = afterGetData;\n\n // 数据查询字段\n this.valueField = valueField;\n\n // 图例\n this.legend = legend;\n\n // 样式\n this.style = style;\n\n // 数据\n this.data = data;\n\n // 数据取值字段\n this.dataField = dataField || 'geometryInfo';\n\n // 仅展示\n this.viewOnly = viewOnly;\n\n // 是否初始化\n this.inited = false;\n\n // 加密\n this.encrypt = encrypt;\n\n // 气泡模板\n this.tipTemplate = tipTemplate;\n\n // 报警背景\n this.alarmBg = alarmBg;\n\n // 临时数据\n this._features = [];\n\n // 默认是否展示\n if (defaultShow) {\n this.init()\n }\n }\n\n // 初始化数据\n init() {\n // 是否存在地址\n if (this.url) {\n // 执行\n this.loadUrlData(this.url, this.params, this.method);\n }\n\n // 直接加载数据\n if (this.data) {\n // 执行\n this.loadData(this.data);\n }\n\n this.inited = true;\n }\n\n // 重写父类的属性访问器\n get show() {\n return super.show;\n }\n\n set show(value) {\n this.setVisible(value);\n }\n\n set label(val) {\n this._options.label = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set point(val) {\n this._options.point = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set cluster(val) {\n this.setClusterMode(val);\n }\n\n setShow(value) {\n this.show = value;\n this.setVisible(value);\n }\n\n setClusterMode(val) {\n this._options.cluster = val;\n this.setClusterSource(val);\n this.setStyle(this.getStyleByMode());\n\n if (this.map) {\n const map = this.map;\n this.destroy();\n\n // 监听地图缩放大于阈值时取消聚合\n let oldZoom = map.getView().getZoom();\n this.moveEnd = map.on(\"moveend\", () => {\n const zoom = map.getView().getZoom(); //获取当前地图的缩放级别\n if (oldZoom !== zoom) {\n oldZoom = zoom;\n if (zoom >= (this._options.cluster?.zoomThreshold || 14)) {\n this.setClusterSource();\n } else {\n this.setClusterSource(val);\n }\n }\n });\n }\n }\n\n getClusterTextStyle = (size, options) => {\n const {color, background, backgroundStroke, backgroundStrokeWidth, ...otherVal} = (options && typeof options === 'object') ? options : {};\n const style = {\n text: String(size),\n font: '18px Calibri,sans-serif',\n fill: new Fill({\n color: color || '#fff',\n }),\n padding: [0, 0, 0, 0],\n justify: 'center',\n textAlign: 'center',\n textBaseline: 'middle',\n offsetY: -22,\n offsetX: 16,\n ...otherVal\n }\n\n if (background) {\n style.backgroundFill = new Fill({\n color: background,\n })\n }\n\n if (backgroundStroke) {\n style.backgroundStroke = new Stroke({\n color: '#FFFFFF',\n width: backgroundStrokeWidth ||2,\n })\n }\n return new Text(style);\n };\n\n getLabelStyle = (feature, color) => {\n let { labelField } = this._options;\n\n // 判断是否是聚合点位\n if (feature.isCluster) {\n const size = feature.get('features')?.length || 0;\n if (size !== 1) {\n return;\n }\n }\n if (labelField) {\n return new Text({\n text: feature.values_[labelField] || '-',\n font: '12px Calibri,sans-serif',\n fill: new Fill({\n color,\n }),\n backgroundFill: new Fill({\n color: '#fff',\n }),\n backgroundStroke: new Stroke({\n color,\n width: 1,\n }),\n padding: [4, 2, 2, 4],\n justify: 'center',\n textBaseline: 'middle',\n offsetY: 12,\n });\n }\n }\n\n getStyleByMode() {\n return (feature, resolution) => {\n let { style, cluster, otherStyle } = this._options;\n let show = true;\n\n this.group?.map(v => {\n if (v?.filter?.(feature.values_)) {\n style = v.style || style;\n if (v.hasOwnProperty('show') && !v.show) {\n show = false;\n }\n }\n });\n feature.show = show;\n\n if (!show) {\n return null;\n }\n\n const styles = [];\n\n if (otherStyle) {\n if (isFunction(otherStyle)) {\n const _styles = otherStyle(feature, resolution);\n if (_styles) {\n if (Array.isArray(styles)) {\n styles.push(..._styles)\n } else {\n styles.push(_styles)\n }\n }\n }\n }\n\n if (style) {\n if (typeof style === 'string' || (isFunction(style) && cluster)) {\n styles.push(new renderer.Marker({ ...this.getMarkerOptions(feature, style) }));\n return styles;\n } else if (style instanceof Style) {\n // 判断是否为 ol Style\n styles.push(style);\n return styles;\n } else if (isFunction(style)) {\n // 判断是否为自定义函数渲染\n\n let _style = style(feature);\n if (_style?.type && _style?.style) {\n const options = this.getSimpleStyle(feature, _style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n styles.push(_style);\n return styles;\n } else if (isObject(style)) {\n let { mode } = style;\n if (mode) {\n if (mode === 'Simple') {\n const options = this.getSimpleStyle(feature, style.render);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n if (mode === 'UniqueValue') {\n const size = feature.get('features')?.length || 0;\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.UniqueValue(feature, options));\n return styles;\n }\n\n if (mode === 'ClassBreaks') {\n const size = feature.get('features')?.length || 0;\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.ClassBreaks(feature, options));\n return styles;\n }\n } else if (style.style) {\n const options = this.getSimpleStyle(feature, style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n }\n }\n styles.push(new Style({\n image: new Circle({\n radius: 4,\n fill: new Fill({\n color: 'rgba(0,155,255, 0.8)',\n }),\n }),\n fill: new Fill({\n color: 'rgba(255, 255, 255, 0.6)',\n }),\n stroke: new Stroke({\n color: '#009BFF',\n width: 2,\n }),\n }));\n return styles;\n };\n }\n\n getSimpleStyle(feature, _render) {\n let { cluster } = this._options;\n const render = { ..._render };\n if (render.type === 'Marker' && (render?.style?.icon || (cluster && render?.style?.image))) {\n render.style = {\n ...render.style,\n ...this.getMarkerOptions(feature, render.style),\n };\n }\n\n return render;\n }\n\n getMultipleStyle(feature, _render) {\n const render = { ..._render };\n\n if (render?.render?.length) {\n render.render = render.render.map(v => this.getSimpleStyle(feature, v));\n }\n\n return render;\n }\n\n getMarkerOptions(feature, style) {\n let icon = style?.icon || style;\n let image = style?.image;\n let color = style?.color || '#2491fc';\n let { cluster, point, label } = this._options;\n\n // 判断是否为自定义函数渲染\n let isFun = isFunction(style);\n let data = {};\n if (isFun) {\n data = style(feature) || {};\n icon = data?.style?.icon || data?.icon || icon;\n color = data?.style?.color || data?.color || color;\n image = data?.style?.image || data?.image || image\n }\n\n const size = feature.get('features')?.length || 0;\n\n let P = {\n marker: {\n // 图标\n icon,\n },\n point: {\n // 点位\n icon,\n type: 'PointIcon',\n },\n marker_cluster: {\n // 聚合图标\n icon,\n color: size > 1 ? '' : color,\n iconOptions:\n size > 1\n ? {\n hideFooter: true,\n info: { text: '', fontSize: 18 },\n ...(cluster?.iconOptions || {})\n }\n : {},\n ...(size > 1 ? cluster?.style : cluster?.commonStyle),\n },\n point_cluster: {\n // 聚合点位\n icon,\n type: 'PointIcon',\n iconOptions:\n size > 1\n ? {\n text: size,\n }\n : {},\n ...(size > 1 && cluster?.style),\n },\n };\n\n let type = point ? 'point' : 'marker';\n\n if (cluster) {\n if (isObject(cluster)) {\n if (cluster.show) {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n } else {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n }\n\n let _style = P[type];\n\n if (label) {\n if (Object.keys(data)?.includes('customText')) {\n _style.text = data?.customText;\n } else {\n _style.text = this.getLabelStyle(feature, color);\n }\n }\n\n if (feature.isCluster && size > 1 && type === 'marker_cluster') {\n _style.text = this.getClusterTextStyle(size);\n }\n\n return _style;\n }\n\n setClusterSource(cluster) {\n let _this = this;\n let {show, minDistance, distance, group} = isObject(cluster) ? cluster : {show: cluster};\n let source = new VectorSource({ features: this._features?.filter(v => (!v.hasOwnProperty('show') || v.show)) });\n if (show) {\n group = group || this.group;\n let clusterSource = new Cluster({\n distance: distance || 100,\n minDistance: minDistance || 50,\n source,\n group,\n clusterChange: (features) => {\n this.setAlarmBgByFeatures(features);\n },\n createCluster: (point, features) => {\n let feature = new Feature({\n geometry: point,\n features: features.map(v => {\n v.layerKey = _this.key;\n return v;\n }),\n });\n\n if (group?.length) {\n let style;\n const f = features[0];\n const size = features.length;\n group?.map(v => {\n if (v?.filter?.(f.values_)) {\n style = v.style || style;\n }\n })\n\n let markerStyle = {...style.style}\n\n if (size > 1) {\n if (style?.clusterStyle) {\n markerStyle = {...style.clusterStyle}\n }\n\n const {numberStyle, iconOptions, ...otherStyle}= markerStyle;\n markerStyle = {\n ...otherStyle,\n text: this.getClusterTextStyle(markerStyle?.image ? size : ' ', numberStyle),\n iconOptions: {\n hideFooter: true,\n info: {text: size, fontSize: 18},\n ...(iconOptions || cluster?.iconOptions || {})\n }\n }\n }\n\n let _style = new renderer.Marker(markerStyle)\n feature.setStyle(_style)\n }\n\n // 增加聚合点位标识\n feature.isCluster = true;\n\n if (features.length === 1) {\n feature.setProperties(features[0].values_);\n }\n\n return feature;\n },\n ...cluster,\n });\n\n this.setSource(clusterSource);\n } else {\n this.setSource(source);\n }\n }\n\n // 清除报警背景\n clearAlarmBg() {\n if (this.map && this.overlays?.length) {\n this.overlays.map(overlay => this.map.removeOverlay(overlay))\n this.overlays = null;\n }\n }\n\n // 设置报警背景\n setAlarmBgByFeatures(features) {\n this.clearAlarmBg();\n this.overlays = [];\n\n if (this.map && this.alarmBg && features?.length) {\n features.map(feature => {\n let _feature = feature;\n\n const cluster = feature.get('features');\n if (cluster) {\n _feature = cluster.length < 2 ? cluster[0] : null;\n }\n\n if (_feature && (_feature.hasOwnProperty('show') ? _feature.show : true)) {\n let overlay = addOverlay(_feature, this.map, this.alarmBg);\n if (overlay) {\n this.overlays.push(overlay)\n }\n }\n })\n }\n }\n\n refresh() {\n getDataByHttpByParams({\n url: this.url,\n params: this.params,\n method: this.method,\n afterGetData: this.afterGetData,\n field: this.dataField\n }).then(features => {\n if (features) {\n let new_features = features;\n this._features = new_features;\n\n let newFeatures = [];\n new_features.map(v => {\n let f = this.getFeatureByFieldValue('id', v.values_.id);\n if (f) {\n f.values_ = v.values_;\n } else {\n newFeatures.push(v);\n }\n });\n\n if (newFeatures.length) {\n this.getSource().addFeatures(newFeatures);\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n\n this.getSource().changed();\n }\n });\n }\n\n loadData(data) {\n this.getSource().clear();\n let features = createGeoJson(data);\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n\n this._features = features;\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n loadUrlData(url, params, method, afterGetData = this.afterGetData) {\n this.getSource().clear();\n this._features = [];\n\n if (this.encrypt) {\n params = encryptParams(params, this.encrypt);\n }\n\n getDataByHttpByParams({\n url,\n params,\n method,\n afterGetData,\n field: this.dataField\n }).then(features => {\n this.getSource().clear();\n this._features = [];\n\n if (features?.length) {\n this._features = features;\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n });\n }\n\n loadFeatures(features) {\n this.getSource().clear();\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n\n this._features = features;\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n getFeatures() {\n const source = this.getSource().source || this.getSource();\n return source.getFeatures();\n }\n\n getFeatureByFieldValue(field, value) {\n return this.getFeatures().find(v => v.values_[field] === value);\n }\n\n getFeaturesByFieldValueOpera({ field, value, operation = '===', features, filter }) {\n return new Promise((resolve, reject) => {\n let _features = features || this.getFeatures();\n if (filter) {\n _features = _features.filter(feature => filter(feature.values_))\n }\n\n let result = _features;\n\n if (operation && value !== undefined) {\n if (['>', '>=', '<', '<=', '===', '!=='].includes(operation)) {\n try {\n // 通过动态创建方法自动传入操作符\n const fun = new Function('features', 'field', 'value', `return features.filter(v => v.values_[field] ${operation} value)`);\n result = fun(_features, field, value)\n } catch (err) {\n reject(err)\n }\n } else if (operation === 'like') { // 包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n } else if (operation === 'notLike') { // 不包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) === -1);\n } else {\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n }\n }\n\n resolve(result)\n })\n }\n\n // 获取地图\n getMap() {\n return this.map;\n }\n\n // 设置过滤条件\n setGroup(group) {\n if (group?.length) {\n if (this._features?.length) {\n this._features.map(feature => {\n let show = true;\n group.map(v => {\n if (v?.filter?.(feature.values_)) {\n if (v.hasOwnProperty('show') && !v.show) {\n show = false;\n }\n }\n });\n feature.show = show;\n });\n }\n this.group = group;\n this.setVisibleByGroup();\n\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n } else {\n this.setStyle(this.getStyleByMode());\n }\n\n this.setAlarmBgByFeatures(this._features);\n }\n }\n\n // 根据过滤条件组显示图层\n setVisibleByGroup() {\n const group = this.group;\n if (group?.length) {\n let visible = false;\n\n group.map(v => {\n if (!v.hasOwnProperty('show') || v.show) {\n visible = true;\n }\n });\n\n this.setVisible(visible);\n }\n }\n\n // 设置图层显示隐藏\n setVisible(visible) {\n super.setVisible(visible); // 将属性传递给父类\n\n const map = this.getMap && this.getMap();\n if (map) {\n map.layers.onChange();\n }\n\n // 判断是否完成过初始化,没有的话就加载一波数据\n if (!this.inited) {\n this.init();\n }\n\n if (!visible) {\n this.clearAlarmBg();\n } else {\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n }\n\n destroy() {\n const map = this.map;\n if (map && this.moveEnd) {\n map.un(\"moveend\", this.moveEnd);\n this.moveEnd = null;\n }\n this.clearAlarmBg();\n }\n}\n\nexport default FeatureLayer;\n"],"mappings":"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"}
|
|
@@ -37,6 +37,9 @@ var MyCluster = /*#__PURE__*/function (_Cluster) {
|
|
|
37
37
|
|
|
38
38
|
// 根据分组聚合
|
|
39
39
|
_this.group = options.group;
|
|
40
|
+
|
|
41
|
+
// 聚合改变时触发的方法
|
|
42
|
+
_this.clusterChange = options.clusterChange;
|
|
40
43
|
return _this;
|
|
41
44
|
}
|
|
42
45
|
|
|
@@ -123,6 +126,7 @@ var MyCluster = /*#__PURE__*/function (_Cluster) {
|
|
|
123
126
|
}, {
|
|
124
127
|
key: "cluster",
|
|
125
128
|
value: function cluster() {
|
|
129
|
+
var _this$clusterChange;
|
|
126
130
|
if (this.resolution === undefined || !this.source) {
|
|
127
131
|
return;
|
|
128
132
|
}
|
|
@@ -139,6 +143,7 @@ var MyCluster = /*#__PURE__*/function (_Cluster) {
|
|
|
139
143
|
this.groupCluster(feature, clustered, extent, mapDistance);
|
|
140
144
|
}
|
|
141
145
|
}
|
|
146
|
+
(_this$clusterChange = this.clusterChange) === null || _this$clusterChange === void 0 ? void 0 : _this$clusterChange.call(this, this.features);
|
|
142
147
|
}
|
|
143
148
|
}]);
|
|
144
149
|
return MyCluster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MyCluster.js","names":["_Cluster2","_interopRequireDefault","require","_extent","_util","obj","__esModule","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","Number","_inherits","subClass","superClass","create","constructor","value","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","getPrototypeOf","MyCluster","_Cluster","_super","options","_this","unClusterFunc","field","group","groupCluster","feature","clustered","extent","mapDistance","_this2","geometry","geometryFunction","coordinates","getCoordinates","createOrUpdateFromCoordinate","buffer","neighbors","source","getFeaturesInExtent","_this$group","properties","get","getProperties","filter","neighbor","pointProperties","findIndex","v","_v$filter","a","_v$filter2","unCluster","forEach","uid","getUid","features","push","createCluster","cluster","resolution","createEmpty","distance","getFeatures","ii","Cluster","_default","exports"],"sources":["feature-layer/MyCluster.js"],"sourcesContent":["import Cluster from 'ol/source/Cluster'\nimport {buffer, createEmpty, createOrUpdateFromCoordinate} from 'ol/extent.js';\nimport {getUid} from 'ol/util.js';\n\nclass MyCluster extends Cluster {\n\n constructor(options) {\n super(options);\n\n // 不加入聚合\n this.unClusterFunc = options.unClusterFunc;\n\n // 需要提供类型字段,将会根据类型字段的值,自动进行分类聚合\n this.field = options.field;\n\n // 根据分组聚合\n this.group = options.group;\n }\n\n /**\n * 分组聚合\n */\n groupCluster(feature, clustered, extent, mapDistance) {\n let geometry = this.geometryFunction(feature);\n if (geometry) {\n let coordinates = geometry.getCoordinates();\n createOrUpdateFromCoordinate(coordinates, extent);\n buffer(extent, mapDistance, extent);\n let neighbors = this.source.getFeaturesInExtent(extent);\n\n // 存在两个以上的点聚合\n if (neighbors.length > 1) {\n // 这次聚合按照当前中心点feature这一种类型进行\n let properties = feature.get('properties') || feature.getProperties();\n\n if (this.field) {\n neighbors = neighbors.filter(neighbor => {\n const pointProperties = neighbor.get('properties') || neighbor.getProperties()\n return pointProperties[this.field] === properties[this.field]\n })\n } else if (this.group?.length) {\n neighbors = neighbors.filter(neighbor => {\n const pointProperties = neighbor.get('properties') || neighbor.getProperties();\n\n const i = this.group.findIndex(v => v?.filter?.(properties));\n const a = this.group.findIndex(v => v?.filter?.(pointProperties));\n\n return i !== -1 && a !== -1 && i === a;\n })\n }\n }\n\n // 先删除不需要聚合的点\n if (this.unClusterFunc) {\n const unCluster = neighbors.filter(neighbor => {\n return this.unClusterFunc(neighbor)\n })\n // 因为不需要聚合,所以这些点就直接单个展示,记录下这些要素\n unCluster.forEach(neighbor => {\n let uid = getUid(neighbor);\n if (!(uid in clustered)) {\n clustered[uid] = true;\n }\n this.features.push(this.createCluster([neighbor], extent));\n })\n // 筛选除去不需要聚合的点后的几个点\n neighbors = neighbors.filter(neighbor => {\n return !this.unClusterFunc(neighbor)\n })\n }\n\n // 需要聚合的点\n neighbors = neighbors.filter(function (neighbor) {\n let uid = getUid(neighbor);\n if (!(uid in clustered)) {\n clustered[uid] = true;\n return true;\n } else {\n return false;\n }\n });\n // 经过上面的操作后,可能会出现没有要聚合的点了,所以这里加一下判断\n if (neighbors.length > 0) {\n this.features.push(this.createCluster(neighbors, extent));\n }\n }\n }\n\n /**\n * 覆盖了原生的聚合方法\n * @returns\n */\n cluster() {\n if (this.resolution === undefined || !this.source) {\n return;\n }\n let extent = createEmpty();\n let mapDistance = this.distance * this.resolution;\n let features = this.source.getFeatures();\n /**\n * @type {!Object<string, boolean>}\n */\n let clustered = {};\n for (let i = 0, ii = features.length; i < ii; i++) {\n let feature = features[i];\n if (!(getUid(feature) in clustered)) {\n this.groupCluster(feature, clustered, extent, mapDistance)\n }\n\n }\n }\n}\n\nexport default MyCluster\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MyCluster.js","names":["_Cluster2","_interopRequireDefault","require","_extent","_util","obj","__esModule","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","Number","_inherits","subClass","superClass","create","constructor","value","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","getPrototypeOf","MyCluster","_Cluster","_super","options","_this","unClusterFunc","field","group","clusterChange","groupCluster","feature","clustered","extent","mapDistance","_this2","geometry","geometryFunction","coordinates","getCoordinates","createOrUpdateFromCoordinate","buffer","neighbors","source","getFeaturesInExtent","_this$group","properties","get","getProperties","filter","neighbor","pointProperties","findIndex","v","_v$filter","a","_v$filter2","unCluster","forEach","uid","getUid","features","push","createCluster","cluster","_this$clusterChange","resolution","createEmpty","distance","getFeatures","ii","Cluster","_default","exports"],"sources":["feature-layer/MyCluster.js"],"sourcesContent":["import Cluster from 'ol/source/Cluster'\nimport {buffer, createEmpty, createOrUpdateFromCoordinate} from 'ol/extent.js';\nimport {getUid} from 'ol/util.js';\n\nclass MyCluster extends Cluster {\n\n constructor(options) {\n super(options);\n\n // 不加入聚合\n this.unClusterFunc = options.unClusterFunc;\n\n // 需要提供类型字段,将会根据类型字段的值,自动进行分类聚合\n this.field = options.field;\n\n // 根据分组聚合\n this.group = options.group;\n\n // 聚合改变时触发的方法\n this.clusterChange = options.clusterChange;\n }\n\n /**\n * 分组聚合\n */\n groupCluster(feature, clustered, extent, mapDistance) {\n let geometry = this.geometryFunction(feature);\n if (geometry) {\n let coordinates = geometry.getCoordinates();\n createOrUpdateFromCoordinate(coordinates, extent);\n buffer(extent, mapDistance, extent);\n let neighbors = this.source.getFeaturesInExtent(extent);\n\n // 存在两个以上的点聚合\n if (neighbors.length > 1) {\n // 这次聚合按照当前中心点feature这一种类型进行\n let properties = feature.get('properties') || feature.getProperties();\n\n if (this.field) {\n neighbors = neighbors.filter(neighbor => {\n const pointProperties = neighbor.get('properties') || neighbor.getProperties()\n return pointProperties[this.field] === properties[this.field]\n })\n } else if (this.group?.length) {\n neighbors = neighbors.filter(neighbor => {\n const pointProperties = neighbor.get('properties') || neighbor.getProperties();\n\n const i = this.group.findIndex(v => v?.filter?.(properties));\n const a = this.group.findIndex(v => v?.filter?.(pointProperties));\n\n return i !== -1 && a !== -1 && i === a;\n })\n }\n }\n\n // 先删除不需要聚合的点\n if (this.unClusterFunc) {\n const unCluster = neighbors.filter(neighbor => {\n return this.unClusterFunc(neighbor)\n })\n // 因为不需要聚合,所以这些点就直接单个展示,记录下这些要素\n unCluster.forEach(neighbor => {\n let uid = getUid(neighbor);\n if (!(uid in clustered)) {\n clustered[uid] = true;\n }\n this.features.push(this.createCluster([neighbor], extent));\n })\n // 筛选除去不需要聚合的点后的几个点\n neighbors = neighbors.filter(neighbor => {\n return !this.unClusterFunc(neighbor)\n })\n }\n\n // 需要聚合的点\n neighbors = neighbors.filter(function (neighbor) {\n let uid = getUid(neighbor);\n if (!(uid in clustered)) {\n clustered[uid] = true;\n return true;\n } else {\n return false;\n }\n });\n // 经过上面的操作后,可能会出现没有要聚合的点了,所以这里加一下判断\n if (neighbors.length > 0) {\n this.features.push(this.createCluster(neighbors, extent));\n }\n }\n }\n\n /**\n * 覆盖了原生的聚合方法\n * @returns\n */\n cluster() {\n if (this.resolution === undefined || !this.source) {\n return;\n }\n let extent = createEmpty();\n let mapDistance = this.distance * this.resolution;\n let features = this.source.getFeatures();\n /**\n * @type {!Object<string, boolean>}\n */\n let clustered = {};\n for (let i = 0, ii = features.length; i < ii; i++) {\n let feature = features[i];\n if (!(getUid(feature) in clustered)) {\n this.groupCluster(feature, clustered, extent, mapDistance)\n }\n }\n\n this.clusterChange?.(this.features);\n }\n}\n\nexport default MyCluster\n"],"mappings":"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"}
|
|
@@ -135,7 +135,7 @@ var getSource = function getSource() {
|
|
|
135
135
|
return new _source.XYZ({
|
|
136
136
|
projection: gcj02Mecator,
|
|
137
137
|
maxZoom: 18,
|
|
138
|
-
url: '
|
|
138
|
+
url: '//wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=10&x={x}&y={y}&z={z}',
|
|
139
139
|
crossOrigin: 'anonymous'
|
|
140
140
|
});
|
|
141
141
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmapImageryProvider.js","names":["_layer","require","_proj","_source","PI","Math","AXIS","OFFSET","delta","wgLon","wgLat","dLat","transformLat","dLon","transformLon","radLat","magic","sin","sqrtMagic","sqrt","cos","outOfChina","lon","lat","x","y","ret","abs","forEachPoint","func","input","opt_output","opt_dimension","len","length","dimension","output","slice","Array","offset","gcj02","toWGS84","lng","deltaD","fromWGS84","projzh","ll2smerc","getTransform","smerc2ll","ll2gmerc","gmerc2ll","smerc2gmerc","gmerc2smerc","gcj02Mecator","Projection","code","extent","units","addProjection","addCoordinateTransforms","getSource","XYZSource","projection","maxZoom","url","crossOrigin","getLayer","_ref","dark","mapLayer","TileLayer","source","className","zIndex","transform","coordinate","transformProj","_default","mercator","exports"],"sources":["map/getBaseLayers/imagery/amap/AmapImageryProvider.js"],"sourcesContent":["import { Tile as TileLayer } from 'ol/layer';\n// 导入proj控件,使用其方法注入gcj02坐标系\nimport { Projection, addProjection, addCoordinateTransforms, getTransform } from 'ol/proj';\nimport { XYZ as XYZSource } from 'ol/source';\nimport { transform as transformProj } from 'ol/proj';\n\nconst PI = Math.PI;\nconst AXIS = 6378245.0;\nconst OFFSET = 0.00669342162296594323; // (a^2 - b^2) / a^2\n\nfunction delta(wgLon, wgLat) {\n let dLat = transformLat(wgLon - 105.0, wgLat - 35.0);\n let dLon = transformLon(wgLon - 105.0, wgLat - 35.0);\n const radLat = (wgLat / 180.0) * PI;\n let magic = Math.sin(radLat);\n magic = 1 - OFFSET * magic * magic;\n const sqrtMagic = Math.sqrt(magic);\n dLat = (dLat * 180.0) / (((AXIS * (1 - OFFSET)) / (magic * sqrtMagic)) * PI);\n dLon = (dLon * 180.0) / ((AXIS / sqrtMagic) * Math.cos(radLat) * PI);\n return [dLon, dLat];\n}\n\nfunction outOfChina(lon, lat) {\n if (lon < 72.004 || lon > 137.8347) {\n return true;\n }\n if (lat < 0.8293 || lat > 55.8271) {\n return true;\n }\n return false;\n}\n\nfunction transformLat(x, y) {\n let ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x));\n ret += ((20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0) / 3.0;\n ret += ((20.0 * Math.sin(y * PI) + 40.0 * Math.sin((y / 3.0) * PI)) * 2.0) / 3.0;\n ret += ((160.0 * Math.sin((y / 12.0) * PI) + 320 * Math.sin((y * PI) / 30.0)) * 2.0) / 3.0;\n return ret;\n}\n\nfunction transformLon(x, y) {\n let ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x));\n ret += ((20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0) / 3.0;\n ret += ((20.0 * Math.sin(x * PI) + 40.0 * Math.sin((x / 3.0) * PI)) * 2.0) / 3.0;\n ret += ((150.0 * Math.sin((x / 12.0) * PI) + 300.0 * Math.sin((x / 30.0) * PI)) * 2.0) / 3.0;\n return ret;\n}\n\nconst forEachPoint = function (func) {\n return function (input, opt_output, opt_dimension) {\n const len = input.length;\n const dimension = opt_dimension || 2;\n let output;\n if (opt_output) {\n output = opt_output;\n } else if (dimension !== 2) {\n output = input.slice();\n } else {\n output = new Array(len);\n }\n for (let offset = 0; offset < len; offset += dimension) {\n func(input, output, offset);\n }\n return output;\n };\n};\n\nconst gcj02 = {\n toWGS84: forEachPoint(function (input, output, offset) {\n let lng = input[offset];\n let lat = input[offset + 1];\n if (!outOfChina(lng, lat)) {\n const deltaD = delta(lng, lat);\n lng = lng - deltaD[0];\n lat = lat - deltaD[1];\n }\n output[offset] = lng;\n output[offset + 1] = lat;\n }),\n fromWGS84: forEachPoint(function (input, output, offset) {\n let lng = input[offset];\n let lat = input[offset + 1];\n if (!outOfChina(lng, lat)) {\n const deltaD = delta(lng, lat);\n lng = lng + deltaD[0];\n lat = lat + deltaD[1];\n }\n output[offset] = lng;\n output[offset + 1] = lat;\n }),\n};\n\nconst projzh = {\n ll2smerc: getTransform('EPSG:4326', 'EPSG:3857'),\n smerc2ll: getTransform('EPSG:3857', 'EPSG:4326'),\n};\n\n// wgs84 -> gcj02\nprojzh.ll2gmerc = function (input, opt_output, opt_dimension) {\n const output = gcj02.fromWGS84(input, opt_output, opt_dimension);\n return projzh.ll2smerc(output, output, opt_dimension);\n};\n// gcj02 -> wgs84\nprojzh.gmerc2ll = function (input, opt_output, opt_dimension) {\n const output = projzh.smerc2ll(input, input, opt_dimension);\n return gcj02.toWGS84(output, opt_output, opt_dimension);\n};\n// 3857 -> gcj02\nprojzh.smerc2gmerc = function (input, opt_output, opt_dimension) {\n let output = projzh.smerc2ll(input, input, opt_dimension);\n output = gcj02.fromWGS84(output, output, opt_dimension);\n return projzh.ll2smerc(output, output, opt_dimension);\n};\n// gcj02 -> 3857\nprojzh.gmerc2smerc = function (input, opt_output, opt_dimension) {\n let output = projzh.smerc2ll(input, input, opt_dimension);\n output = gcj02.toWGS84(output, output, opt_dimension);\n return projzh.ll2smerc(output, output, opt_dimension);\n};\n\n// 定义GCJ02墨卡托投影坐标系\nconst gcj02Mecator = new Projection({\n code: 'GCJ-02',\n // extent不能缺少,OpenLayers frame 渲染的时候需要\n extent: [-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244],\n units: 'm',\n});\n\n// 将GCJ02墨卡托投影坐标系注册进OpenLayers\naddProjection(gcj02Mecator);\n\n// 覆盖默认的转换方法\naddCoordinateTransforms('EPSG:4326', gcj02Mecator, projzh.ll2gmerc, projzh.gmerc2ll);\naddCoordinateTransforms('EPSG:3857', gcj02Mecator, projzh.smerc2gmerc, projzh.gmerc2smerc);\n\nconst getSource = () => {\n return new XYZSource({\n projection: gcj02Mecator,\n maxZoom: 18,\n url:\n 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=10&x={x}&y={y}&z={z}',\n crossOrigin: 'anonymous',\n });\n};\n\nconst getLayer = ({ dark }) => {\n let mapLayer = new TileLayer({\n source: getSource(),\n className: dark && 'map-dark',\n zIndex: 0\n });\n\n return [mapLayer];\n};\n\n// 转换方法\nconst transform = coordinate => {\n return transformProj(coordinate, 'EPSG:4326', 'GCJ-02');\n};\n\nexport default {\n mercator: gcj02Mecator,\n gcj02,\n transform,\n getSource,\n getLayer,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AmapImageryProvider.js","names":["_layer","require","_proj","_source","PI","Math","AXIS","OFFSET","delta","wgLon","wgLat","dLat","transformLat","dLon","transformLon","radLat","magic","sin","sqrtMagic","sqrt","cos","outOfChina","lon","lat","x","y","ret","abs","forEachPoint","func","input","opt_output","opt_dimension","len","length","dimension","output","slice","Array","offset","gcj02","toWGS84","lng","deltaD","fromWGS84","projzh","ll2smerc","getTransform","smerc2ll","ll2gmerc","gmerc2ll","smerc2gmerc","gmerc2smerc","gcj02Mecator","Projection","code","extent","units","addProjection","addCoordinateTransforms","getSource","XYZSource","projection","maxZoom","url","crossOrigin","getLayer","_ref","dark","mapLayer","TileLayer","source","className","zIndex","transform","coordinate","transformProj","_default","mercator","exports"],"sources":["map/getBaseLayers/imagery/amap/AmapImageryProvider.js"],"sourcesContent":["import { Tile as TileLayer } from 'ol/layer';\n// 导入proj控件,使用其方法注入gcj02坐标系\nimport { Projection, addProjection, addCoordinateTransforms, getTransform } from 'ol/proj';\nimport { XYZ as XYZSource } from 'ol/source';\nimport { transform as transformProj } from 'ol/proj';\n\nconst PI = Math.PI;\nconst AXIS = 6378245.0;\nconst OFFSET = 0.00669342162296594323; // (a^2 - b^2) / a^2\n\nfunction delta(wgLon, wgLat) {\n let dLat = transformLat(wgLon - 105.0, wgLat - 35.0);\n let dLon = transformLon(wgLon - 105.0, wgLat - 35.0);\n const radLat = (wgLat / 180.0) * PI;\n let magic = Math.sin(radLat);\n magic = 1 - OFFSET * magic * magic;\n const sqrtMagic = Math.sqrt(magic);\n dLat = (dLat * 180.0) / (((AXIS * (1 - OFFSET)) / (magic * sqrtMagic)) * PI);\n dLon = (dLon * 180.0) / ((AXIS / sqrtMagic) * Math.cos(radLat) * PI);\n return [dLon, dLat];\n}\n\nfunction outOfChina(lon, lat) {\n if (lon < 72.004 || lon > 137.8347) {\n return true;\n }\n if (lat < 0.8293 || lat > 55.8271) {\n return true;\n }\n return false;\n}\n\nfunction transformLat(x, y) {\n let ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x));\n ret += ((20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0) / 3.0;\n ret += ((20.0 * Math.sin(y * PI) + 40.0 * Math.sin((y / 3.0) * PI)) * 2.0) / 3.0;\n ret += ((160.0 * Math.sin((y / 12.0) * PI) + 320 * Math.sin((y * PI) / 30.0)) * 2.0) / 3.0;\n return ret;\n}\n\nfunction transformLon(x, y) {\n let ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x));\n ret += ((20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0) / 3.0;\n ret += ((20.0 * Math.sin(x * PI) + 40.0 * Math.sin((x / 3.0) * PI)) * 2.0) / 3.0;\n ret += ((150.0 * Math.sin((x / 12.0) * PI) + 300.0 * Math.sin((x / 30.0) * PI)) * 2.0) / 3.0;\n return ret;\n}\n\nconst forEachPoint = function (func) {\n return function (input, opt_output, opt_dimension) {\n const len = input.length;\n const dimension = opt_dimension || 2;\n let output;\n if (opt_output) {\n output = opt_output;\n } else if (dimension !== 2) {\n output = input.slice();\n } else {\n output = new Array(len);\n }\n for (let offset = 0; offset < len; offset += dimension) {\n func(input, output, offset);\n }\n return output;\n };\n};\n\nconst gcj02 = {\n toWGS84: forEachPoint(function (input, output, offset) {\n let lng = input[offset];\n let lat = input[offset + 1];\n if (!outOfChina(lng, lat)) {\n const deltaD = delta(lng, lat);\n lng = lng - deltaD[0];\n lat = lat - deltaD[1];\n }\n output[offset] = lng;\n output[offset + 1] = lat;\n }),\n fromWGS84: forEachPoint(function (input, output, offset) {\n let lng = input[offset];\n let lat = input[offset + 1];\n if (!outOfChina(lng, lat)) {\n const deltaD = delta(lng, lat);\n lng = lng + deltaD[0];\n lat = lat + deltaD[1];\n }\n output[offset] = lng;\n output[offset + 1] = lat;\n }),\n};\n\nconst projzh = {\n ll2smerc: getTransform('EPSG:4326', 'EPSG:3857'),\n smerc2ll: getTransform('EPSG:3857', 'EPSG:4326'),\n};\n\n// wgs84 -> gcj02\nprojzh.ll2gmerc = function (input, opt_output, opt_dimension) {\n const output = gcj02.fromWGS84(input, opt_output, opt_dimension);\n return projzh.ll2smerc(output, output, opt_dimension);\n};\n// gcj02 -> wgs84\nprojzh.gmerc2ll = function (input, opt_output, opt_dimension) {\n const output = projzh.smerc2ll(input, input, opt_dimension);\n return gcj02.toWGS84(output, opt_output, opt_dimension);\n};\n// 3857 -> gcj02\nprojzh.smerc2gmerc = function (input, opt_output, opt_dimension) {\n let output = projzh.smerc2ll(input, input, opt_dimension);\n output = gcj02.fromWGS84(output, output, opt_dimension);\n return projzh.ll2smerc(output, output, opt_dimension);\n};\n// gcj02 -> 3857\nprojzh.gmerc2smerc = function (input, opt_output, opt_dimension) {\n let output = projzh.smerc2ll(input, input, opt_dimension);\n output = gcj02.toWGS84(output, output, opt_dimension);\n return projzh.ll2smerc(output, output, opt_dimension);\n};\n\n// 定义GCJ02墨卡托投影坐标系\nconst gcj02Mecator = new Projection({\n code: 'GCJ-02',\n // extent不能缺少,OpenLayers frame 渲染的时候需要\n extent: [-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244],\n units: 'm',\n});\n\n// 将GCJ02墨卡托投影坐标系注册进OpenLayers\naddProjection(gcj02Mecator);\n\n// 覆盖默认的转换方法\naddCoordinateTransforms('EPSG:4326', gcj02Mecator, projzh.ll2gmerc, projzh.gmerc2ll);\naddCoordinateTransforms('EPSG:3857', gcj02Mecator, projzh.smerc2gmerc, projzh.gmerc2smerc);\n\nconst getSource = () => {\n return new XYZSource({\n projection: gcj02Mecator,\n maxZoom: 18,\n url: '//wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=10&x={x}&y={y}&z={z}',\n crossOrigin: 'anonymous',\n });\n};\n\nconst getLayer = ({ dark }) => {\n let mapLayer = new TileLayer({\n source: getSource(),\n className: dark && 'map-dark',\n zIndex: 0\n });\n\n return [mapLayer];\n};\n\n// 转换方法\nconst transform = coordinate => {\n return transformProj(coordinate, 'EPSG:4326', 'GCJ-02');\n};\n\nexport default {\n mercator: gcj02Mecator,\n gcj02,\n transform,\n getSource,\n getLayer,\n};\n"],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ var getSource = function getSource() {
|
|
|
30
30
|
bmercResolutions[i] = Math.pow(2, 18 - i);
|
|
31
31
|
}
|
|
32
32
|
var urls = [0, 1, 2, 3].map(function (sub) {
|
|
33
|
-
return '
|
|
33
|
+
return '//maponline' + sub + '.bdimg.com/tile/?qt=vtile&x={x}&y={y}&z={z}&styles=pl&scaler=2&udt=20210506&from=jsapi3_0';
|
|
34
34
|
});
|
|
35
35
|
return new _source.XYZ({
|
|
36
36
|
projection: 'BD-09',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaiduImageryProvider.js","names":["_layer","require","_proj","_projzh","_interopRequireDefault","_source","_TileGrid","obj","__esModule","bd09Mercator","Projection","code","extent","units","addProjection","addCoordinateTransforms","projzh","ll2bmerc","bmerc2ll","smerc2bmerc","bmerc2smerc","getSource","bmercResolutions","Array","i","Math","pow","urls","map","sub","XYZ","projection","maxZoom","crossOrigin","tileUrlFunction","tileCoord","x","y","z","hash","index","length","replace","tilePixelRatio","tileGrid","TileGrid","resolutions","origin","getLayer","_ref","dark","mapLayer","TileLayer","source","className","zIndex","transform","coordinate","transformProj","_default","mercator","exports"],"sources":["map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js"],"sourcesContent":["import { Tile as TileLayer } from 'ol/layer';\n// 导入proj控件,使用其方法注入gcj02坐标系\nimport {\n Projection,\n addProjection,\n addCoordinateTransforms,\n transform as transformProj,\n} from 'ol/proj';\nimport projzh from '../../../../_util/projzh';\nimport { XYZ } from 'ol/source';\nimport TileGrid from 'ol/tilegrid/TileGrid';\n\nlet bd09Mercator = new Projection({\n code: 'BD-09',\n extent: [-20037726.37, -12474104.17, 20037726.37, 12474104.17],\n units: 'm',\n});\n\n// 将BD09墨卡托投影坐标系注册进OpenLayers\naddProjection(bd09Mercator);\n\n// 覆盖默认的转换方法\naddCoordinateTransforms('EPSG:4326', bd09Mercator, projzh.ll2bmerc, projzh.bmerc2ll);\naddCoordinateTransforms('EPSG:3857', bd09Mercator, projzh.smerc2bmerc, projzh.bmerc2smerc);\n\nconst getSource = () => {\n let bmercResolutions = new Array(19);\n for (let i = 0; i < 19; ++i) {\n bmercResolutions[i] = Math.pow(2, 18 - i);\n }\n let urls = [0, 1, 2, 3].map(function (sub) {\n return (\n '
|
|
1
|
+
{"version":3,"file":"BaiduImageryProvider.js","names":["_layer","require","_proj","_projzh","_interopRequireDefault","_source","_TileGrid","obj","__esModule","bd09Mercator","Projection","code","extent","units","addProjection","addCoordinateTransforms","projzh","ll2bmerc","bmerc2ll","smerc2bmerc","bmerc2smerc","getSource","bmercResolutions","Array","i","Math","pow","urls","map","sub","XYZ","projection","maxZoom","crossOrigin","tileUrlFunction","tileCoord","x","y","z","hash","index","length","replace","tilePixelRatio","tileGrid","TileGrid","resolutions","origin","getLayer","_ref","dark","mapLayer","TileLayer","source","className","zIndex","transform","coordinate","transformProj","_default","mercator","exports"],"sources":["map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js"],"sourcesContent":["import { Tile as TileLayer } from 'ol/layer';\n// 导入proj控件,使用其方法注入gcj02坐标系\nimport {\n Projection,\n addProjection,\n addCoordinateTransforms,\n transform as transformProj,\n} from 'ol/proj';\nimport projzh from '../../../../_util/projzh';\nimport { XYZ } from 'ol/source';\nimport TileGrid from 'ol/tilegrid/TileGrid';\n\nlet bd09Mercator = new Projection({\n code: 'BD-09',\n extent: [-20037726.37, -12474104.17, 20037726.37, 12474104.17],\n units: 'm',\n});\n\n// 将BD09墨卡托投影坐标系注册进OpenLayers\naddProjection(bd09Mercator);\n\n// 覆盖默认的转换方法\naddCoordinateTransforms('EPSG:4326', bd09Mercator, projzh.ll2bmerc, projzh.bmerc2ll);\naddCoordinateTransforms('EPSG:3857', bd09Mercator, projzh.smerc2bmerc, projzh.bmerc2smerc);\n\nconst getSource = () => {\n let bmercResolutions = new Array(19);\n for (let i = 0; i < 19; ++i) {\n bmercResolutions[i] = Math.pow(2, 18 - i);\n }\n let urls = [0, 1, 2, 3].map(function (sub) {\n return (\n '//maponline' +\n sub +\n '.bdimg.com/tile/?qt=vtile&x={x}&y={y}&z={z}&styles=pl&scaler=2&udt=20210506&from=jsapi3_0'\n );\n });\n\n return new XYZ({\n projection: 'BD-09',\n maxZoom: 18,\n crossOrigin: 'anonymous',\n tileUrlFunction: function (tileCoord) {\n let x = tileCoord[1];\n let y = -tileCoord[2] - 1;\n let z = tileCoord[0];\n let hash = (x << z) + y;\n let index = hash % urls.length;\n index = index < 0 ? index + urls.length : index;\n if (x < 0) {\n x = 'M' + -x;\n }\n if (y < 0) {\n y = 'M' + -y;\n }\n return urls[index]\n .replace('{x}', x)\n .replace('{y}', y)\n .replace('{z}', z);\n },\n tilePixelRatio: 2,\n tileGrid: new TileGrid({\n resolutions: bmercResolutions,\n origin: [0, 0],\n }),\n });\n};\n\n// 获取百度底图\nconst getLayer = ({ dark }) => {\n let mapLayer = new TileLayer({\n source: getSource(),\n className: dark && 'map-dark',\n zIndex: 0\n });\n\n return [mapLayer];\n};\n\n// 转换方法\nconst transform = coordinate => {\n return transformProj(coordinate, 'EPSG:4326', 'BD-09');\n};\n\nexport default {\n mercator: bd09Mercator,\n transform,\n getSource,\n getLayer,\n};\n"],"mappings":"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"}
|
package/lib/map/style/index.css
CHANGED
|
@@ -107,3 +107,20 @@
|
|
|
107
107
|
.ol-map-container .ol-map-popup-cluster .ol-map-popup-cluster-header {
|
|
108
108
|
padding: 4px 0;
|
|
109
109
|
}
|
|
110
|
+
.ol-map-container .ol-map-icon-alarm-2,
|
|
111
|
+
.ol-map-container .ol-map-icon-alarm-4 {
|
|
112
|
+
width: 47px;
|
|
113
|
+
height: 49px;
|
|
114
|
+
-webkit-transform: translateY(10px);
|
|
115
|
+
-ms-transform: translateY(10px);
|
|
116
|
+
transform: translateY(10px);
|
|
117
|
+
pointer-events: none;
|
|
118
|
+
}
|
|
119
|
+
.ol-map-container .ol-map-icon-alarm-2 {
|
|
120
|
+
background: url("../../assets/warn_R.png") no-repeat 0 0;
|
|
121
|
+
background-size: 100% 100%;
|
|
122
|
+
}
|
|
123
|
+
.ol-map-container .ol-map-icon-alarm-4 {
|
|
124
|
+
background: url("../../assets/warn_Y.png") no-repeat 0 0;
|
|
125
|
+
background-size: 100% 100%;
|
|
126
|
+
}
|
package/lib/map/style/index.less
CHANGED
|
@@ -96,4 +96,21 @@
|
|
|
96
96
|
padding: 4px 0;
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
+
|
|
100
|
+
.ol-map-icon-alarm-2, .ol-map-icon-alarm-4 {
|
|
101
|
+
width: 47px;
|
|
102
|
+
height: 49px;
|
|
103
|
+
transform: translateY(10px);
|
|
104
|
+
pointer-events: none;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.ol-map-icon-alarm-2 {
|
|
108
|
+
background: url("../../assets/warn_R.png") no-repeat 0 0;
|
|
109
|
+
background-size: 100% 100%;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.ol-map-icon-alarm-4 {
|
|
113
|
+
background: url("../../assets/warn_Y.png") no-repeat 0 0;
|
|
114
|
+
background-size: 100% 100%;
|
|
115
|
+
}
|
|
99
116
|
}
|
|
@@ -348,6 +348,8 @@ var PathPlayBack = /*#__PURE__*/function () {
|
|
|
348
348
|
}
|
|
349
349
|
if (distance >= 1 && this.currentIndex >= this.routeFeatures.length - 1) {
|
|
350
350
|
this.isPlayEnd = true;
|
|
351
|
+
this.playEnd();
|
|
352
|
+
return;
|
|
351
353
|
}
|
|
352
354
|
this.position.setCoordinates(currentCoordinate);
|
|
353
355
|
if (this.showTrace) {
|
|
@@ -393,7 +395,14 @@ var PathPlayBack = /*#__PURE__*/function () {
|
|
|
393
395
|
});
|
|
394
396
|
});
|
|
395
397
|
}
|
|
396
|
-
|
|
398
|
+
// 计算当前进度的对应index
|
|
399
|
+
var dataIndex = this.dataDistanceRatioArr[this.currentIndex].findIndex(function (v, index, arr) {
|
|
400
|
+
if (index === arr.length - 1) {
|
|
401
|
+
return true;
|
|
402
|
+
}
|
|
403
|
+
return v <= distance <= arr[index + 1];
|
|
404
|
+
});
|
|
405
|
+
this.onPlaying && this.onPlaying(this._distance, this.currentIndex, dataIndex);
|
|
397
406
|
}
|
|
398
407
|
}, {
|
|
399
408
|
key: "playEnd",
|
|
@@ -447,13 +456,6 @@ var PathPlayBack = /*#__PURE__*/function () {
|
|
|
447
456
|
this.currentIndex = this.currentIndex + 1;
|
|
448
457
|
distance = 0;
|
|
449
458
|
}
|
|
450
|
-
// 计算当前进度的对应index
|
|
451
|
-
var dataIndex = this.dataDistanceRatioArr[this.currentIndex].findIndex(function (v, index, arr) {
|
|
452
|
-
if (index === arr.length - 1) {
|
|
453
|
-
return true;
|
|
454
|
-
}
|
|
455
|
-
return v <= distance <= arr[index + 1];
|
|
456
|
-
});
|
|
457
459
|
if (this.currentIndex > this.routeFeatures.length - 1) {
|
|
458
460
|
this.playEnd();
|
|
459
461
|
if (this.repeatPlay) {
|
|
@@ -467,6 +469,13 @@ var PathPlayBack = /*#__PURE__*/function () {
|
|
|
467
469
|
return;
|
|
468
470
|
}
|
|
469
471
|
}
|
|
472
|
+
// 计算当前进度的对应index
|
|
473
|
+
var dataIndex = this.dataDistanceRatioArr[this.currentIndex].findIndex(function (v, index, arr) {
|
|
474
|
+
if (index === arr.length - 1) {
|
|
475
|
+
return true;
|
|
476
|
+
}
|
|
477
|
+
return v <= distance <= arr[index + 1];
|
|
478
|
+
});
|
|
470
479
|
var route = this.routeFeatures[this.currentIndex].getGeometry();
|
|
471
480
|
var currentCoordinate = route.getCoordinateAt(distance > 1 ? 2 - distance : distance);
|
|
472
481
|
this.position.setCoordinates(currentCoordinate);
|
|
@@ -576,7 +585,7 @@ var PathPlayBack = /*#__PURE__*/function () {
|
|
|
576
585
|
var currentCoordinate = this.route.getCoordinateAt(0);
|
|
577
586
|
this.position.setCoordinates(currentCoordinate);
|
|
578
587
|
this.playEnd();
|
|
579
|
-
this.onPlaying && this.onPlaying(this._distance, this.currentIndex);
|
|
588
|
+
this.onPlaying && this.onPlaying(this._distance, this.currentIndex, 0);
|
|
580
589
|
}
|
|
581
590
|
}, {
|
|
582
591
|
key: "destroy",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PathPlayBack.js","names":["_Feature","_interopRequireDefault","require","_geom","_Vector","_style","_layer","_render","_people","_qd","_zd","_lodash","_interopRequireWildcard","_createFeatureCollection","_getPathLineStyles","_turf","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","iter","isArray","len","length","i","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","PathPlayBack","options","data","_options$show","show","play","speed","map","style","onPlaying","onPlayEnd","_options$repeatPlay","repeatPlay","_options$autoView","autoView","_options$enableRotati","enableRotation","arrowStyle","showTrace","_options$traceStyle","traceStyle","_options$showStartPoi","showStartPoint","_options$showEndPoint","showEndPoint","_init","currentIndex","_distance","_lastTime","Date","now","lastCoordinate","distanceRatioArr","dataDistanceRatioArr","isPlayEnd","startStyle","Style","image","Icon","anchor","src","QD","start","endStyle","ZD","end","geoMarkerStyle","PEOPLE","geoMarker","loadData","val","startAnimation","stopAnimation","vectorLayer","setVisible","_animating","getSource","hasFeature","startMarker","addFeature","removeFeature","endMarker","loadObjectData","coordinates","distanceArr","dataDistanceArr","routeFeature","item","index","geometryInfo","type","lngLats","coordType","lineData","transformGeometryInfoToWGS84","line","TurfLineString","TurfLength","route","LineString","v","TurfPoint","to","TurfDistance","Feature","geometry","totalDistance","_","sum","list","distance","firstFeature","lastFeature","last","firstGeometry","Point","getGeometry","getFirstCoordinate","lastGeometry","getLastCoordinate","loadArrayData","getDefaultRouteStyle","feature","_this$style","_this$style2","isFunction","stroke","Stroke","width","color","setRouteStyle","features","_this","setStyle","resolution","styles","isEmpty","getPathLineStyles","destroy","_this$loadArrayData","_this$loadObjectData","position","clone","VectorLayer","VectorSource","concat","addLayer","routeFeatures","addTrace","moveTo","process","_this2","findIndex","calculateDistance","currentCoordinate","getCoordinateAt","setRotation","setCoordinates","getCoordinates","_ref","startCoordinates","endCoordinates","lineCoordinates","sliced","lineSlice","coordinate","setPaintLinePath","init","playEnd","_this3","lineDashFeatures","paintLineFeatures","setGeometry","x","y","rotation","Math","atan2","getImage","currentRouteRatio","moveFeature","event","vectorContext","getVectorContext","time","frameState","elapsedTime","dataIndex","drawGeometry","getView","fit","padding","maxZoom","getZoom","duration","render","_ref2","paintLineFeature","MultiLineString","_this4","lineDashFeature","lineDash","_this5","cancel","_on_event","on","bind","un","listener","removeLayer","exports"],"sources":["path-play-back/PathPlayBack.js"],"sourcesContent":["import Feature from 'ol/Feature';\nimport { Point, LineString, MultiLineString } from 'ol/geom';\nimport VectorSource from 'ol/source/Vector';\nimport { Icon, Stroke, Style } from 'ol/style';\nimport { Vector as VectorLayer } from 'ol/layer';\nimport { getVectorContext } from 'ol/render';\nimport PEOPLE from '../assets/people.png';\nimport QD from '../assets/qd.png';\nimport ZD from '../assets/zd.png';\nimport _, { isArray, isEmpty, isFunction } from 'lodash';\nimport { transformGeometryInfoToWGS84 } from '../feature-layer/createFeatureCollection';\nimport getPathLineStyles from '../path-line-layer/getPathLineStyles';\nimport {\n point as TurfPoint,\n lineSlice,\n lineString as TurfLineString,\n length as TurfLength,\n distance as TurfDistance,\n} from '@turf/turf';\nexport default class PathPlayBack {\n constructor(options) {\n const {\n data,\n show = true,\n play,\n speed,\n map,\n style,\n onPlaying,\n onPlayEnd,\n repeatPlay = true,\n autoView = false,\n enableRotation = false,\n arrowStyle,\n showTrace,\n traceStyle = {},\n showStartPoint = true,\n showEndPoint = true,\n } = options;\n\n this._init = false;\n\n this.speed = speed || 10;\n this.onPlaying = onPlaying;\n this.onPlayEnd = onPlayEnd;\n this.style = style;\n this.repeatPlay = repeatPlay;\n this.enableRotation = enableRotation;\n this.arrowStyle = arrowStyle;\n this.showTrace = showTrace;\n this.traceStyle = traceStyle;\n this.currentIndex = 0;\n this._distance = 0;\n this._lastTime = Date.now();\n this.autoView = autoView;\n this.lastCoordinate = null;\n this.distanceRatioArr = [];\n this.dataDistanceRatioArr = [];\n this.isPlayEnd = false;\n this.startStyle = new Style({\n image: new Icon({\n anchor: [0.5, 1],\n src: QD,\n ...(style?.start || {}),\n }),\n });\n this.endStyle = new Style({\n image: new Icon({\n anchor: [0.5, 1],\n src: ZD,\n ...(style?.end || {}),\n }),\n });\n this.geoMarkerStyle = new Style({\n image: new Icon({\n anchor: [0.5, 1],\n src: PEOPLE,\n ...(style?.geoMarker || {}),\n }),\n });\n this.map = map;\n if (data?.length) {\n this.loadData(data);\n }\n\n this.play = play || false;\n\n this.show = show;\n this.showStartPoint = showStartPoint;\n this.showEndPoint = showEndPoint;\n this._init = true;\n }\n\n set play(val) {\n if (this._init) {\n if (val) {\n this.startAnimation();\n } else {\n this.stopAnimation();\n }\n }\n }\n\n set show(val) {\n this.vectorLayer.setVisible(val);\n\n if (this._animating) {\n this.stopAnimation();\n }\n }\n\n set showStartPoint(val) {\n if (this.vectorLayer) {\n const source = this.vectorLayer.getSource();\n if (val) {\n !source.hasFeature(this.startMarker) && source.addFeature(this.startMarker);\n } else {\n source.removeFeature(this.startMarker);\n }\n }\n }\n set showEndPoint(val) {\n if (this.vectorLayer) {\n const source = this.vectorLayer.getSource();\n if (val) {\n !source.hasFeature(this.endMarker) && source.addFeature(this.endMarker);\n } else {\n source.removeFeature(this.endMarker);\n }\n }\n }\n\n loadObjectData(data) {\n let coordinates = [];\n let distanceArr = [];\n let dataDistanceArr = [];\n const routeFeature = data.map((item, index) => {\n const { geometryInfo } = item;\n let { type, lngLats, coordType } = geometryInfo;\n const lineData = transformGeometryInfoToWGS84(lngLats, type, coordType)[0];\n coordinates.push(...lineData);\n const line = TurfLineString(lineData);\n distanceArr.push(TurfLength(line));\n const route = new LineString(lineData);\n // 计算两个点的之间距离\n lineData.forEach((v, i) => {\n if (i === 0) {\n dataDistanceArr[index] = [0];\n } else {\n const from = TurfPoint(lineData[i - 1]);\n const to = TurfPoint(v);\n dataDistanceArr[index].push(TurfDistance(from, to));\n }\n });\n return new Feature({\n type: 'route',\n geometry: route,\n ...item,\n });\n });\n const dataDistanceRatioArr = dataDistanceArr.map(arr => {\n const totalDistance = _.sum(arr);\n const list = arr.map(distance => distance / totalDistance);\n // 计算两个点之间距离的占比\n return list.map((distance, index) => {\n if (index === 0) {\n return distance;\n } else if (index === arr.length - 1) {\n return 1;\n }\n return _.sum(list.slice(0, index + 1));\n });\n });\n\n this.distanceArr = distanceArr;\n const totalDistance = _.sum(distanceArr);\n distanceArr = distanceArr.map(distance => distance / totalDistance);\n this.distanceRatioArr = distanceArr.map((distance, index) => {\n if (index === 0) {\n return distance;\n } else if (index === distanceArr.length - 1) {\n return 1;\n }\n return _.sum(distanceArr.slice(0, index + 1));\n });\n this.dataDistanceRatioArr = dataDistanceRatioArr;\n this.route = new LineString(coordinates);\n const firstFeature = routeFeature[0];\n const lastFeature = _.last(routeFeature);\n const firstGeometry = new Point(firstFeature.getGeometry().getFirstCoordinate());\n const lastGeometry = new Point(lastFeature.getGeometry().getLastCoordinate());\n return {\n routeFeature,\n firstGeometry,\n lastGeometry,\n };\n }\n\n loadArrayData(data) {\n const route = new LineString(data);\n const distance = TurfLength(TurfLineString(data));\n this.route = route;\n const routeFeature = [\n new Feature({\n type: 'route',\n geometry: route,\n }),\n ];\n this.distanceArr = [distance];\n this.distanceRatioArr = [1];\n const firstGeometry = new Point(route.getFirstCoordinate());\n const lastGeometry = new Point(route.getLastCoordinate());\n return {\n routeFeature,\n firstGeometry,\n lastGeometry,\n };\n }\n\n getDefaultRouteStyle(feature, options = {}) {\n const style = isFunction(this.style?.route)\n ? this.style.route(feature)\n : this.style?.route || {};\n return new Style({\n stroke: new Stroke({\n width: 6,\n color: [237, 212, 0, 0.8],\n ...style,\n ...options,\n }),\n });\n }\n\n setRouteStyle(features) {\n features.forEach(feature => {\n feature.setStyle((feature, resolution) => {\n const styles = [this.getDefaultRouteStyle(feature)];\n if (!isEmpty(this.arrowStyle)) {\n styles.push(\n ...getPathLineStyles({ feature, resolution, arrowStyle: this.arrowStyle }),\n );\n }\n\n return styles;\n });\n });\n }\n\n loadData(data) {\n if (this.vectorLayer) {\n this.destroy();\n }\n\n let routeFeature = null;\n let firstGeometry = null;\n let lastGeometry = null;\n if (isArray(data[0])) {\n ({ routeFeature, firstGeometry, lastGeometry } = this.loadArrayData(data));\n } else {\n ({ routeFeature, firstGeometry, lastGeometry } = this.loadObjectData(data));\n }\n\n const startMarker = new Feature({\n type: 'start',\n geometry: firstGeometry,\n });\n startMarker.setStyle(this.startStyle);\n const endMarker = new Feature({\n type: 'end',\n geometry: lastGeometry,\n });\n endMarker.setStyle(this.endStyle);\n const position = startMarker.getGeometry().clone();\n\n const geoMarker = new Feature({\n type: 'geoMarker',\n geometry: position,\n });\n geoMarker.setStyle(this.geoMarkerStyle);\n this.setRouteStyle(routeFeature);\n const vectorLayer = new VectorLayer({\n source: new VectorSource({\n features: [...routeFeature, geoMarker],\n }),\n });\n this.map.addLayer(vectorLayer);\n this.routeFeatures = routeFeature;\n this.position = position;\n this.vectorLayer = vectorLayer;\n this.geoMarker = geoMarker;\n this.startMarker = startMarker;\n this.endMarker = endMarker;\n if (!vectorLayer.getSource().hasFeature(startMarker)) {\n vectorLayer.getSource().addFeature(startMarker);\n }\n if (!vectorLayer.getSource().hasFeature(endMarker)) {\n vectorLayer.getSource().addFeature(endMarker);\n }\n if (this.showTrace) {\n this.addTrace();\n }\n }\n\n moveTo(process) {\n this.currentIndex = this.distanceRatioArr.findIndex(distance => distance >= process);\n this._distance = process;\n const distance = this.calculateDistance();\n const route = this.routeFeatures[this.currentIndex].getGeometry();\n const currentCoordinate = route.getCoordinateAt(distance > 1 ? 2 - distance : distance);\n if (distance > 0) {\n const lastCoordinate = route.getCoordinateAt(distance - 0.0001);\n this.setRotation(lastCoordinate, currentCoordinate);\n }\n if (distance >= 1 && this.currentIndex >= this.routeFeatures.length - 1) {\n this.isPlayEnd = true;\n }\n this.position.setCoordinates(currentCoordinate);\n\n if (this.showTrace) {\n const list = [];\n const getCoordinates = ({ startCoordinates, endCoordinates, lineCoordinates }) => {\n const start = TurfPoint(startCoordinates);\n const end = TurfPoint(endCoordinates);\n const line = TurfLineString(lineCoordinates);\n const sliced = lineSlice(start, end, line);\n return sliced.geometry.coordinates;\n };\n if (this.currentIndex === 0) {\n list.push(\n getCoordinates({\n startCoordinates: this.startMarker.getGeometry().getCoordinates(),\n endCoordinates: currentCoordinate,\n lineCoordinates: route.getCoordinates(),\n }),\n );\n } else {\n const features = this.routeFeatures.slice(0, this.currentIndex + 1);\n features.forEach((feature, index) => {\n const geometry = feature.getGeometry();\n let endCoordinates = currentCoordinate;\n if (index !== this.currentIndex) {\n endCoordinates = geometry.getLastCoordinate();\n }\n list.push(\n getCoordinates({\n startCoordinates: geometry.getFirstCoordinate(),\n endCoordinates,\n lineCoordinates: geometry.getCoordinates(),\n }),\n );\n });\n }\n list.forEach((coordinates, index) => {\n coordinates.forEach((coordinate, i) => {\n this.setPaintLinePath({ coordinate, init: i === 0, index });\n });\n });\n }\n this.onPlaying && this.onPlaying(this._distance, this.currentIndex);\n }\n\n playEnd() {\n if (!this.repeatPlay) {\n this.stopAnimation();\n }\n this.isPlayEnd = true;\n if (this.showTrace) {\n this.lineDashFeatures.forEach(feature => {\n this.vectorLayer.getSource().removeFeature(feature);\n });\n this.paintLineFeatures.forEach(feature => {\n this.vectorLayer.getSource().removeFeature(feature);\n feature.setGeometry(null);\n });\n this.setRouteStyle(this.routeFeatures);\n }\n }\n\n setRotation(lastCoordinate, coordinate) {\n if (lastCoordinate && coordinate && this.enableRotation) {\n const x = coordinate[0] - lastCoordinate[0];\n const y = coordinate[1] - lastCoordinate[1];\n const rotation = Math.atan2(y, x);\n this.geoMarkerStyle.getImage().setRotation(Math.atan2(1, 0) - rotation);\n }\n }\n\n // 计算当前路段跑的距离,计算公式:(当前跑的总距离 - 已跑路段的总距离) / 当前路段的百分比\n calculateDistance() {\n const currentRouteRatio =\n this.currentIndex > 0\n ? this.distanceRatioArr[this.currentIndex] -\n this.distanceRatioArr[this.currentIndex - 1]\n : this.distanceRatioArr[this.currentIndex];\n let distance =\n (this._distance -\n (this.currentIndex > 0 ? this.distanceRatioArr[this.currentIndex - 1] : 0)) /\n currentRouteRatio;\n return distance;\n }\n\n moveFeature(event) {\n const vectorContext = getVectorContext(event);\n const speed = Number(this.speed);\n const time = event.frameState.time;\n const elapsedTime = time - this._lastTime;\n\n this._distance = (this._distance + (speed * elapsedTime) / 1e6) % 2;\n let distance = this.calculateDistance();\n this._lastTime = time;\n\n if (distance > 1) {\n this.currentIndex = this.currentIndex + 1;\n distance = 0;\n }\n // 计算当前进度的对应index\n const dataIndex = this.dataDistanceRatioArr[this.currentIndex].findIndex(\n (v, index, arr) => {\n if (index === arr.length - 1) {\n return true;\n }\n return v <= distance <= arr[index + 1];\n },\n );\n\n if (this.currentIndex > this.routeFeatures.length - 1) {\n this.playEnd();\n if (this.repeatPlay) {\n this.currentIndex = this.routeFeatures.length - 1;\n } else {\n const currentCoordinate = this.endMarker.getGeometry().getCoordinates();\n this.position.setCoordinates(currentCoordinate);\n vectorContext.setStyle(this.geoMarkerStyle);\n vectorContext.drawGeometry(this.position);\n this.onPlayEnd && this.onPlayEnd();\n return;\n }\n }\n const route = this.routeFeatures[this.currentIndex].getGeometry();\n const currentCoordinate = route.getCoordinateAt(distance > 1 ? 2 - distance : distance);\n this.position.setCoordinates(currentCoordinate);\n this.setRotation(this.lastCoordinate, currentCoordinate);\n this.lastCoordinate = currentCoordinate;\n if (this.autoView) {\n this.map.getView().fit(this.position, {\n padding: [100, 400, 100, 400],\n maxZoom: this.map.getView().getZoom(),\n duration: 0,\n });\n }\n\n vectorContext.setStyle(this.geoMarkerStyle);\n vectorContext.drawGeometry(this.position);\n if (this.showTrace) {\n this.setPaintLinePath({\n coordinate: currentCoordinate,\n index: this.currentIndex,\n });\n }\n this.onPlaying && this.onPlaying(this._distance, this.currentIndex, dataIndex);\n this.map.render();\n }\n\n setPaintLinePath({ coordinate, init, index }) {\n const paintLineFeature = this.paintLineFeatures[index];\n if (init) {\n paintLineFeature.setGeometry(null);\n }\n const geometry = paintLineFeature.getGeometry();\n if (geometry) {\n geometry.setCoordinates([[...geometry.getCoordinates()[0], coordinate]]);\n } else {\n let lineData = [[coordinate]];\n const route = new MultiLineString(lineData);\n\n paintLineFeature.setGeometry(route);\n }\n if (!this.vectorLayer.getSource().hasFeature(paintLineFeature)) {\n this.vectorLayer.getSource().addFeature(paintLineFeature);\n }\n }\n\n addTrace() {\n if (this._distance === 0) {\n const lineDashFeatures = [];\n const paintLineFeatures = [];\n this.routeFeatures.forEach(feature => {\n const lineDashFeature = feature.clone();\n const paintLineFeature = feature.clone();\n paintLineFeature.setGeometry(null);\n lineDashFeature.setStyle(\n this.getDefaultRouteStyle(feature, {\n lineDash: [15],\n }),\n );\n lineDashFeatures.push(lineDashFeature);\n paintLineFeatures.push(paintLineFeature);\n });\n this.lineDashFeatures = lineDashFeatures;\n this.paintLineFeatures = paintLineFeatures;\n }\n }\n\n startAnimation() {\n if (!this.repeatPlay && this.isPlayEnd) {\n // 当不重复播放,且当前在终点时,从起点开始播放\n this.cancel();\n this.geoMarkerStyle.getImage().setRotation(0);\n }\n this.isPlayEnd = false;\n this._animating = true;\n this._lastTime = Date.now();\n this._on_event = this.vectorLayer.on('postrender', this.moveFeature.bind(this));\n this.geoMarker.setGeometry(null);\n if (this.showTrace) {\n this.lineDashFeatures.forEach(feature => {\n if (!this.vectorLayer.getSource().hasFeature(feature)) {\n this.vectorLayer.getSource().addFeature(feature);\n }\n });\n this.routeFeatures.forEach(feature => {\n feature.setStyle(new Style({}));\n });\n }\n }\n\n stopAnimation() {\n this._animating = false;\n this.geoMarker.setGeometry(this.position);\n if (this._on_event) {\n this.vectorLayer.un('postrender', this._on_event.listener);\n }\n }\n\n cancel() {\n this.geoMarkerStyle.getImage().setRotation(0);\n this._distance = 0;\n this.currentIndex = 0;\n const currentCoordinate = this.route.getCoordinateAt(0);\n this.position.setCoordinates(currentCoordinate);\n this.playEnd();\n this.onPlaying && this.onPlaying(this._distance, this.currentIndex);\n }\n\n destroy() {\n if (this._animating) {\n this.stopAnimation();\n }\n\n this.map.removeLayer(this.vectorLayer);\n this.routeFeatures = null;\n this.position = null;\n this.vectorLayer = null;\n this.geoMarker = null;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,GAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,GAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,OAAA,GAAAC,uBAAA,CAAAV,OAAA;AACA,IAAAW,wBAAA,GAAAX,OAAA;AACA,IAAAY,kBAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,KAAA,GAAAb,OAAA;AAMoB,SAAAc,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAL,wBAAAS,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAA1B,uBAAAoB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,QAAAF,GAAA,sCAAAE,OAAA,wBAAAe,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAlB,GAAA,kBAAAA,GAAA,gBAAAA,GAAA,WAAAA,GAAA,yBAAAiB,MAAA,IAAAjB,GAAA,CAAAmB,WAAA,KAAAF,MAAA,IAAAjB,GAAA,KAAAiB,MAAA,CAAAL,SAAA,qBAAAZ,GAAA,KAAAE,OAAA,CAAAF,GAAA;AAAA,SAAAoB,mBAAAC,GAAA,WAAAC,kBAAA,CAAAD,GAAA,KAAAE,gBAAA,CAAAF,GAAA,KAAAG,2BAAA,CAAAH,GAAA,KAAAI,kBAAA;AAAA,SAAAA,mBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAG,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAE,iBAAA,CAAAF,CAAA,EAAAC,MAAA,OAAAE,CAAA,GAAAtB,MAAA,CAAAI,SAAA,CAAAmB,QAAA,CAAAjB,IAAA,CAAAa,CAAA,EAAAK,KAAA,aAAAF,CAAA,iBAAAH,CAAA,CAAAR,WAAA,EAAAW,CAAA,GAAAH,CAAA,CAAAR,WAAA,CAAAc,IAAA,MAAAH,CAAA,cAAAA,CAAA,mBAAAI,KAAA,CAAAC,IAAA,CAAAR,CAAA,OAAAG,CAAA,+DAAAM,IAAA,CAAAN,CAAA,UAAAD,iBAAA,CAAAF,CAAA,EAAAC,MAAA;AAAA,SAAAL,iBAAAc,IAAA,eAAApB,MAAA,oBAAAoB,IAAA,CAAApB,MAAA,CAAAC,QAAA,aAAAmB,IAAA,+BAAAH,KAAA,CAAAC,IAAA,CAAAE,IAAA;AAAA,SAAAf,mBAAAD,GAAA,QAAAa,KAAA,CAAAI,OAAA,CAAAjB,GAAA,UAAAQ,iBAAA,CAAAR,GAAA;AAAA,SAAAQ,kBAAAR,GAAA,EAAAkB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAlB,GAAA,CAAAmB,MAAA,EAAAD,GAAA,GAAAlB,GAAA,CAAAmB,MAAA,WAAAC,CAAA,MAAAC,IAAA,OAAAR,KAAA,CAAAK,GAAA,GAAAE,CAAA,GAAAF,GAAA,EAAAE,CAAA,IAAAC,IAAA,CAAAD,CAAA,IAAApB,GAAA,CAAAoB,CAAA,UAAAC,IAAA;AAAA,SAAAC,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAtC,MAAA,CAAAsC,IAAA,CAAAF,MAAA,OAAApC,MAAA,CAAAuC,qBAAA,QAAAC,OAAA,GAAAxC,MAAA,CAAAuC,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAA1C,MAAA,CAAAE,wBAAA,CAAAkC,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAd,CAAA,MAAAA,CAAA,GAAAe,SAAA,CAAAhB,MAAA,EAAAC,CAAA,UAAAgB,MAAA,WAAAD,SAAA,CAAAf,CAAA,IAAAe,SAAA,CAAAf,CAAA,QAAAA,CAAA,OAAAE,OAAA,CAAAnC,MAAA,CAAAiD,MAAA,OAAAC,OAAA,WAAA/C,GAAA,IAAAgD,eAAA,CAAAJ,MAAA,EAAA5C,GAAA,EAAA8C,MAAA,CAAA9C,GAAA,SAAAH,MAAA,CAAAoD,yBAAA,GAAApD,MAAA,CAAAqD,gBAAA,CAAAN,MAAA,EAAA/C,MAAA,CAAAoD,yBAAA,CAAAH,MAAA,KAAAd,OAAA,CAAAnC,MAAA,CAAAiD,MAAA,GAAAC,OAAA,WAAA/C,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAA8C,MAAA,EAAA5C,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAA+C,MAAA,EAAA9C,GAAA,iBAAA4C,MAAA;AAAA,SAAAI,gBAAA3D,GAAA,EAAAW,GAAA,EAAAmD,KAAA,IAAAnD,GAAA,GAAAoD,cAAA,CAAApD,GAAA,OAAAA,GAAA,IAAAX,GAAA,IAAAQ,MAAA,CAAAC,cAAA,CAAAT,GAAA,EAAAW,GAAA,IAAAmD,KAAA,EAAAA,KAAA,EAAAX,UAAA,QAAAa,YAAA,QAAAC,QAAA,oBAAAjE,GAAA,CAAAW,GAAA,IAAAmD,KAAA,WAAA9D,GAAA;AAAA,SAAAkE,gBAAAC,QAAA,EAAAC,WAAA,UAAAD,QAAA,YAAAC,WAAA,eAAA1C,SAAA;AAAA,SAAA2C,kBAAAd,MAAA,EAAAe,KAAA,aAAA7B,CAAA,MAAAA,CAAA,GAAA6B,KAAA,CAAA9B,MAAA,EAAAC,CAAA,UAAA8B,UAAA,GAAAD,KAAA,CAAA7B,CAAA,GAAA8B,UAAA,CAAApB,UAAA,GAAAoB,UAAA,CAAApB,UAAA,WAAAoB,UAAA,CAAAP,YAAA,wBAAAO,UAAA,EAAAA,UAAA,CAAAN,QAAA,SAAAzD,MAAA,CAAAC,cAAA,CAAA8C,MAAA,EAAAQ,cAAA,CAAAQ,UAAA,CAAA5D,GAAA,GAAA4D,UAAA;AAAA,SAAAC,aAAAJ,WAAA,EAAAK,UAAA,EAAAC,WAAA,QAAAD,UAAA,EAAAJ,iBAAA,CAAAD,WAAA,CAAAxD,SAAA,EAAA6D,UAAA,OAAAC,WAAA,EAAAL,iBAAA,CAAAD,WAAA,EAAAM,WAAA,GAAAlE,MAAA,CAAAC,cAAA,CAAA2D,WAAA,iBAAAH,QAAA,mBAAAG,WAAA;AAAA,SAAAL,eAAAY,GAAA,QAAAhE,GAAA,GAAAiE,YAAA,CAAAD,GAAA,oBAAAzE,OAAA,CAAAS,GAAA,iBAAAA,GAAA,GAAAkE,MAAA,CAAAlE,GAAA;AAAA,SAAAiE,aAAAE,KAAA,EAAAC,IAAA,QAAA7E,OAAA,CAAA4E,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAA7D,MAAA,CAAAgE,WAAA,OAAAD,IAAA,KAAAE,SAAA,QAAAC,GAAA,GAAAH,IAAA,CAAAlE,IAAA,CAAAgE,KAAA,EAAAC,IAAA,oBAAA7E,OAAA,CAAAiF,GAAA,uBAAAA,GAAA,YAAAzD,SAAA,4DAAAqD,IAAA,gBAAAF,MAAA,GAAAO,MAAA,EAAAN,KAAA;AAAA,IACCO,YAAY;EAC7B,SAAAA,aAAYC,OAAO,EAAE;IAAApB,eAAA,OAAAmB,YAAA;IACjB,IACIE,IAAI,GAgBJD,OAAO,CAhBPC,IAAI;MAAAC,aAAA,GAgBJF,OAAO,CAfPG,IAAI;MAAJA,IAAI,GAAAD,aAAA,cAAG,IAAI,GAAAA,aAAA;MACXE,IAAI,GAcJJ,OAAO,CAdPI,IAAI;MACJC,KAAK,GAaLL,OAAO,CAbPK,KAAK;MACLC,GAAG,GAYHN,OAAO,CAZPM,GAAG;MACHC,KAAK,GAWLP,OAAO,CAXPO,KAAK;MACLC,SAAS,GAUTR,OAAO,CAVPQ,SAAS;MACTC,SAAS,GASTT,OAAO,CATPS,SAAS;MAAAC,mBAAA,GASTV,OAAO,CARPW,UAAU;MAAVA,UAAU,GAAAD,mBAAA,cAAG,IAAI,GAAAA,mBAAA;MAAAE,iBAAA,GAQjBZ,OAAO,CAPPa,QAAQ;MAARA,QAAQ,GAAAD,iBAAA,cAAG,KAAK,GAAAA,iBAAA;MAAAE,qBAAA,GAOhBd,OAAO,CANPe,cAAc;MAAdA,cAAc,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;MACtBE,UAAU,GAKVhB,OAAO,CALPgB,UAAU;MACVC,SAAS,GAITjB,OAAO,CAJPiB,SAAS;MAAAC,mBAAA,GAITlB,OAAO,CAHPmB,UAAU;MAAVA,UAAU,GAAAD,mBAAA,cAAG,CAAC,CAAC,GAAAA,mBAAA;MAAAE,qBAAA,GAGfpB,OAAO,CAFPqB,cAAc;MAAdA,cAAc,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;MAAAE,qBAAA,GAErBtB,OAAO,CADPuB,YAAY;MAAZA,YAAY,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAGvB,IAAI,CAACE,KAAK,GAAG,KAAK;IAElB,IAAI,CAACnB,KAAK,GAAGA,KAAK,IAAI,EAAE;IACxB,IAAI,CAACG,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACF,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACI,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACI,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACE,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACM,YAAY,GAAG,CAAC;IACrB,IAAI,CAACC,SAAS,GAAG,CAAC;IAClB,IAAI,CAACC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAChB,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACiB,cAAc,GAAG,IAAI;IAC1B,IAAI,CAACC,gBAAgB,GAAG,EAAE;IAC1B,IAAI,CAACC,oBAAoB,GAAG,EAAE;IAC9B,IAAI,CAACC,SAAS,GAAG,KAAK;IACtB,IAAI,CAACC,UAAU,GAAG,IAAIC,YAAK,CAAC;MACxBC,KAAK,EAAE,IAAIC,WAAI,CAAArE,aAAA;QACXsE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAChBC,GAAG,EAAEC;MAAE,GACH,CAAAjC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEkC,KAAK,KAAI,CAAC,CAAC,CACzB;IACL,CAAC,CAAC;IACF,IAAI,CAACC,QAAQ,GAAG,IAAIP,YAAK,CAAC;MACtBC,KAAK,EAAE,IAAIC,WAAI,CAAArE,aAAA;QACXsE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAChBC,GAAG,EAAEI;MAAE,GACH,CAAApC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEqC,GAAG,KAAI,CAAC,CAAC,CACvB;IACL,CAAC,CAAC;IACF,IAAI,CAACC,cAAc,GAAG,IAAIV,YAAK,CAAC;MAC5BC,KAAK,EAAE,IAAIC,WAAI,CAAArE,aAAA;QACXsE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAChBC,GAAG,EAAEO;MAAM,GACP,CAAAvC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEwC,SAAS,KAAI,CAAC,CAAC,CAC7B;IACL,CAAC,CAAC;IACF,IAAI,CAACzC,GAAG,GAAGA,GAAG;IACd,IAAIL,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAE/C,MAAM,EAAE;MACd,IAAI,CAAC8F,QAAQ,CAAC/C,IAAI,CAAC;IACvB;IAEA,IAAI,CAACG,IAAI,GAAGA,IAAI,IAAI,KAAK;IAEzB,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACkB,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACE,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,KAAK,GAAG,IAAI;EACrB;EAACtC,YAAA,CAAAa,YAAA;IAAA1E,GAAA;IAAAK,GAAA,EAED,SAAAA,IAASuH,GAAG,EAAE;MACV,IAAI,IAAI,CAACzB,KAAK,EAAE;QACZ,IAAIyB,GAAG,EAAE;UACL,IAAI,CAACC,cAAc,CAAC,CAAC;QACzB,CAAC,MAAM;UACH,IAAI,CAACC,aAAa,CAAC,CAAC;QACxB;MACJ;IACJ;EAAC;IAAA9H,GAAA;IAAAK,GAAA,EAED,SAAAA,IAASuH,GAAG,EAAE;MACV,IAAI,CAACG,WAAW,CAACC,UAAU,CAACJ,GAAG,CAAC;MAEhC,IAAI,IAAI,CAACK,UAAU,EAAE;QACjB,IAAI,CAACH,aAAa,CAAC,CAAC;MACxB;IACJ;EAAC;IAAA9H,GAAA;IAAAK,GAAA,EAED,SAAAA,IAAmBuH,GAAG,EAAE;MACpB,IAAI,IAAI,CAACG,WAAW,EAAE;QAClB,IAAMjF,MAAM,GAAG,IAAI,CAACiF,WAAW,CAACG,SAAS,CAAC,CAAC;QAC3C,IAAIN,GAAG,EAAE;UACL,CAAC9E,MAAM,CAACqF,UAAU,CAAC,IAAI,CAACC,WAAW,CAAC,IAAItF,MAAM,CAACuF,UAAU,CAAC,IAAI,CAACD,WAAW,CAAC;QAC/E,CAAC,MAAM;UACHtF,MAAM,CAACwF,aAAa,CAAC,IAAI,CAACF,WAAW,CAAC;QAC1C;MACJ;IACJ;EAAC;IAAApI,GAAA;IAAAK,GAAA,EACD,SAAAA,IAAiBuH,GAAG,EAAE;MAClB,IAAI,IAAI,CAACG,WAAW,EAAE;QAClB,IAAMjF,MAAM,GAAG,IAAI,CAACiF,WAAW,CAACG,SAAS,CAAC,CAAC;QAC3C,IAAIN,GAAG,EAAE;UACL,CAAC9E,MAAM,CAACqF,UAAU,CAAC,IAAI,CAACI,SAAS,CAAC,IAAIzF,MAAM,CAACuF,UAAU,CAAC,IAAI,CAACE,SAAS,CAAC;QAC3E,CAAC,MAAM;UACHzF,MAAM,CAACwF,aAAa,CAAC,IAAI,CAACC,SAAS,CAAC;QACxC;MACJ;IACJ;EAAC;IAAAvI,GAAA;IAAAmD,KAAA,EAED,SAAAqF,eAAe5D,IAAI,EAAE;MACjB,IAAI6D,WAAW,GAAG,EAAE;MACpB,IAAIC,WAAW,GAAG,EAAE;MACpB,IAAIC,eAAe,GAAG,EAAE;MACxB,IAAMC,YAAY,GAAGhE,IAAI,CAACK,GAAG,CAAC,UAAC4D,IAAI,EAAEC,KAAK,EAAK;QAC3C,IAAQC,YAAY,GAAKF,IAAI,CAArBE,YAAY;QACpB,IAAMC,IAAI,GAAyBD,YAAY,CAAzCC,IAAI;UAAEC,OAAO,GAAgBF,YAAY,CAAnCE,OAAO;UAAEC,SAAS,GAAKH,YAAY,CAA1BG,SAAS;QAC9B,IAAMC,QAAQ,GAAG,IAAAC,qDAA4B,EAACH,OAAO,EAAED,IAAI,EAAEE,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1ET,WAAW,CAAChG,IAAI,CAAAC,KAAA,CAAhB+F,WAAW,EAAAhI,kBAAA,CAAS0I,QAAQ,EAAC;QAC7B,IAAME,IAAI,GAAG,IAAAC,gBAAc,EAACH,QAAQ,CAAC;QACrCT,WAAW,CAACjG,IAAI,CAAC,IAAA8G,YAAU,EAACF,IAAI,CAAC,CAAC;QAClC,IAAMG,KAAK,GAAG,IAAIC,gBAAU,CAACN,QAAQ,CAAC;QACtC;QACAA,QAAQ,CAACpG,OAAO,CAAC,UAAC2G,CAAC,EAAE5H,CAAC,EAAK;UACvB,IAAIA,CAAC,KAAK,CAAC,EAAE;YACT6G,eAAe,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;UAChC,CAAC,MAAM;YACH,IAAMtH,IAAI,GAAG,IAAAmI,WAAS,EAACR,QAAQ,CAACrH,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,IAAM8H,EAAE,GAAG,IAAAD,WAAS,EAACD,CAAC,CAAC;YACvBf,eAAe,CAACG,KAAK,CAAC,CAACrG,IAAI,CAAC,IAAAoH,cAAY,EAACrI,IAAI,EAAEoI,EAAE,CAAC,CAAC;UACvD;QACJ,CAAC,CAAC;QACF,OAAO,IAAIE,mBAAO,CAAAnH,aAAA;UACdqG,IAAI,EAAE,OAAO;UACbe,QAAQ,EAAEP;QAAK,GACZX,IAAI,CACV,CAAC;MACN,CAAC,CAAC;MACF,IAAMlC,oBAAoB,GAAGgC,eAAe,CAAC1D,GAAG,CAAC,UAAAvE,GAAG,EAAI;QACpD,IAAMsJ,aAAa,GAAGC,kBAAC,CAACC,GAAG,CAACxJ,GAAG,CAAC;QAChC,IAAMyJ,IAAI,GAAGzJ,GAAG,CAACuE,GAAG,CAAC,UAAAmF,QAAQ;UAAA,OAAIA,QAAQ,GAAGJ,aAAa;QAAA,EAAC;QAC1D;QACA,OAAOG,IAAI,CAAClF,GAAG,CAAC,UAACmF,QAAQ,EAAEtB,KAAK,EAAK;UACjC,IAAIA,KAAK,KAAK,CAAC,EAAE;YACb,OAAOsB,QAAQ;UACnB,CAAC,MAAM,IAAItB,KAAK,KAAKpI,GAAG,CAACmB,MAAM,GAAG,CAAC,EAAE;YACjC,OAAO,CAAC;UACZ;UACA,OAAOoI,kBAAC,CAACC,GAAG,CAACC,IAAI,CAAC9I,KAAK,CAAC,CAAC,EAAEyH,KAAK,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC;MACN,CAAC,CAAC;MAEF,IAAI,CAACJ,WAAW,GAAGA,WAAW;MAC9B,IAAMsB,aAAa,GAAGC,kBAAC,CAACC,GAAG,CAACxB,WAAW,CAAC;MACxCA,WAAW,GAAGA,WAAW,CAACzD,GAAG,CAAC,UAAAmF,QAAQ;QAAA,OAAIA,QAAQ,GAAGJ,aAAa;MAAA,EAAC;MACnE,IAAI,CAACtD,gBAAgB,GAAGgC,WAAW,CAACzD,GAAG,CAAC,UAACmF,QAAQ,EAAEtB,KAAK,EAAK;QACzD,IAAIA,KAAK,KAAK,CAAC,EAAE;UACb,OAAOsB,QAAQ;QACnB,CAAC,MAAM,IAAItB,KAAK,KAAKJ,WAAW,CAAC7G,MAAM,GAAG,CAAC,EAAE;UACzC,OAAO,CAAC;QACZ;QACA,OAAOoI,kBAAC,CAACC,GAAG,CAACxB,WAAW,CAACrH,KAAK,CAAC,CAAC,EAAEyH,KAAK,GAAG,CAAC,CAAC,CAAC;MACjD,CAAC,CAAC;MACF,IAAI,CAACnC,oBAAoB,GAAGA,oBAAoB;MAChD,IAAI,CAAC6C,KAAK,GAAG,IAAIC,gBAAU,CAAChB,WAAW,CAAC;MACxC,IAAM4B,YAAY,GAAGzB,YAAY,CAAC,CAAC,CAAC;MACpC,IAAM0B,WAAW,GAAGL,kBAAC,CAACM,IAAI,CAAC3B,YAAY,CAAC;MACxC,IAAM4B,aAAa,GAAG,IAAIC,WAAK,CAACJ,YAAY,CAACK,WAAW,CAAC,CAAC,CAACC,kBAAkB,CAAC,CAAC,CAAC;MAChF,IAAMC,YAAY,GAAG,IAAIH,WAAK,CAACH,WAAW,CAACI,WAAW,CAAC,CAAC,CAACG,iBAAiB,CAAC,CAAC,CAAC;MAC7E,OAAO;QACHjC,YAAY,EAAZA,YAAY;QACZ4B,aAAa,EAAbA,aAAa;QACbI,YAAY,EAAZA;MACJ,CAAC;IACL;EAAC;IAAA5K,GAAA;IAAAmD,KAAA,EAED,SAAA2H,cAAclG,IAAI,EAAE;MAChB,IAAM4E,KAAK,GAAG,IAAIC,gBAAU,CAAC7E,IAAI,CAAC;MAClC,IAAMwF,QAAQ,GAAG,IAAAb,YAAU,EAAC,IAAAD,gBAAc,EAAC1E,IAAI,CAAC,CAAC;MACjD,IAAI,CAAC4E,KAAK,GAAGA,KAAK;MAClB,IAAMZ,YAAY,GAAG,CACjB,IAAIkB,mBAAO,CAAC;QACRd,IAAI,EAAE,OAAO;QACbe,QAAQ,EAAEP;MACd,CAAC,CAAC,CACL;MACD,IAAI,CAACd,WAAW,GAAG,CAAC0B,QAAQ,CAAC;MAC7B,IAAI,CAAC1D,gBAAgB,GAAG,CAAC,CAAC,CAAC;MAC3B,IAAM8D,aAAa,GAAG,IAAIC,WAAK,CAACjB,KAAK,CAACmB,kBAAkB,CAAC,CAAC,CAAC;MAC3D,IAAMC,YAAY,GAAG,IAAIH,WAAK,CAACjB,KAAK,CAACqB,iBAAiB,CAAC,CAAC,CAAC;MACzD,OAAO;QACHjC,YAAY,EAAZA,YAAY;QACZ4B,aAAa,EAAbA,aAAa;QACbI,YAAY,EAAZA;MACJ,CAAC;IACL;EAAC;IAAA5K,GAAA;IAAAmD,KAAA,EAED,SAAA4H,qBAAqBC,OAAO,EAAgB;MAAA,IAAAC,WAAA,EAAAC,YAAA;MAAA,IAAdvG,OAAO,GAAA9B,SAAA,CAAAhB,MAAA,QAAAgB,SAAA,QAAA0B,SAAA,GAAA1B,SAAA,MAAG,CAAC,CAAC;MACtC,IAAMqC,KAAK,GAAG,IAAAiG,kBAAU,GAAAF,WAAA,GAAC,IAAI,CAAC/F,KAAK,cAAA+F,WAAA,uBAAVA,WAAA,CAAYzB,KAAK,CAAC,GACrC,IAAI,CAACtE,KAAK,CAACsE,KAAK,CAACwB,OAAO,CAAC,GACzB,EAAAE,YAAA,OAAI,CAAChG,KAAK,cAAAgG,YAAA,uBAAVA,YAAA,CAAY1B,KAAK,KAAI,CAAC,CAAC;MAC7B,OAAO,IAAI1C,YAAK,CAAC;QACbsE,MAAM,EAAE,IAAIC,aAAM,CAAA1I,aAAA,CAAAA,aAAA;UACd2I,KAAK,EAAE,CAAC;UACRC,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG;QAAC,GACtBrG,KAAK,GACLP,OAAO,CACb;MACL,CAAC,CAAC;IACN;EAAC;IAAA3E,GAAA;IAAAmD,KAAA,EAED,SAAAqI,cAAcC,QAAQ,EAAE;MAAA,IAAAC,KAAA;MACpBD,QAAQ,CAAC1I,OAAO,CAAC,UAAAiI,OAAO,EAAI;QACxBA,OAAO,CAACW,QAAQ,CAAC,UAACX,OAAO,EAAEY,UAAU,EAAK;UACtC,IAAMC,MAAM,GAAG,CAACH,KAAI,CAACX,oBAAoB,CAACC,OAAO,CAAC,CAAC;UACnD,IAAI,CAAC,IAAAc,eAAO,EAACJ,KAAI,CAAC/F,UAAU,CAAC,EAAE;YAC3BkG,MAAM,CAACpJ,IAAI,CAAAC,KAAA,CAAXmJ,MAAM,EAAApL,kBAAA,CACC,IAAAsL,6BAAiB,EAAC;cAAEf,OAAO,EAAPA,OAAO;cAAEY,UAAU,EAAVA,UAAU;cAAEjG,UAAU,EAAE+F,KAAI,CAAC/F;YAAW,CAAC,CAAC,CAC9E,CAAC;UACL;UAEA,OAAOkG,MAAM;QACjB,CAAC,CAAC;MACN,CAAC,CAAC;IACN;EAAC;IAAA7L,GAAA;IAAAmD,KAAA,EAED,SAAAwE,SAAS/C,IAAI,EAAE;MACX,IAAI,IAAI,CAACmD,WAAW,EAAE;QAClB,IAAI,CAACiE,OAAO,CAAC,CAAC;MAClB;MAEA,IAAIpD,YAAY,GAAG,IAAI;MACvB,IAAI4B,aAAa,GAAG,IAAI;MACxB,IAAII,YAAY,GAAG,IAAI;MACvB,IAAI,IAAAjJ,eAAO,EAACiD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;QAAA,IAAAqH,mBAAA,GAC+B,IAAI,CAACnB,aAAa,CAAClG,IAAI,CAAC;QAAtEgE,YAAY,GAAAqD,mBAAA,CAAZrD,YAAY;QAAE4B,aAAa,GAAAyB,mBAAA,CAAbzB,aAAa;QAAEI,YAAY,GAAAqB,mBAAA,CAAZrB,YAAY;MAChD,CAAC,MAAM;QAAA,IAAAsB,oBAAA,GAC8C,IAAI,CAAC1D,cAAc,CAAC5D,IAAI,CAAC;QAAvEgE,YAAY,GAAAsD,oBAAA,CAAZtD,YAAY;QAAE4B,aAAa,GAAA0B,oBAAA,CAAb1B,aAAa;QAAEI,YAAY,GAAAsB,oBAAA,CAAZtB,YAAY;MAChD;MAEA,IAAMxC,WAAW,GAAG,IAAI0B,mBAAO,CAAC;QAC5Bd,IAAI,EAAE,OAAO;QACbe,QAAQ,EAAES;MACd,CAAC,CAAC;MACFpC,WAAW,CAACuD,QAAQ,CAAC,IAAI,CAAC9E,UAAU,CAAC;MACrC,IAAM0B,SAAS,GAAG,IAAIuB,mBAAO,CAAC;QAC1Bd,IAAI,EAAE,KAAK;QACXe,QAAQ,EAAEa;MACd,CAAC,CAAC;MACFrC,SAAS,CAACoD,QAAQ,CAAC,IAAI,CAACtE,QAAQ,CAAC;MACjC,IAAM8E,QAAQ,GAAG/D,WAAW,CAACsC,WAAW,CAAC,CAAC,CAAC0B,KAAK,CAAC,CAAC;MAElD,IAAM1E,SAAS,GAAG,IAAIoC,mBAAO,CAAC;QAC1Bd,IAAI,EAAE,WAAW;QACjBe,QAAQ,EAAEoC;MACd,CAAC,CAAC;MACFzE,SAAS,CAACiE,QAAQ,CAAC,IAAI,CAACnE,cAAc,CAAC;MACvC,IAAI,CAACgE,aAAa,CAAC5C,YAAY,CAAC;MAChC,IAAMb,WAAW,GAAG,IAAIsE,aAAW,CAAC;QAChCvJ,MAAM,EAAE,IAAIwJ,kBAAY,CAAC;UACrBb,QAAQ,KAAAc,MAAA,CAAA9L,kBAAA,CAAMmI,YAAY,IAAElB,SAAS;QACzC,CAAC;MACL,CAAC,CAAC;MACF,IAAI,CAACzC,GAAG,CAACuH,QAAQ,CAACzE,WAAW,CAAC;MAC9B,IAAI,CAAC0E,aAAa,GAAG7D,YAAY;MACjC,IAAI,CAACuD,QAAQ,GAAGA,QAAQ;MACxB,IAAI,CAACpE,WAAW,GAAGA,WAAW;MAC9B,IAAI,CAACL,SAAS,GAAGA,SAAS;MAC1B,IAAI,CAACU,WAAW,GAAGA,WAAW;MAC9B,IAAI,CAACG,SAAS,GAAGA,SAAS;MAC1B,IAAI,CAACR,WAAW,CAACG,SAAS,CAAC,CAAC,CAACC,UAAU,CAACC,WAAW,CAAC,EAAE;QAClDL,WAAW,CAACG,SAAS,CAAC,CAAC,CAACG,UAAU,CAACD,WAAW,CAAC;MACnD;MACA,IAAI,CAACL,WAAW,CAACG,SAAS,CAAC,CAAC,CAACC,UAAU,CAACI,SAAS,CAAC,EAAE;QAChDR,WAAW,CAACG,SAAS,CAAC,CAAC,CAACG,UAAU,CAACE,SAAS,CAAC;MACjD;MACA,IAAI,IAAI,CAAC3C,SAAS,EAAE;QAChB,IAAI,CAAC8G,QAAQ,CAAC,CAAC;MACnB;IACJ;EAAC;IAAA1M,GAAA;IAAAmD,KAAA,EAED,SAAAwJ,OAAOC,OAAO,EAAE;MAAA,IAAAC,MAAA;MACZ,IAAI,CAACzG,YAAY,GAAG,IAAI,CAACM,gBAAgB,CAACoG,SAAS,CAAC,UAAA1C,QAAQ;QAAA,OAAIA,QAAQ,IAAIwC,OAAO;MAAA,EAAC;MACpF,IAAI,CAACvG,SAAS,GAAGuG,OAAO;MACxB,IAAMxC,QAAQ,GAAG,IAAI,CAAC2C,iBAAiB,CAAC,CAAC;MACzC,IAAMvD,KAAK,GAAG,IAAI,CAACiD,aAAa,CAAC,IAAI,CAACrG,YAAY,CAAC,CAACsE,WAAW,CAAC,CAAC;MACjE,IAAMsC,iBAAiB,GAAGxD,KAAK,CAACyD,eAAe,CAAC7C,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAGA,QAAQ,GAAGA,QAAQ,CAAC;MACvF,IAAIA,QAAQ,GAAG,CAAC,EAAE;QACd,IAAM3D,cAAc,GAAG+C,KAAK,CAACyD,eAAe,CAAC7C,QAAQ,GAAG,MAAM,CAAC;QAC/D,IAAI,CAAC8C,WAAW,CAACzG,cAAc,EAAEuG,iBAAiB,CAAC;MACvD;MACA,IAAI5C,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAChE,YAAY,IAAI,IAAI,CAACqG,aAAa,CAAC5K,MAAM,GAAG,CAAC,EAAE;QACrE,IAAI,CAAC+E,SAAS,GAAG,IAAI;MACzB;MACA,IAAI,CAACuF,QAAQ,CAACgB,cAAc,CAACH,iBAAiB,CAAC;MAE/C,IAAI,IAAI,CAACpH,SAAS,EAAE;QAChB,IAAMuE,IAAI,GAAG,EAAE;QACf,IAAMiD,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAA8D;UAAA,IAAxDC,gBAAgB,GAAAD,IAAA,CAAhBC,gBAAgB;YAAEC,cAAc,GAAAF,IAAA,CAAdE,cAAc;YAAEC,eAAe,GAAAH,IAAA,CAAfG,eAAe;UACvE,IAAMpG,KAAK,GAAG,IAAAuC,WAAS,EAAC2D,gBAAgB,CAAC;UACzC,IAAM/F,GAAG,GAAG,IAAAoC,WAAS,EAAC4D,cAAc,CAAC;UACrC,IAAMlE,IAAI,GAAG,IAAAC,gBAAc,EAACkE,eAAe,CAAC;UAC5C,IAAMC,MAAM,GAAG,IAAAC,eAAS,EAACtG,KAAK,EAAEG,GAAG,EAAE8B,IAAI,CAAC;UAC1C,OAAOoE,MAAM,CAAC1D,QAAQ,CAACtB,WAAW;QACtC,CAAC;QACD,IAAI,IAAI,CAACrC,YAAY,KAAK,CAAC,EAAE;UACzB+D,IAAI,CAAC1H,IAAI,CACL2K,cAAc,CAAC;YACXE,gBAAgB,EAAE,IAAI,CAAClF,WAAW,CAACsC,WAAW,CAAC,CAAC,CAAC0C,cAAc,CAAC,CAAC;YACjEG,cAAc,EAAEP,iBAAiB;YACjCQ,eAAe,EAAEhE,KAAK,CAAC4D,cAAc,CAAC;UAC1C,CAAC,CACL,CAAC;QACL,CAAC,MAAM;UACH,IAAM3B,QAAQ,GAAG,IAAI,CAACgB,aAAa,CAACpL,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC+E,YAAY,GAAG,CAAC,CAAC;UACnEqF,QAAQ,CAAC1I,OAAO,CAAC,UAACiI,OAAO,EAAElC,KAAK,EAAK;YACjC,IAAMiB,QAAQ,GAAGiB,OAAO,CAACN,WAAW,CAAC,CAAC;YACtC,IAAI6C,cAAc,GAAGP,iBAAiB;YACtC,IAAIlE,KAAK,KAAK+D,MAAI,CAACzG,YAAY,EAAE;cAC7BmH,cAAc,GAAGxD,QAAQ,CAACc,iBAAiB,CAAC,CAAC;YACjD;YACAV,IAAI,CAAC1H,IAAI,CACL2K,cAAc,CAAC;cACXE,gBAAgB,EAAEvD,QAAQ,CAACY,kBAAkB,CAAC,CAAC;cAC/C4C,cAAc,EAAdA,cAAc;cACdC,eAAe,EAAEzD,QAAQ,CAACqD,cAAc,CAAC;YAC7C,CAAC,CACL,CAAC;UACL,CAAC,CAAC;QACN;QACAjD,IAAI,CAACpH,OAAO,CAAC,UAAC0F,WAAW,EAAEK,KAAK,EAAK;UACjCL,WAAW,CAAC1F,OAAO,CAAC,UAAC4K,UAAU,EAAE7L,CAAC,EAAK;YACnC+K,MAAI,CAACe,gBAAgB,CAAC;cAAED,UAAU,EAAVA,UAAU;cAAEE,IAAI,EAAE/L,CAAC,KAAK,CAAC;cAAEgH,KAAK,EAALA;YAAM,CAAC,CAAC;UAC/D,CAAC,CAAC;QACN,CAAC,CAAC;MACN;MACA,IAAI,CAAC3D,SAAS,IAAI,IAAI,CAACA,SAAS,CAAC,IAAI,CAACkB,SAAS,EAAE,IAAI,CAACD,YAAY,CAAC;IACvE;EAAC;IAAApG,GAAA;IAAAmD,KAAA,EAED,SAAA2K,QAAA,EAAU;MAAA,IAAAC,MAAA;MACN,IAAI,CAAC,IAAI,CAACzI,UAAU,EAAE;QAClB,IAAI,CAACwC,aAAa,CAAC,CAAC;MACxB;MACA,IAAI,CAAClB,SAAS,GAAG,IAAI;MACrB,IAAI,IAAI,CAAChB,SAAS,EAAE;QAChB,IAAI,CAACoI,gBAAgB,CAACjL,OAAO,CAAC,UAAAiI,OAAO,EAAI;UACrC+C,MAAI,CAAChG,WAAW,CAACG,SAAS,CAAC,CAAC,CAACI,aAAa,CAAC0C,OAAO,CAAC;QACvD,CAAC,CAAC;QACF,IAAI,CAACiD,iBAAiB,CAAClL,OAAO,CAAC,UAAAiI,OAAO,EAAI;UACtC+C,MAAI,CAAChG,WAAW,CAACG,SAAS,CAAC,CAAC,CAACI,aAAa,CAAC0C,OAAO,CAAC;UACnDA,OAAO,CAACkD,WAAW,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC;QACF,IAAI,CAAC1C,aAAa,CAAC,IAAI,CAACiB,aAAa,CAAC;MAC1C;IACJ;EAAC;IAAAzM,GAAA;IAAAmD,KAAA,EAED,SAAA+J,YAAYzG,cAAc,EAAEkH,UAAU,EAAE;MACpC,IAAIlH,cAAc,IAAIkH,UAAU,IAAI,IAAI,CAACjI,cAAc,EAAE;QACrD,IAAMyI,CAAC,GAAGR,UAAU,CAAC,CAAC,CAAC,GAAGlH,cAAc,CAAC,CAAC,CAAC;QAC3C,IAAM2H,CAAC,GAAGT,UAAU,CAAC,CAAC,CAAC,GAAGlH,cAAc,CAAC,CAAC,CAAC;QAC3C,IAAM4H,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACH,CAAC,EAAED,CAAC,CAAC;QACjC,IAAI,CAAC3G,cAAc,CAACgH,QAAQ,CAAC,CAAC,CAACtB,WAAW,CAACoB,IAAI,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAGF,QAAQ,CAAC;MAC3E;IACJ;;IAEA;EAAA;IAAArO,GAAA;IAAAmD,KAAA,EACA,SAAA4J,kBAAA,EAAoB;MAChB,IAAM0B,iBAAiB,GACnB,IAAI,CAACrI,YAAY,GAAG,CAAC,GACf,IAAI,CAACM,gBAAgB,CAAC,IAAI,CAACN,YAAY,CAAC,GACxC,IAAI,CAACM,gBAAgB,CAAC,IAAI,CAACN,YAAY,GAAG,CAAC,CAAC,GAC5C,IAAI,CAACM,gBAAgB,CAAC,IAAI,CAACN,YAAY,CAAC;MAClD,IAAIgE,QAAQ,GACR,CAAC,IAAI,CAAC/D,SAAS,IACV,IAAI,CAACD,YAAY,GAAG,CAAC,GAAG,IAAI,CAACM,gBAAgB,CAAC,IAAI,CAACN,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAC9EqI,iBAAiB;MACrB,OAAOrE,QAAQ;IACnB;EAAC;IAAApK,GAAA;IAAAmD,KAAA,EAED,SAAAuL,YAAYC,KAAK,EAAE;MACf,IAAMC,aAAa,GAAG,IAAAC,wBAAgB,EAACF,KAAK,CAAC;MAC7C,IAAM3J,KAAK,GAAGP,MAAM,CAAC,IAAI,CAACO,KAAK,CAAC;MAChC,IAAM8J,IAAI,GAAGH,KAAK,CAACI,UAAU,CAACD,IAAI;MAClC,IAAME,WAAW,GAAGF,IAAI,GAAG,IAAI,CAACxI,SAAS;MAEzC,IAAI,CAACD,SAAS,GAAG,CAAC,IAAI,CAACA,SAAS,GAAIrB,KAAK,GAAGgK,WAAW,GAAI,GAAG,IAAI,CAAC;MACnE,IAAI5E,QAAQ,GAAG,IAAI,CAAC2C,iBAAiB,CAAC,CAAC;MACvC,IAAI,CAACzG,SAAS,GAAGwI,IAAI;MAErB,IAAI1E,QAAQ,GAAG,CAAC,EAAE;QACd,IAAI,CAAChE,YAAY,GAAG,IAAI,CAACA,YAAY,GAAG,CAAC;QACzCgE,QAAQ,GAAG,CAAC;MAChB;MACA;MACA,IAAM6E,SAAS,GAAG,IAAI,CAACtI,oBAAoB,CAAC,IAAI,CAACP,YAAY,CAAC,CAAC0G,SAAS,CACpE,UAACpD,CAAC,EAAEZ,KAAK,EAAEpI,GAAG,EAAK;QACf,IAAIoI,KAAK,KAAKpI,GAAG,CAACmB,MAAM,GAAG,CAAC,EAAE;UAC1B,OAAO,IAAI;QACf;QACA,OAAO6H,CAAC,IAAIU,QAAQ,IAAI1J,GAAG,CAACoI,KAAK,GAAG,CAAC,CAAC;MAC1C,CACJ,CAAC;MAED,IAAI,IAAI,CAAC1C,YAAY,GAAG,IAAI,CAACqG,aAAa,CAAC5K,MAAM,GAAG,CAAC,EAAE;QACnD,IAAI,CAACiM,OAAO,CAAC,CAAC;QACd,IAAI,IAAI,CAACxI,UAAU,EAAE;UACjB,IAAI,CAACc,YAAY,GAAG,IAAI,CAACqG,aAAa,CAAC5K,MAAM,GAAG,CAAC;QACrD,CAAC,MAAM;UACH,IAAMmL,kBAAiB,GAAG,IAAI,CAACzE,SAAS,CAACmC,WAAW,CAAC,CAAC,CAAC0C,cAAc,CAAC,CAAC;UACvE,IAAI,CAACjB,QAAQ,CAACgB,cAAc,CAACH,kBAAiB,CAAC;UAC/C4B,aAAa,CAACjD,QAAQ,CAAC,IAAI,CAACnE,cAAc,CAAC;UAC3CoH,aAAa,CAACM,YAAY,CAAC,IAAI,CAAC/C,QAAQ,CAAC;UACzC,IAAI,CAAC/G,SAAS,IAAI,IAAI,CAACA,SAAS,CAAC,CAAC;UAClC;QACJ;MACJ;MACA,IAAMoE,KAAK,GAAG,IAAI,CAACiD,aAAa,CAAC,IAAI,CAACrG,YAAY,CAAC,CAACsE,WAAW,CAAC,CAAC;MACjE,IAAMsC,iBAAiB,GAAGxD,KAAK,CAACyD,eAAe,CAAC7C,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAGA,QAAQ,GAAGA,QAAQ,CAAC;MACvF,IAAI,CAAC+B,QAAQ,CAACgB,cAAc,CAACH,iBAAiB,CAAC;MAC/C,IAAI,CAACE,WAAW,CAAC,IAAI,CAACzG,cAAc,EAAEuG,iBAAiB,CAAC;MACxD,IAAI,CAACvG,cAAc,GAAGuG,iBAAiB;MACvC,IAAI,IAAI,CAACxH,QAAQ,EAAE;QACf,IAAI,CAACP,GAAG,CAACkK,OAAO,CAAC,CAAC,CAACC,GAAG,CAAC,IAAI,CAACjD,QAAQ,EAAE;UAClCkD,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;UAC7BC,OAAO,EAAE,IAAI,CAACrK,GAAG,CAACkK,OAAO,CAAC,CAAC,CAACI,OAAO,CAAC,CAAC;UACrCC,QAAQ,EAAE;QACd,CAAC,CAAC;MACN;MAEAZ,aAAa,CAACjD,QAAQ,CAAC,IAAI,CAACnE,cAAc,CAAC;MAC3CoH,aAAa,CAACM,YAAY,CAAC,IAAI,CAAC/C,QAAQ,CAAC;MACzC,IAAI,IAAI,CAACvG,SAAS,EAAE;QAChB,IAAI,CAACgI,gBAAgB,CAAC;UAClBD,UAAU,EAAEX,iBAAiB;UAC7BlE,KAAK,EAAE,IAAI,CAAC1C;QAChB,CAAC,CAAC;MACN;MACA,IAAI,CAACjB,SAAS,IAAI,IAAI,CAACA,SAAS,CAAC,IAAI,CAACkB,SAAS,EAAE,IAAI,CAACD,YAAY,EAAE6I,SAAS,CAAC;MAC9E,IAAI,CAAChK,GAAG,CAACwK,MAAM,CAAC,CAAC;IACrB;EAAC;IAAAzP,GAAA;IAAAmD,KAAA,EAED,SAAAyK,iBAAA8B,KAAA,EAA8C;MAAA,IAA3B/B,UAAU,GAAA+B,KAAA,CAAV/B,UAAU;QAAEE,IAAI,GAAA6B,KAAA,CAAJ7B,IAAI;QAAE/E,KAAK,GAAA4G,KAAA,CAAL5G,KAAK;MACtC,IAAM6G,gBAAgB,GAAG,IAAI,CAAC1B,iBAAiB,CAACnF,KAAK,CAAC;MACtD,IAAI+E,IAAI,EAAE;QACN8B,gBAAgB,CAACzB,WAAW,CAAC,IAAI,CAAC;MACtC;MACA,IAAMnE,QAAQ,GAAG4F,gBAAgB,CAACjF,WAAW,CAAC,CAAC;MAC/C,IAAIX,QAAQ,EAAE;QACVA,QAAQ,CAACoD,cAAc,CAAC,IAAAZ,MAAA,CAAA9L,kBAAA,CAAKsJ,QAAQ,CAACqD,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAEO,UAAU,GAAE,CAAC;MAC5E,CAAC,MAAM;QACH,IAAIxE,QAAQ,GAAG,CAAC,CAACwE,UAAU,CAAC,CAAC;QAC7B,IAAMnE,KAAK,GAAG,IAAIoG,qBAAe,CAACzG,QAAQ,CAAC;QAE3CwG,gBAAgB,CAACzB,WAAW,CAAC1E,KAAK,CAAC;MACvC;MACA,IAAI,CAAC,IAAI,CAACzB,WAAW,CAACG,SAAS,CAAC,CAAC,CAACC,UAAU,CAACwH,gBAAgB,CAAC,EAAE;QAC5D,IAAI,CAAC5H,WAAW,CAACG,SAAS,CAAC,CAAC,CAACG,UAAU,CAACsH,gBAAgB,CAAC;MAC7D;IACJ;EAAC;IAAA3P,GAAA;IAAAmD,KAAA,EAED,SAAAuJ,SAAA,EAAW;MAAA,IAAAmD,MAAA;MACP,IAAI,IAAI,CAACxJ,SAAS,KAAK,CAAC,EAAE;QACtB,IAAM2H,gBAAgB,GAAG,EAAE;QAC3B,IAAMC,iBAAiB,GAAG,EAAE;QAC5B,IAAI,CAACxB,aAAa,CAAC1J,OAAO,CAAC,UAAAiI,OAAO,EAAI;UAClC,IAAM8E,eAAe,GAAG9E,OAAO,CAACoB,KAAK,CAAC,CAAC;UACvC,IAAMuD,gBAAgB,GAAG3E,OAAO,CAACoB,KAAK,CAAC,CAAC;UACxCuD,gBAAgB,CAACzB,WAAW,CAAC,IAAI,CAAC;UAClC4B,eAAe,CAACnE,QAAQ,CACpBkE,MAAI,CAAC9E,oBAAoB,CAACC,OAAO,EAAE;YAC/B+E,QAAQ,EAAE,CAAC,EAAE;UACjB,CAAC,CACL,CAAC;UACD/B,gBAAgB,CAACvL,IAAI,CAACqN,eAAe,CAAC;UACtC7B,iBAAiB,CAACxL,IAAI,CAACkN,gBAAgB,CAAC;QAC5C,CAAC,CAAC;QACF,IAAI,CAAC3B,gBAAgB,GAAGA,gBAAgB;QACxC,IAAI,CAACC,iBAAiB,GAAGA,iBAAiB;MAC9C;IACJ;EAAC;IAAAjO,GAAA;IAAAmD,KAAA,EAED,SAAA0E,eAAA,EAAiB;MAAA,IAAAmI,MAAA;MACb,IAAI,CAAC,IAAI,CAAC1K,UAAU,IAAI,IAAI,CAACsB,SAAS,EAAE;QACpC;QACA,IAAI,CAACqJ,MAAM,CAAC,CAAC;QACb,IAAI,CAACzI,cAAc,CAACgH,QAAQ,CAAC,CAAC,CAACtB,WAAW,CAAC,CAAC,CAAC;MACjD;MACA,IAAI,CAACtG,SAAS,GAAG,KAAK;MACtB,IAAI,CAACqB,UAAU,GAAG,IAAI;MACtB,IAAI,CAAC3B,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;MAC3B,IAAI,CAAC0J,SAAS,GAAG,IAAI,CAACnI,WAAW,CAACoI,EAAE,CAAC,YAAY,EAAE,IAAI,CAACzB,WAAW,CAAC0B,IAAI,CAAC,IAAI,CAAC,CAAC;MAC/E,IAAI,CAAC1I,SAAS,CAACwG,WAAW,CAAC,IAAI,CAAC;MAChC,IAAI,IAAI,CAACtI,SAAS,EAAE;QAChB,IAAI,CAACoI,gBAAgB,CAACjL,OAAO,CAAC,UAAAiI,OAAO,EAAI;UACrC,IAAI,CAACgF,MAAI,CAACjI,WAAW,CAACG,SAAS,CAAC,CAAC,CAACC,UAAU,CAAC6C,OAAO,CAAC,EAAE;YACnDgF,MAAI,CAACjI,WAAW,CAACG,SAAS,CAAC,CAAC,CAACG,UAAU,CAAC2C,OAAO,CAAC;UACpD;QACJ,CAAC,CAAC;QACF,IAAI,CAACyB,aAAa,CAAC1J,OAAO,CAAC,UAAAiI,OAAO,EAAI;UAClCA,OAAO,CAACW,QAAQ,CAAC,IAAI7E,YAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC;MACN;IACJ;EAAC;IAAA9G,GAAA;IAAAmD,KAAA,EAED,SAAA2E,cAAA,EAAgB;MACZ,IAAI,CAACG,UAAU,GAAG,KAAK;MACvB,IAAI,CAACP,SAAS,CAACwG,WAAW,CAAC,IAAI,CAAC/B,QAAQ,CAAC;MACzC,IAAI,IAAI,CAAC+D,SAAS,EAAE;QAChB,IAAI,CAACnI,WAAW,CAACsI,EAAE,CAAC,YAAY,EAAE,IAAI,CAACH,SAAS,CAACI,QAAQ,CAAC;MAC9D;IACJ;EAAC;IAAAtQ,GAAA;IAAAmD,KAAA,EAED,SAAA8M,OAAA,EAAS;MACL,IAAI,CAACzI,cAAc,CAACgH,QAAQ,CAAC,CAAC,CAACtB,WAAW,CAAC,CAAC,CAAC;MAC7C,IAAI,CAAC7G,SAAS,GAAG,CAAC;MAClB,IAAI,CAACD,YAAY,GAAG,CAAC;MACrB,IAAM4G,iBAAiB,GAAG,IAAI,CAACxD,KAAK,CAACyD,eAAe,CAAC,CAAC,CAAC;MACvD,IAAI,CAACd,QAAQ,CAACgB,cAAc,CAACH,iBAAiB,CAAC;MAC/C,IAAI,CAACc,OAAO,CAAC,CAAC;MACd,IAAI,CAAC3I,SAAS,IAAI,IAAI,CAACA,SAAS,CAAC,IAAI,CAACkB,SAAS,EAAE,IAAI,CAACD,YAAY,CAAC;IACvE;EAAC;IAAApG,GAAA;IAAAmD,KAAA,EAED,SAAA6I,QAAA,EAAU;MACN,IAAI,IAAI,CAAC/D,UAAU,EAAE;QACjB,IAAI,CAACH,aAAa,CAAC,CAAC;MACxB;MAEA,IAAI,CAAC7C,GAAG,CAACsL,WAAW,CAAC,IAAI,CAACxI,WAAW,CAAC;MACtC,IAAI,CAAC0E,aAAa,GAAG,IAAI;MACzB,IAAI,CAACN,QAAQ,GAAG,IAAI;MACpB,IAAI,CAACpE,WAAW,GAAG,IAAI;MACvB,IAAI,CAACL,SAAS,GAAG,IAAI;IACzB;EAAC;EAAA,OAAAhD,YAAA;AAAA;AAAA8L,OAAA,cAAA9L,YAAA"}
|
|
1
|
+
{"version":3,"file":"PathPlayBack.js","names":["_Feature","_interopRequireDefault","require","_geom","_Vector","_style","_layer","_render","_people","_qd","_zd","_lodash","_interopRequireWildcard","_createFeatureCollection","_getPathLineStyles","_turf","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","iter","isArray","len","length","i","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","PathPlayBack","options","data","_options$show","show","play","speed","map","style","onPlaying","onPlayEnd","_options$repeatPlay","repeatPlay","_options$autoView","autoView","_options$enableRotati","enableRotation","arrowStyle","showTrace","_options$traceStyle","traceStyle","_options$showStartPoi","showStartPoint","_options$showEndPoint","showEndPoint","_init","currentIndex","_distance","_lastTime","Date","now","lastCoordinate","distanceRatioArr","dataDistanceRatioArr","isPlayEnd","startStyle","Style","image","Icon","anchor","src","QD","start","endStyle","ZD","end","geoMarkerStyle","PEOPLE","geoMarker","loadData","val","startAnimation","stopAnimation","vectorLayer","setVisible","_animating","getSource","hasFeature","startMarker","addFeature","removeFeature","endMarker","loadObjectData","coordinates","distanceArr","dataDistanceArr","routeFeature","item","index","geometryInfo","type","lngLats","coordType","lineData","transformGeometryInfoToWGS84","line","TurfLineString","TurfLength","route","LineString","v","TurfPoint","to","TurfDistance","Feature","geometry","totalDistance","_","sum","list","distance","firstFeature","lastFeature","last","firstGeometry","Point","getGeometry","getFirstCoordinate","lastGeometry","getLastCoordinate","loadArrayData","getDefaultRouteStyle","feature","_this$style","_this$style2","isFunction","stroke","Stroke","width","color","setRouteStyle","features","_this","setStyle","resolution","styles","isEmpty","getPathLineStyles","destroy","_this$loadArrayData","_this$loadObjectData","position","clone","VectorLayer","VectorSource","concat","addLayer","routeFeatures","addTrace","moveTo","process","_this2","findIndex","calculateDistance","currentCoordinate","getCoordinateAt","setRotation","playEnd","setCoordinates","getCoordinates","_ref","startCoordinates","endCoordinates","lineCoordinates","sliced","lineSlice","coordinate","setPaintLinePath","init","dataIndex","_this3","lineDashFeatures","paintLineFeatures","setGeometry","x","y","rotation","Math","atan2","getImage","currentRouteRatio","moveFeature","event","vectorContext","getVectorContext","time","frameState","elapsedTime","drawGeometry","getView","fit","padding","maxZoom","getZoom","duration","render","_ref2","paintLineFeature","MultiLineString","_this4","lineDashFeature","lineDash","_this5","cancel","_on_event","on","bind","un","listener","removeLayer","exports"],"sources":["path-play-back/PathPlayBack.js"],"sourcesContent":["import Feature from 'ol/Feature';\nimport { Point, LineString, MultiLineString } from 'ol/geom';\nimport VectorSource from 'ol/source/Vector';\nimport { Icon, Stroke, Style } from 'ol/style';\nimport { Vector as VectorLayer } from 'ol/layer';\nimport { getVectorContext } from 'ol/render';\nimport PEOPLE from '../assets/people.png';\nimport QD from '../assets/qd.png';\nimport ZD from '../assets/zd.png';\nimport _, { isArray, isEmpty, isFunction } from 'lodash';\nimport { transformGeometryInfoToWGS84 } from '../feature-layer/createFeatureCollection';\nimport getPathLineStyles from '../path-line-layer/getPathLineStyles';\nimport {\n point as TurfPoint,\n lineSlice,\n lineString as TurfLineString,\n length as TurfLength,\n distance as TurfDistance,\n} from '@turf/turf';\nexport default class PathPlayBack {\n constructor(options) {\n const {\n data,\n show = true,\n play,\n speed,\n map,\n style,\n onPlaying,\n onPlayEnd,\n repeatPlay = true,\n autoView = false,\n enableRotation = false,\n arrowStyle,\n showTrace,\n traceStyle = {},\n showStartPoint = true,\n showEndPoint = true,\n } = options;\n\n this._init = false;\n\n this.speed = speed || 10;\n this.onPlaying = onPlaying;\n this.onPlayEnd = onPlayEnd;\n this.style = style;\n this.repeatPlay = repeatPlay;\n this.enableRotation = enableRotation;\n this.arrowStyle = arrowStyle;\n this.showTrace = showTrace;\n this.traceStyle = traceStyle;\n this.currentIndex = 0;\n this._distance = 0;\n this._lastTime = Date.now();\n this.autoView = autoView;\n this.lastCoordinate = null;\n this.distanceRatioArr = [];\n this.dataDistanceRatioArr = [];\n this.isPlayEnd = false;\n this.startStyle = new Style({\n image: new Icon({\n anchor: [0.5, 1],\n src: QD,\n ...(style?.start || {}),\n }),\n });\n this.endStyle = new Style({\n image: new Icon({\n anchor: [0.5, 1],\n src: ZD,\n ...(style?.end || {}),\n }),\n });\n this.geoMarkerStyle = new Style({\n image: new Icon({\n anchor: [0.5, 1],\n src: PEOPLE,\n ...(style?.geoMarker || {}),\n }),\n });\n this.map = map;\n if (data?.length) {\n this.loadData(data);\n }\n\n this.play = play || false;\n\n this.show = show;\n this.showStartPoint = showStartPoint;\n this.showEndPoint = showEndPoint;\n this._init = true;\n }\n\n set play(val) {\n if (this._init) {\n if (val) {\n this.startAnimation();\n } else {\n this.stopAnimation();\n }\n }\n }\n\n set show(val) {\n this.vectorLayer.setVisible(val);\n\n if (this._animating) {\n this.stopAnimation();\n }\n }\n\n set showStartPoint(val) {\n if (this.vectorLayer) {\n const source = this.vectorLayer.getSource();\n if (val) {\n !source.hasFeature(this.startMarker) && source.addFeature(this.startMarker);\n } else {\n source.removeFeature(this.startMarker);\n }\n }\n }\n set showEndPoint(val) {\n if (this.vectorLayer) {\n const source = this.vectorLayer.getSource();\n if (val) {\n !source.hasFeature(this.endMarker) && source.addFeature(this.endMarker);\n } else {\n source.removeFeature(this.endMarker);\n }\n }\n }\n\n loadObjectData(data) {\n let coordinates = [];\n let distanceArr = [];\n let dataDistanceArr = [];\n const routeFeature = data.map((item, index) => {\n const { geometryInfo } = item;\n let { type, lngLats, coordType } = geometryInfo;\n const lineData = transformGeometryInfoToWGS84(lngLats, type, coordType)[0];\n coordinates.push(...lineData);\n const line = TurfLineString(lineData);\n distanceArr.push(TurfLength(line));\n const route = new LineString(lineData);\n // 计算两个点的之间距离\n lineData.forEach((v, i) => {\n if (i === 0) {\n dataDistanceArr[index] = [0];\n } else {\n const from = TurfPoint(lineData[i - 1]);\n const to = TurfPoint(v);\n dataDistanceArr[index].push(TurfDistance(from, to));\n }\n });\n return new Feature({\n type: 'route',\n geometry: route,\n ...item,\n });\n });\n const dataDistanceRatioArr = dataDistanceArr.map(arr => {\n const totalDistance = _.sum(arr);\n const list = arr.map(distance => distance / totalDistance);\n // 计算两个点之间距离的占比\n return list.map((distance, index) => {\n if (index === 0) {\n return distance;\n } else if (index === arr.length - 1) {\n return 1;\n }\n return _.sum(list.slice(0, index + 1));\n });\n });\n\n this.distanceArr = distanceArr;\n const totalDistance = _.sum(distanceArr);\n distanceArr = distanceArr.map(distance => distance / totalDistance);\n this.distanceRatioArr = distanceArr.map((distance, index) => {\n if (index === 0) {\n return distance;\n } else if (index === distanceArr.length - 1) {\n return 1;\n }\n return _.sum(distanceArr.slice(0, index + 1));\n });\n this.dataDistanceRatioArr = dataDistanceRatioArr;\n this.route = new LineString(coordinates);\n const firstFeature = routeFeature[0];\n const lastFeature = _.last(routeFeature);\n const firstGeometry = new Point(firstFeature.getGeometry().getFirstCoordinate());\n const lastGeometry = new Point(lastFeature.getGeometry().getLastCoordinate());\n return {\n routeFeature,\n firstGeometry,\n lastGeometry,\n };\n }\n\n loadArrayData(data) {\n const route = new LineString(data);\n const distance = TurfLength(TurfLineString(data));\n this.route = route;\n const routeFeature = [\n new Feature({\n type: 'route',\n geometry: route,\n }),\n ];\n this.distanceArr = [distance];\n this.distanceRatioArr = [1];\n const firstGeometry = new Point(route.getFirstCoordinate());\n const lastGeometry = new Point(route.getLastCoordinate());\n return {\n routeFeature,\n firstGeometry,\n lastGeometry,\n };\n }\n\n getDefaultRouteStyle(feature, options = {}) {\n const style = isFunction(this.style?.route)\n ? this.style.route(feature)\n : this.style?.route || {};\n return new Style({\n stroke: new Stroke({\n width: 6,\n color: [237, 212, 0, 0.8],\n ...style,\n ...options,\n }),\n });\n }\n\n setRouteStyle(features) {\n features.forEach(feature => {\n feature.setStyle((feature, resolution) => {\n const styles = [this.getDefaultRouteStyle(feature)];\n if (!isEmpty(this.arrowStyle)) {\n styles.push(\n ...getPathLineStyles({ feature, resolution, arrowStyle: this.arrowStyle }),\n );\n }\n\n return styles;\n });\n });\n }\n\n loadData(data) {\n if (this.vectorLayer) {\n this.destroy();\n }\n\n let routeFeature = null;\n let firstGeometry = null;\n let lastGeometry = null;\n if (isArray(data[0])) {\n ({ routeFeature, firstGeometry, lastGeometry } = this.loadArrayData(data));\n } else {\n ({ routeFeature, firstGeometry, lastGeometry } = this.loadObjectData(data));\n }\n\n const startMarker = new Feature({\n type: 'start',\n geometry: firstGeometry,\n });\n startMarker.setStyle(this.startStyle);\n const endMarker = new Feature({\n type: 'end',\n geometry: lastGeometry,\n });\n endMarker.setStyle(this.endStyle);\n const position = startMarker.getGeometry().clone();\n\n const geoMarker = new Feature({\n type: 'geoMarker',\n geometry: position,\n });\n geoMarker.setStyle(this.geoMarkerStyle);\n this.setRouteStyle(routeFeature);\n const vectorLayer = new VectorLayer({\n source: new VectorSource({\n features: [...routeFeature, geoMarker],\n }),\n });\n this.map.addLayer(vectorLayer);\n this.routeFeatures = routeFeature;\n this.position = position;\n this.vectorLayer = vectorLayer;\n this.geoMarker = geoMarker;\n this.startMarker = startMarker;\n this.endMarker = endMarker;\n if (!vectorLayer.getSource().hasFeature(startMarker)) {\n vectorLayer.getSource().addFeature(startMarker);\n }\n if (!vectorLayer.getSource().hasFeature(endMarker)) {\n vectorLayer.getSource().addFeature(endMarker);\n }\n if (this.showTrace) {\n this.addTrace();\n }\n }\n\n moveTo(process) {\n this.currentIndex = this.distanceRatioArr.findIndex(distance => distance >= process);\n this._distance = process;\n const distance = this.calculateDistance();\n const route = this.routeFeatures[this.currentIndex].getGeometry();\n const currentCoordinate = route.getCoordinateAt(distance > 1 ? 2 - distance : distance);\n if (distance > 0) {\n const lastCoordinate = route.getCoordinateAt(distance - 0.0001);\n this.setRotation(lastCoordinate, currentCoordinate);\n }\n if (distance >= 1 && this.currentIndex >= this.routeFeatures.length - 1) {\n this.isPlayEnd = true;\n this.playEnd();\n return;\n }\n this.position.setCoordinates(currentCoordinate);\n\n if (this.showTrace) {\n const list = [];\n const getCoordinates = ({ startCoordinates, endCoordinates, lineCoordinates }) => {\n const start = TurfPoint(startCoordinates);\n const end = TurfPoint(endCoordinates);\n const line = TurfLineString(lineCoordinates);\n const sliced = lineSlice(start, end, line);\n return sliced.geometry.coordinates;\n };\n if (this.currentIndex === 0) {\n list.push(\n getCoordinates({\n startCoordinates: this.startMarker.getGeometry().getCoordinates(),\n endCoordinates: currentCoordinate,\n lineCoordinates: route.getCoordinates(),\n }),\n );\n } else {\n const features = this.routeFeatures.slice(0, this.currentIndex + 1);\n features.forEach((feature, index) => {\n const geometry = feature.getGeometry();\n let endCoordinates = currentCoordinate;\n if (index !== this.currentIndex) {\n endCoordinates = geometry.getLastCoordinate();\n }\n list.push(\n getCoordinates({\n startCoordinates: geometry.getFirstCoordinate(),\n endCoordinates,\n lineCoordinates: geometry.getCoordinates(),\n }),\n );\n });\n }\n list.forEach((coordinates, index) => {\n coordinates.forEach((coordinate, i) => {\n this.setPaintLinePath({ coordinate, init: i === 0, index });\n });\n });\n }\n // 计算当前进度的对应index\n const dataIndex = this.dataDistanceRatioArr[this.currentIndex].findIndex(\n (v, index, arr) => {\n if (index === arr.length - 1) {\n return true;\n }\n return v <= distance <= arr[index + 1];\n },\n );\n this.onPlaying && this.onPlaying(this._distance, this.currentIndex, dataIndex);\n }\n\n playEnd() {\n if (!this.repeatPlay) {\n this.stopAnimation();\n }\n this.isPlayEnd = true;\n if (this.showTrace) {\n this.lineDashFeatures.forEach(feature => {\n this.vectorLayer.getSource().removeFeature(feature);\n });\n this.paintLineFeatures.forEach(feature => {\n this.vectorLayer.getSource().removeFeature(feature);\n feature.setGeometry(null);\n });\n this.setRouteStyle(this.routeFeatures);\n }\n }\n\n setRotation(lastCoordinate, coordinate) {\n if (lastCoordinate && coordinate && this.enableRotation) {\n const x = coordinate[0] - lastCoordinate[0];\n const y = coordinate[1] - lastCoordinate[1];\n const rotation = Math.atan2(y, x);\n this.geoMarkerStyle.getImage().setRotation(Math.atan2(1, 0) - rotation);\n }\n }\n\n // 计算当前路段跑的距离,计算公式:(当前跑的总距离 - 已跑路段的总距离) / 当前路段的百分比\n calculateDistance() {\n const currentRouteRatio =\n this.currentIndex > 0\n ? this.distanceRatioArr[this.currentIndex] -\n this.distanceRatioArr[this.currentIndex - 1]\n : this.distanceRatioArr[this.currentIndex];\n let distance =\n (this._distance -\n (this.currentIndex > 0 ? this.distanceRatioArr[this.currentIndex - 1] : 0)) /\n currentRouteRatio;\n return distance;\n }\n\n moveFeature(event) {\n const vectorContext = getVectorContext(event);\n const speed = Number(this.speed);\n const time = event.frameState.time;\n const elapsedTime = time - this._lastTime;\n\n this._distance = (this._distance + (speed * elapsedTime) / 1e6) % 2;\n let distance = this.calculateDistance();\n this._lastTime = time;\n\n if (distance > 1) {\n this.currentIndex = this.currentIndex + 1;\n distance = 0;\n }\n\n if (this.currentIndex > this.routeFeatures.length - 1) {\n this.playEnd();\n if (this.repeatPlay) {\n this.currentIndex = this.routeFeatures.length - 1;\n } else {\n const currentCoordinate = this.endMarker.getGeometry().getCoordinates();\n this.position.setCoordinates(currentCoordinate);\n vectorContext.setStyle(this.geoMarkerStyle);\n vectorContext.drawGeometry(this.position);\n this.onPlayEnd && this.onPlayEnd();\n return;\n }\n }\n // 计算当前进度的对应index\n const dataIndex = this.dataDistanceRatioArr[this.currentIndex].findIndex(\n (v, index, arr) => {\n if (index === arr.length - 1) {\n return true;\n }\n return v <= distance <= arr[index + 1];\n },\n );\n const route = this.routeFeatures[this.currentIndex].getGeometry();\n const currentCoordinate = route.getCoordinateAt(distance > 1 ? 2 - distance : distance);\n this.position.setCoordinates(currentCoordinate);\n this.setRotation(this.lastCoordinate, currentCoordinate);\n this.lastCoordinate = currentCoordinate;\n if (this.autoView) {\n this.map.getView().fit(this.position, {\n padding: [100, 400, 100, 400],\n maxZoom: this.map.getView().getZoom(),\n duration: 0,\n });\n }\n\n vectorContext.setStyle(this.geoMarkerStyle);\n vectorContext.drawGeometry(this.position);\n if (this.showTrace) {\n this.setPaintLinePath({\n coordinate: currentCoordinate,\n index: this.currentIndex,\n });\n }\n this.onPlaying && this.onPlaying(this._distance, this.currentIndex, dataIndex);\n this.map.render();\n }\n\n setPaintLinePath({ coordinate, init, index }) {\n const paintLineFeature = this.paintLineFeatures[index];\n if (init) {\n paintLineFeature.setGeometry(null);\n }\n const geometry = paintLineFeature.getGeometry();\n if (geometry) {\n geometry.setCoordinates([[...geometry.getCoordinates()[0], coordinate]]);\n } else {\n let lineData = [[coordinate]];\n const route = new MultiLineString(lineData);\n\n paintLineFeature.setGeometry(route);\n }\n if (!this.vectorLayer.getSource().hasFeature(paintLineFeature)) {\n this.vectorLayer.getSource().addFeature(paintLineFeature);\n }\n }\n\n addTrace() {\n if (this._distance === 0) {\n const lineDashFeatures = [];\n const paintLineFeatures = [];\n this.routeFeatures.forEach(feature => {\n const lineDashFeature = feature.clone();\n const paintLineFeature = feature.clone();\n paintLineFeature.setGeometry(null);\n lineDashFeature.setStyle(\n this.getDefaultRouteStyle(feature, {\n lineDash: [15],\n }),\n );\n lineDashFeatures.push(lineDashFeature);\n paintLineFeatures.push(paintLineFeature);\n });\n this.lineDashFeatures = lineDashFeatures;\n this.paintLineFeatures = paintLineFeatures;\n }\n }\n\n startAnimation() {\n if (!this.repeatPlay && this.isPlayEnd) {\n // 当不重复播放,且当前在终点时,从起点开始播放\n this.cancel();\n this.geoMarkerStyle.getImage().setRotation(0);\n }\n this.isPlayEnd = false;\n this._animating = true;\n this._lastTime = Date.now();\n this._on_event = this.vectorLayer.on('postrender', this.moveFeature.bind(this));\n this.geoMarker.setGeometry(null);\n if (this.showTrace) {\n this.lineDashFeatures.forEach(feature => {\n if (!this.vectorLayer.getSource().hasFeature(feature)) {\n this.vectorLayer.getSource().addFeature(feature);\n }\n });\n this.routeFeatures.forEach(feature => {\n feature.setStyle(new Style({}));\n });\n }\n }\n\n stopAnimation() {\n this._animating = false;\n this.geoMarker.setGeometry(this.position);\n if (this._on_event) {\n this.vectorLayer.un('postrender', this._on_event.listener);\n }\n }\n\n cancel() {\n this.geoMarkerStyle.getImage().setRotation(0);\n this._distance = 0;\n this.currentIndex = 0;\n const currentCoordinate = this.route.getCoordinateAt(0);\n this.position.setCoordinates(currentCoordinate);\n this.playEnd();\n this.onPlaying && this.onPlaying(this._distance, this.currentIndex, 0);\n }\n\n destroy() {\n if (this._animating) {\n this.stopAnimation();\n }\n\n this.map.removeLayer(this.vectorLayer);\n this.routeFeatures = null;\n this.position = null;\n this.vectorLayer = null;\n this.geoMarker = null;\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
package/lib/assets/people.gif
DELETED
|
Binary file
|