@vtx/ol-map 1.0.145 → 1.0.147

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Layers.js","names":["_EventEmitter2","_interopRequireDefault","require","_GroupLayer","_ImageLayer","_ImageTileLayer","_FeatureLayer","_WmsLayer","_lodash","_FlowLineLayer","e","__esModule","_classCallCheck","a","n","TypeError","_defineProperties","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","apply","_assertThisInitialized","ReferenceError","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","create","value","_setPrototypeOf","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","name","Array","from","test","iterator","isArray","getLayersVisibleKeys","data","map","visible","arguments","undefined","keys","loop","v","_v$layers","layer","layers","getLayerByKey","GroupLayer","_layer$group","group","f","hasOwnProperty","show","push","getAllKeys","_v$layers2","getAllLayersKeys","_v$layers3","_v$group","getLayers","_keys","_v$layers4","isVisible","displayName","getVisible","includes","newLayer","Layers","exports","_EventEmitter","options","_this","onChange","emit","addLayer","FeatureLayer","ImageTileLayer","ImageLayer","FlowLineLayer","layerControl","removeLayer","WmsLayer","filter","clearLayers","_this$layers","_this$getAllLayers","getAllLayers","find","item","_item$layers","getShowKeys","getHiddenKeys","getImageLayers","imageLayer","imageTileLayer","concat","getFeatureLayers","setShowByKeys","_layer$group2","cloneDeep","forEach","JSON","stringify","setGroup","setVisible","setHideByKeys","_layer$group3","isEqual","EventEmitter"],"sources":["map/Layers.js"],"sourcesContent":["import EventEmitter from '../_util/EventEmitter';\r\nimport GroupLayer from '../group-layer/GroupLayer';\r\nimport ImageLayer from '../image-layer/ImageLayer';\r\nimport ImageTileLayer from '../image-layer/ImageTileLayer';\r\nimport FeatureLayer from '../feature-layer/FeatureLayer';\r\nimport WmsLayer from '../wms-layer/WmsLayer';\r\nimport { cloneDeep, isEqual } from 'lodash';\r\nimport FlowLineLayer from '../flow-line-layer/FlowLineLayer';\r\n\r\n// 获取显示或隐藏的keys\r\nconst getLayersVisibleKeys = (data, map, visible = true) => {\r\n let keys = [];\r\n function loop(data, map, visible) {\r\n data.map(v => {\r\n if (v.key) {\r\n let layer = map.layers.getLayerByKey(v.key);\r\n if (layer && !(layer instanceof GroupLayer)) {\r\n if (layer.group?.length) {\r\n if (visible) {\r\n layer.group.map(f => {\r\n if (!f.hasOwnProperty('show') || f.show) {\r\n keys.push(f.key);\r\n }\r\n });\r\n } else {\r\n layer.group.map(f => {\r\n if (!f.show) {\r\n keys.push(f.key);\r\n }\r\n });\r\n }\r\n } else if (layer.show === visible) {\r\n keys.push(v.key);\r\n }\r\n\r\n // 如果group的显示的长度和layer的不一致 则不显示\r\n // if (\r\n // layer.show === visible &&\r\n // layer.group?.filter(v => v.show)?.length == layer.group?.length\r\n // ) {\r\n // keys.push(v.key);\r\n // }\r\n }\r\n }\r\n if (v.layers?.length) {\r\n loop(v.layers, map, visible);\r\n }\r\n });\r\n }\r\n loop(data, map, visible);\r\n return keys;\r\n};\r\n// 获取所有keys\r\nconst getAllKeys = data => {\r\n let keys = [];\r\n data.map(v => {\r\n if (v.layers?.length) {\r\n keys.push(...getAllKeys(v.layers));\r\n }\r\n keys.push(v.key);\r\n });\r\n\r\n return keys;\r\n};\r\n\r\n// 获取所有keys(包含group)\r\nconst getAllLayersKeys = data => {\r\n let keys = [];\r\n data.map(v => {\r\n if (v.layers?.length) {\r\n keys.push(...getAllLayersKeys(v.layers));\r\n }\r\n keys.push(v.key);\r\n if (v?.group?.length) {\r\n v.group.map(f => {\r\n if (f.key) {\r\n keys.push(f.key);\r\n }\r\n });\r\n }\r\n });\r\n\r\n return keys;\r\n};\r\n\r\n// 获取图层\r\nconst getLayers = (data, layer, _keys, visible) => {\r\n const layers = [];\r\n // 判断查询 全部的 or 隐藏的 or 显示的\r\n function loop(data, layer, _keys, visible) {\r\n data.map(v => {\r\n const isVisible =\r\n typeof visible !== 'boolean'\r\n ? true\r\n : v.displayName !== 'GroupLayer'\r\n ? v?.getVisible() === visible\r\n : false;\r\n\r\n if (v.key && v instanceof layer && isVisible) {\r\n if (_keys) {\r\n const keys = Array.isArray(_keys) ? _keys : [_keys];\r\n\r\n if (keys.includes(v.key)) {\r\n layers.push(v);\r\n }\r\n } else {\r\n layers.push(v);\r\n }\r\n }\r\n if (v.layers?.length) {\r\n let newLayer = loop(v.layers, layer, _keys, visible);\r\n if (newLayer?.length) {\r\n layers.push(newLayer);\r\n }\r\n }\r\n });\r\n }\r\n loop(data, layer, _keys, visible);\r\n\r\n return layers;\r\n};\r\n\r\nexport default class Layers extends EventEmitter {\r\n constructor(options) {\r\n super();\r\n\r\n this.map = options.map;\r\n\r\n this.layers = [];\r\n }\r\n // 图层改变的时候\r\n onChange() {\r\n this.emit('change', this.layers);\r\n }\r\n addLayer(layer) {\r\n const map = this.map;\r\n if (\r\n layer instanceof FeatureLayer ||\r\n layer instanceof ImageTileLayer ||\r\n layer instanceof ImageLayer ||\r\n layer instanceof FlowLineLayer\r\n ) {\r\n map.addLayer(layer);\r\n }\r\n if (layer.name && layer.layerControl) {\r\n this.layers.push(layer);\r\n this.emit('add', layer);\r\n this.onChange();\r\n }\r\n }\r\n removeLayer(layer) {\r\n const map = this.map;\r\n if (\r\n layer instanceof FeatureLayer ||\r\n layer instanceof ImageTileLayer ||\r\n layer instanceof ImageLayer ||\r\n layer instanceof FlowLineLayer ||\r\n layer instanceof WmsLayer\r\n ) {\r\n map.removeLayer(layer);\r\n }\r\n if (layer.name && layer.layerControl) {\r\n this.layers = this.layers.filter(v => v !== layer);\r\n this.emit('remove', layer);\r\n this.onChange();\r\n }\r\n }\r\n // 图层清空\r\n clearLayers() {\r\n const map = this.map;\r\n this.layers?.map(layer => {\r\n if (\r\n layer instanceof FeatureLayer ||\r\n layer instanceof ImageTileLayer ||\r\n layer instanceof ImageLayer ||\r\n layer instanceof FlowLineLayer ||\r\n layer instanceof WmsLayer\r\n ) {\r\n map.removeLayer(layer);\r\n }\r\n });\r\n this.layers = [];\r\n this.emit('clear');\r\n this.onChange();\r\n }\r\n getLayerByKey(_keys) {\r\n return this.getAllLayers()?.find(layer => {\r\n return _keys && layer.key && layer.key === _keys;\r\n });\r\n }\r\n getAllLayers() {\r\n let layers = [];\r\n function loop(data) {\r\n data.map(item => {\r\n layers.push(item);\r\n if (item?.layers?.length) {\r\n loop(item.layers);\r\n }\r\n });\r\n }\r\n loop(this.layers);\r\n return layers;\r\n }\r\n // 获取 layers 里面的 key 集合\r\n getAllKeys() {\r\n return getAllKeys(this.layers);\r\n }\r\n\r\n // 获取 layers 里面的 key 集合\r\n getAllLayersKeys() {\r\n return getAllLayersKeys(this.layers);\r\n }\r\n\r\n // 获取当前展示的 keys\r\n getShowKeys() {\r\n return getLayersVisibleKeys(this.layers, this.map, true);\r\n }\r\n\r\n // 获取当前隐藏的 keys\r\n getHiddenKeys() {\r\n return getLayersVisibleKeys(this.layers, this.map, false);\r\n }\r\n\r\n // 获取 ImageLayer 图层\r\n getImageLayers(_keys, visible) {\r\n const imageLayer = getLayers(this.layers, ImageLayer, _keys, visible);\r\n const imageTileLayer = getLayers(this.layers, ImageTileLayer, _keys, visible);\r\n return [...imageLayer, ...imageTileLayer];\r\n }\r\n\r\n // 获取 FeatureLayer 图层\r\n getFeatureLayers(_keys, visible) {\r\n return getLayers(this.layers, FeatureLayer, _keys, visible);\r\n }\r\n\r\n // 根据 keys 设置图层的显示,其他的隐藏\r\n setShowByKeys(_keys) {\r\n const map = this.map;\r\n const keys = Array.isArray(_keys) ? _keys : [_keys];\r\n this.getAllKeys().map(a => {\r\n let layer = map.layers.getLayerByKey(a);\r\n if (layer && !(layer instanceof GroupLayer)) {\r\n if (layer.group?.length) {\r\n let group = cloneDeep(layer.group);\r\n\r\n let show = false;\r\n group.forEach(v => {\r\n v.show = _keys.includes(v.key);\r\n\r\n if (_keys.includes(v.key)) {\r\n show = true;\r\n }\r\n });\r\n\r\n if (JSON.stringify(group) !== JSON.stringify(layer.group)) {\r\n layer.setGroup(group);\r\n }\r\n\r\n layer.show = show;\r\n layer.setVisible(show);\r\n } else {\r\n let show = keys.includes(a);\r\n if (show !== layer.show) {\r\n layer.show = show;\r\n layer.setVisible(show);\r\n }\r\n }\r\n }\r\n });\r\n map.layers.onChange();\r\n }\r\n\r\n // 根据 keys 设置图层的隐藏,其他的显示\r\n setHideByKeys(_keys) {\r\n const map = this.map;\r\n const keys = Array.isArray(_keys) ? _keys : [_keys];\r\n this.getAllKeys().map(a => {\r\n let layer = map.layers.getLayerByKey(a);\r\n if (layer) {\r\n if (layer.group?.length) {\r\n let group = cloneDeep(layer.group);\r\n group.forEach(v => {\r\n v.show = !_keys.includes(v.key);\r\n });\r\n\r\n if (!isEqual(group, layer.group)) {\r\n layer.setGroup(group);\r\n }\r\n } else {\r\n let show = !keys.includes(a);\r\n if (show !== layer.show) {\r\n layer.show = show;\r\n layer.setVisible(show);\r\n }\r\n }\r\n }\r\n });\r\n map.layers.onChange();\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Layers.js","names":["_EventEmitter2","_interopRequireDefault","require","_GroupLayer","_ImageLayer","_ImageTileLayer","_FeatureLayer","_WmsLayer","_lodash","_FlowLineLayer","e","__esModule","_classCallCheck","a","n","TypeError","_defineProperties","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","apply","_assertThisInitialized","ReferenceError","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","create","value","_setPrototypeOf","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","name","Array","from","test","iterator","isArray","getLayersVisibleKeys","data","map","visible","arguments","undefined","keys","loop","v","_v$layers","layer","layers","getLayerByKey","GroupLayer","_layer$group","group","f","hasOwnProperty","show","push","getAllKeys","_v$layers2","getAllLayersKeys","_v$layers3","_v$group","getLayers","_keys","_v$layers4","isVisible","displayName","getVisible","includes","newLayer","Layers","exports","_EventEmitter","options","_this","onChange","emit","addLayer","FeatureLayer","ImageTileLayer","ImageLayer","FlowLineLayer","layerControl","removeLayer","WmsLayer","filter","clearLayers","_this$layers","_this$getAllLayers","getAllLayers","find","item","_item$layers","getShowKeys","getHiddenKeys","getImageLayers","imageLayer","imageTileLayer","concat","getFeatureLayers","setShowByKeys","_layer$group2","cloneDeep","forEach","JSON","stringify","setGroup","setVisible","setHideByKeys","_layer$group3","isEqual","EventEmitter"],"sources":["map/Layers.js"],"sourcesContent":["import EventEmitter from '../_util/EventEmitter';\r\nimport GroupLayer from '../group-layer/GroupLayer';\r\nimport ImageLayer from '../image-layer/ImageLayer';\r\nimport ImageTileLayer from '../image-layer/ImageTileLayer';\r\nimport FeatureLayer from '../feature-layer/FeatureLayer';\r\nimport WmsLayer from '../wms-layer/WmsLayer';\r\nimport { cloneDeep, isEqual } from 'lodash';\r\nimport FlowLineLayer from '../flow-line-layer/FlowLineLayer';\r\n\r\n// 获取显示或隐藏的keys\r\nconst getLayersVisibleKeys = (data, map, visible = true) => {\r\n let keys = [];\r\n function loop(data, map, visible) {\r\n data.map(v => {\r\n if (v.key) {\r\n let layer = map.layers.getLayerByKey(v.key);\r\n if (layer && !(layer instanceof GroupLayer)) {\r\n if (layer.group?.length) {\r\n if (visible) {\r\n layer.group.map(f => {\r\n if (!f.hasOwnProperty('show') || f.show) {\r\n keys.push(f.key);\r\n }\r\n });\r\n } else {\r\n layer.group.map(f => {\r\n if (!f.show) {\r\n keys.push(f.key);\r\n }\r\n });\r\n }\r\n } else if (layer.show === visible) {\r\n keys.push(v.key);\r\n }\r\n\r\n // 如果group的显示的长度和layer的不一致 则不显示\r\n // if (\r\n // layer.show === visible &&\r\n // layer.group?.filter(v => v.show)?.length == layer.group?.length\r\n // ) {\r\n // keys.push(v.key);\r\n // }\r\n }\r\n }\r\n if (v.layers?.length) {\r\n loop(v.layers, map, visible);\r\n }\r\n });\r\n }\r\n loop(data, map, visible);\r\n return keys;\r\n};\r\n// 获取所有keys\r\nconst getAllKeys = data => {\r\n let keys = [];\r\n data.map(v => {\r\n if (v.layers?.length) {\r\n keys.push(...getAllKeys(v.layers));\r\n }\r\n keys.push(v.key);\r\n });\r\n\r\n return keys;\r\n};\r\n\r\n// 获取所有keys(包含group)\r\nconst getAllLayersKeys = data => {\r\n let keys = [];\r\n data.map(v => {\r\n if (v.layers?.length) {\r\n keys.push(...getAllLayersKeys(v.layers));\r\n }\r\n keys.push(v.key);\r\n if (v?.group?.length) {\r\n v.group.map(f => {\r\n if (f.key) {\r\n keys.push(f.key);\r\n }\r\n });\r\n }\r\n });\r\n\r\n return keys;\r\n};\r\n\r\n// 获取图层\r\nconst getLayers = (data, layer, _keys, visible) => {\r\n const layers = [];\r\n // 判断查询 全部的 or 隐藏的 or 显示的\r\n function loop(data, layer, _keys, visible) {\r\n data.map(v => {\r\n const isVisible =\r\n typeof visible !== 'boolean'\r\n ? true\r\n : v.displayName !== 'GroupLayer'\r\n ? v?.getVisible() === visible\r\n : false;\r\n\r\n if (v.key && v instanceof layer && isVisible) {\r\n if (_keys) {\r\n const keys = Array.isArray(_keys) ? _keys : [_keys];\r\n\r\n if (keys.includes(v.key)) {\r\n layers.push(v);\r\n }\r\n } else {\r\n layers.push(v);\r\n }\r\n }\r\n if (v.layers?.length) {\r\n let newLayer = loop(v.layers, layer, _keys, visible);\r\n if (newLayer?.length) {\r\n layers.push(newLayer);\r\n }\r\n }\r\n });\r\n }\r\n loop(data, layer, _keys, visible);\r\n\r\n return layers;\r\n};\r\n\r\nexport default class Layers extends EventEmitter {\r\n constructor(options) {\r\n super();\r\n\r\n this.map = options.map;\r\n\r\n this.layers = [];\r\n }\r\n // 图层改变的时候\r\n onChange() {\r\n this.emit('change', this.layers);\r\n }\r\n addLayer(layer) {\r\n const map = this.map;\r\n if (\r\n layer instanceof FeatureLayer ||\r\n layer instanceof ImageTileLayer ||\r\n layer instanceof ImageLayer ||\r\n layer instanceof FlowLineLayer\r\n ) {\r\n map.addLayer(layer);\r\n }\r\n if (layer.name && layer.layerControl) {\r\n this.layers.push(layer);\r\n this.emit('add', layer);\r\n this.onChange();\r\n }\r\n }\r\n removeLayer(layer) {\r\n const map = this.map;\r\n if (\r\n layer instanceof FeatureLayer ||\r\n layer instanceof ImageTileLayer ||\r\n layer instanceof ImageLayer ||\r\n layer instanceof WmsLayer\r\n ) {\r\n map.removeLayer(layer);\r\n }\r\n if (layer.name && layer.layerControl) {\r\n this.layers = this.layers.filter(v => v !== layer);\r\n this.emit('remove', layer);\r\n this.onChange();\r\n }\r\n }\r\n // 图层清空\r\n clearLayers() {\r\n const map = this.map;\r\n this.layers?.map(layer => {\r\n if (\r\n layer instanceof FeatureLayer ||\r\n layer instanceof ImageTileLayer ||\r\n layer instanceof ImageLayer ||\r\n layer instanceof FlowLineLayer ||\r\n layer instanceof WmsLayer\r\n ) {\r\n map.removeLayer(layer);\r\n }\r\n });\r\n this.layers = [];\r\n this.emit('clear');\r\n this.onChange();\r\n }\r\n getLayerByKey(_keys) {\r\n return this.getAllLayers()?.find(layer => {\r\n return _keys && layer.key && layer.key === _keys;\r\n });\r\n }\r\n getAllLayers() {\r\n let layers = [];\r\n function loop(data) {\r\n data.map(item => {\r\n layers.push(item);\r\n if (item?.layers?.length) {\r\n loop(item.layers);\r\n }\r\n });\r\n }\r\n loop(this.layers);\r\n return layers;\r\n }\r\n // 获取 layers 里面的 key 集合\r\n getAllKeys() {\r\n return getAllKeys(this.layers);\r\n }\r\n\r\n // 获取 layers 里面的 key 集合\r\n getAllLayersKeys() {\r\n return getAllLayersKeys(this.layers);\r\n }\r\n\r\n // 获取当前展示的 keys\r\n getShowKeys() {\r\n return getLayersVisibleKeys(this.layers, this.map, true);\r\n }\r\n\r\n // 获取当前隐藏的 keys\r\n getHiddenKeys() {\r\n return getLayersVisibleKeys(this.layers, this.map, false);\r\n }\r\n\r\n // 获取 ImageLayer 图层\r\n getImageLayers(_keys, visible) {\r\n const imageLayer = getLayers(this.layers, ImageLayer, _keys, visible);\r\n const imageTileLayer = getLayers(this.layers, ImageTileLayer, _keys, visible);\r\n return [...imageLayer, ...imageTileLayer];\r\n }\r\n\r\n // 获取 FeatureLayer 图层\r\n getFeatureLayers(_keys, visible) {\r\n return getLayers(this.layers, FeatureLayer, _keys, visible);\r\n }\r\n\r\n // 根据 keys 设置图层的显示,其他的隐藏\r\n setShowByKeys(_keys) {\r\n const map = this.map;\r\n const keys = Array.isArray(_keys) ? _keys : [_keys];\r\n this.getAllKeys().map(a => {\r\n let layer = map.layers.getLayerByKey(a);\r\n if (layer && !(layer instanceof GroupLayer)) {\r\n if (layer.group?.length) {\r\n let group = cloneDeep(layer.group);\r\n\r\n let show = false;\r\n group.forEach(v => {\r\n v.show = _keys.includes(v.key);\r\n\r\n if (_keys.includes(v.key)) {\r\n show = true;\r\n }\r\n });\r\n\r\n if (JSON.stringify(group) !== JSON.stringify(layer.group)) {\r\n layer.setGroup(group);\r\n }\r\n\r\n layer.show = show;\r\n layer.setVisible(show);\r\n } else {\r\n let show = keys.includes(a);\r\n if (show !== layer.show) {\r\n layer.show = show;\r\n layer.setVisible(show);\r\n }\r\n }\r\n }\r\n });\r\n map.layers.onChange();\r\n }\r\n\r\n // 根据 keys 设置图层的隐藏,其他的显示\r\n setHideByKeys(_keys) {\r\n const map = this.map;\r\n const keys = Array.isArray(_keys) ? _keys : [_keys];\r\n this.getAllKeys().map(a => {\r\n let layer = map.layers.getLayerByKey(a);\r\n if (layer) {\r\n if (layer.group?.length) {\r\n let group = cloneDeep(layer.group);\r\n group.forEach(v => {\r\n v.show = !_keys.includes(v.key);\r\n });\r\n\r\n if (!isEqual(group, layer.group)) {\r\n layer.setGroup(group);\r\n }\r\n } else {\r\n let show = !keys.includes(a);\r\n if (show !== layer.show) {\r\n layer.show = show;\r\n layer.setVisible(show);\r\n }\r\n }\r\n }\r\n });\r\n map.layers.onChange();\r\n }\r\n}\r\n"],"mappings":";;;;;;;AAAA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,eAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,aAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,SAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAR,sBAAA,CAAAC,OAAA;AAA6D,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,SAAAE,gBAAAC,CAAA,EAAAC,CAAA,UAAAD,CAAA,YAAAC,CAAA,aAAAC,SAAA;AAAA,SAAAC,kBAAAN,CAAA,EAAAO,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAD,CAAA,CAAAE,MAAA,EAAAD,CAAA,UAAAE,CAAA,GAAAH,CAAA,CAAAC,CAAA,GAAAE,CAAA,CAAAC,UAAA,GAAAD,CAAA,CAAAC,UAAA,QAAAD,CAAA,CAAAE,YAAA,kBAAAF,CAAA,KAAAA,CAAA,CAAAG,QAAA,QAAAC,MAAA,CAAAC,cAAA,CAAAf,CAAA,EAAAgB,cAAA,CAAAN,CAAA,CAAAO,GAAA,GAAAP,CAAA;AAAA,SAAAQ,aAAAlB,CAAA,EAAAO,CAAA,EAAAC,CAAA,WAAAD,CAAA,IAAAD,iBAAA,CAAAN,CAAA,CAAAmB,SAAA,EAAAZ,CAAA,GAAAC,CAAA,IAAAF,iBAAA,CAAAN,CAAA,EAAAQ,CAAA,GAAAM,MAAA,CAAAC,cAAA,CAAAf,CAAA,iBAAAa,QAAA,SAAAb,CAAA;AAAA,SAAAgB,eAAAR,CAAA,QAAAY,CAAA,GAAAC,YAAA,CAAAb,CAAA,gCAAAc,OAAA,CAAAF,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAb,CAAA,EAAAD,CAAA,oBAAAe,OAAA,CAAAd,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAR,CAAA,GAAAQ,CAAA,CAAAe,MAAA,CAAAC,WAAA,kBAAAxB,CAAA,QAAAoB,CAAA,GAAApB,CAAA,CAAAyB,IAAA,CAAAjB,CAAA,EAAAD,CAAA,gCAAAe,OAAA,CAAAF,CAAA,UAAAA,CAAA,YAAAf,SAAA,yEAAAE,CAAA,GAAAmB,MAAA,GAAAC,MAAA,EAAAnB,CAAA;AAAA,SAAAoB,WAAApB,CAAA,EAAAE,CAAA,EAAAV,CAAA,WAAAU,CAAA,GAAAmB,eAAA,CAAAnB,CAAA,GAAAoB,0BAAA,CAAAtB,CAAA,EAAAuB,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAvB,CAAA,EAAAV,CAAA,QAAA6B,eAAA,CAAArB,CAAA,EAAA0B,WAAA,IAAAxB,CAAA,CAAAyB,KAAA,CAAA3B,CAAA,EAAAR,CAAA;AAAA,SAAA8B,2BAAAtB,CAAA,EAAAR,CAAA,QAAAA,CAAA,iBAAAsB,OAAA,CAAAtB,CAAA,0BAAAA,CAAA,UAAAA,CAAA,iBAAAA,CAAA,YAAAK,SAAA,qEAAA+B,sBAAA,CAAA5B,CAAA;AAAA,SAAA4B,uBAAApC,CAAA,mBAAAA,CAAA,YAAAqC,cAAA,sEAAArC,CAAA;AAAA,SAAA+B,0BAAA,cAAAvB,CAAA,IAAA8B,OAAA,CAAAnB,SAAA,CAAAoB,OAAA,CAAAd,IAAA,CAAAO,OAAA,CAAAC,SAAA,CAAAK,OAAA,iCAAA9B,CAAA,aAAAuB,yBAAA,YAAAA,0BAAA,aAAAvB,CAAA;AAAA,SAAAqB,gBAAArB,CAAA,WAAAqB,eAAA,GAAAf,MAAA,CAAA0B,cAAA,GAAA1B,MAAA,CAAA2B,cAAA,CAAAC,IAAA,eAAAlC,CAAA,WAAAA,CAAA,CAAAmC,SAAA,IAAA7B,MAAA,CAAA2B,cAAA,CAAAjC,CAAA,MAAAqB,eAAA,CAAArB,CAAA;AAAA,SAAAoC,UAAApC,CAAA,EAAAR,CAAA,6BAAAA,CAAA,aAAAA,CAAA,YAAAK,SAAA,wDAAAG,CAAA,CAAAW,SAAA,GAAAL,MAAA,CAAA+B,MAAA,CAAA7C,CAAA,IAAAA,CAAA,CAAAmB,SAAA,IAAAe,WAAA,IAAAY,KAAA,EAAAtC,CAAA,EAAAK,QAAA,MAAAD,YAAA,WAAAE,MAAA,CAAAC,cAAA,CAAAP,CAAA,iBAAAK,QAAA,SAAAb,CAAA,IAAA+C,eAAA,CAAAvC,CAAA,EAAAR,CAAA;AAAA,SAAA+C,gBAAAvC,CAAA,EAAAR,CAAA,WAAA+C,eAAA,GAAAjC,MAAA,CAAA0B,cAAA,GAAA1B,MAAA,CAAA0B,cAAA,CAAAE,IAAA,eAAAlC,CAAA,EAAAR,CAAA,WAAAQ,CAAA,CAAAmC,SAAA,GAAA3C,CAAA,EAAAQ,CAAA,KAAAuC,eAAA,CAAAvC,CAAA,EAAAR,CAAA;AAAA,SAAAgD,mBAAAzC,CAAA,WAAA0C,kBAAA,CAAA1C,CAAA,KAAA2C,gBAAA,CAAA3C,CAAA,KAAA4C,2BAAA,CAAA5C,CAAA,KAAA6C,kBAAA;AAAA,SAAAA,mBAAA,cAAA/C,SAAA;AAAA,SAAA8C,4BAAA5C,CAAA,EAAAJ,CAAA,QAAAI,CAAA,2BAAAA,CAAA,SAAA8C,iBAAA,CAAA9C,CAAA,EAAAJ,CAAA,OAAAK,CAAA,MAAA8C,QAAA,CAAA7B,IAAA,CAAAlB,CAAA,EAAAgD,KAAA,6BAAA/C,CAAA,IAAAD,CAAA,CAAA2B,WAAA,KAAA1B,CAAA,GAAAD,CAAA,CAAA2B,WAAA,CAAAsB,IAAA,aAAAhD,CAAA,cAAAA,CAAA,GAAAiD,KAAA,CAAAC,IAAA,CAAAnD,CAAA,oBAAAC,CAAA,+CAAAmD,IAAA,CAAAnD,CAAA,IAAA6C,iBAAA,CAAA9C,CAAA,EAAAJ,CAAA;AAAA,SAAA+C,iBAAA3C,CAAA,8BAAAgB,MAAA,YAAAhB,CAAA,CAAAgB,MAAA,CAAAqC,QAAA,aAAArD,CAAA,uBAAAkD,KAAA,CAAAC,IAAA,CAAAnD,CAAA;AAAA,SAAA0C,mBAAA1C,CAAA,QAAAkD,KAAA,CAAAI,OAAA,CAAAtD,CAAA,UAAA8C,iBAAA,CAAA9C,CAAA;AAAA,SAAA8C,kBAAA9C,CAAA,EAAAJ,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAI,CAAA,CAAAE,MAAA,MAAAN,CAAA,GAAAI,CAAA,CAAAE,MAAA,YAAAT,CAAA,MAAAI,CAAA,GAAAqD,KAAA,CAAAtD,CAAA,GAAAH,CAAA,GAAAG,CAAA,EAAAH,CAAA,IAAAI,CAAA,CAAAJ,CAAA,IAAAO,CAAA,CAAAP,CAAA,UAAAI,CAAA;AAE7D;AACA,IAAM0D,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,IAAI,EAAEC,GAAG,EAAqB;EAAA,IAAnBC,OAAO,GAAAC,SAAA,CAAAzD,MAAA,QAAAyD,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;EACnD,IAAIE,IAAI,GAAG,EAAE;EACb,SAASC,IAAIA,CAACN,IAAI,EAAEC,GAAG,EAAEC,OAAO,EAAE;IAC9BF,IAAI,CAACC,GAAG,CAAC,UAAAM,CAAC,EAAI;MAAA,IAAAC,SAAA;MACV,IAAID,CAAC,CAACrD,GAAG,EAAE;QACP,IAAIuD,KAAK,GAAGR,GAAG,CAACS,MAAM,CAACC,aAAa,CAACJ,CAAC,CAACrD,GAAG,CAAC;QAC3C,IAAIuD,KAAK,IAAI,EAAEA,KAAK,YAAYG,sBAAU,CAAC,EAAE;UAAA,IAAAC,YAAA;UACzC,KAAAA,YAAA,GAAIJ,KAAK,CAACK,KAAK,cAAAD,YAAA,eAAXA,YAAA,CAAanE,MAAM,EAAE;YACrB,IAAIwD,OAAO,EAAE;cACTO,KAAK,CAACK,KAAK,CAACb,GAAG,CAAC,UAAAc,CAAC,EAAI;gBACjB,IAAI,CAACA,CAAC,CAACC,cAAc,CAAC,MAAM,CAAC,IAAID,CAAC,CAACE,IAAI,EAAE;kBACrCZ,IAAI,CAACa,IAAI,CAACH,CAAC,CAAC7D,GAAG,CAAC;gBACpB;cACJ,CAAC,CAAC;YACN,CAAC,MAAM;cACHuD,KAAK,CAACK,KAAK,CAACb,GAAG,CAAC,UAAAc,CAAC,EAAI;gBACjB,IAAI,CAACA,CAAC,CAACE,IAAI,EAAE;kBACTZ,IAAI,CAACa,IAAI,CAACH,CAAC,CAAC7D,GAAG,CAAC;gBACpB;cACJ,CAAC,CAAC;YACN;UACJ,CAAC,MAAM,IAAIuD,KAAK,CAACQ,IAAI,KAAKf,OAAO,EAAE;YAC/BG,IAAI,CAACa,IAAI,CAACX,CAAC,CAACrD,GAAG,CAAC;UACpB;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;QACJ;MACJ;MACA,KAAAsD,SAAA,GAAID,CAAC,CAACG,MAAM,cAAAF,SAAA,eAARA,SAAA,CAAU9D,MAAM,EAAE;QAClB4D,IAAI,CAACC,CAAC,CAACG,MAAM,EAAET,GAAG,EAAEC,OAAO,CAAC;MAChC;IACJ,CAAC,CAAC;EACN;EACAI,IAAI,CAACN,IAAI,EAAEC,GAAG,EAAEC,OAAO,CAAC;EACxB,OAAOG,IAAI;AACf,CAAC;AACD;AACA,IAAMc,WAAU,GAAG,SAAbA,UAAUA,CAAGnB,IAAI,EAAI;EACvB,IAAIK,IAAI,GAAG,EAAE;EACbL,IAAI,CAACC,GAAG,CAAC,UAAAM,CAAC,EAAI;IAAA,IAAAa,UAAA;IACV,KAAAA,UAAA,GAAIb,CAAC,CAACG,MAAM,cAAAU,UAAA,eAARA,UAAA,CAAU1E,MAAM,EAAE;MAClB2D,IAAI,CAACa,IAAI,CAAA9C,KAAA,CAATiC,IAAI,EAAApB,kBAAA,CAASkC,WAAU,CAACZ,CAAC,CAACG,MAAM,CAAC,EAAC;IACtC;IACAL,IAAI,CAACa,IAAI,CAACX,CAAC,CAACrD,GAAG,CAAC;EACpB,CAAC,CAAC;EAEF,OAAOmD,IAAI;AACf,CAAC;;AAED;AACA,IAAMgB,iBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGrB,IAAI,EAAI;EAC7B,IAAIK,IAAI,GAAG,EAAE;EACbL,IAAI,CAACC,GAAG,CAAC,UAAAM,CAAC,EAAI;IAAA,IAAAe,UAAA,EAAAC,QAAA;IACV,KAAAD,UAAA,GAAIf,CAAC,CAACG,MAAM,cAAAY,UAAA,eAARA,UAAA,CAAU5E,MAAM,EAAE;MAClB2D,IAAI,CAACa,IAAI,CAAA9C,KAAA,CAATiC,IAAI,EAAApB,kBAAA,CAASoC,iBAAgB,CAACd,CAAC,CAACG,MAAM,CAAC,EAAC;IAC5C;IACAL,IAAI,CAACa,IAAI,CAACX,CAAC,CAACrD,GAAG,CAAC;IAChB,IAAIqD,CAAC,aAADA,CAAC,gBAAAgB,QAAA,GAADhB,CAAC,CAAEO,KAAK,cAAAS,QAAA,eAARA,QAAA,CAAU7E,MAAM,EAAE;MAClB6D,CAAC,CAACO,KAAK,CAACb,GAAG,CAAC,UAAAc,CAAC,EAAI;QACb,IAAIA,CAAC,CAAC7D,GAAG,EAAE;UACPmD,IAAI,CAACa,IAAI,CAACH,CAAC,CAAC7D,GAAG,CAAC;QACpB;MACJ,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;EAEF,OAAOmD,IAAI;AACf,CAAC;;AAED;AACA,IAAMmB,SAAS,GAAG,SAAZA,SAASA,CAAIxB,IAAI,EAAES,KAAK,EAAEgB,KAAK,EAAEvB,OAAO,EAAK;EAC/C,IAAMQ,MAAM,GAAG,EAAE;EACjB;EACA,SAASJ,IAAIA,CAACN,IAAI,EAAES,KAAK,EAAEgB,KAAK,EAAEvB,OAAO,EAAE;IACvCF,IAAI,CAACC,GAAG,CAAC,UAAAM,CAAC,EAAI;MAAA,IAAAmB,UAAA;MACV,IAAMC,SAAS,GACX,OAAOzB,OAAO,KAAK,SAAS,GACtB,IAAI,GACJK,CAAC,CAACqB,WAAW,KAAK,YAAY,GAC9B,CAAArB,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAEsB,UAAU,CAAC,CAAC,MAAK3B,OAAO,GAC3B,KAAK;MAEf,IAAIK,CAAC,CAACrD,GAAG,IAAIqD,CAAC,YAAYE,KAAK,IAAIkB,SAAS,EAAE;QAC1C,IAAIF,KAAK,EAAE;UACP,IAAMpB,IAAI,GAAGX,KAAK,CAACI,OAAO,CAAC2B,KAAK,CAAC,GAAGA,KAAK,GAAG,CAACA,KAAK,CAAC;UAEnD,IAAIpB,IAAI,CAACyB,QAAQ,CAACvB,CAAC,CAACrD,GAAG,CAAC,EAAE;YACtBwD,MAAM,CAACQ,IAAI,CAACX,CAAC,CAAC;UAClB;QACJ,CAAC,MAAM;UACHG,MAAM,CAACQ,IAAI,CAACX,CAAC,CAAC;QAClB;MACJ;MACA,KAAAmB,UAAA,GAAInB,CAAC,CAACG,MAAM,cAAAgB,UAAA,eAARA,UAAA,CAAUhF,MAAM,EAAE;QAClB,IAAIqF,QAAQ,GAAGzB,IAAI,CAACC,CAAC,CAACG,MAAM,EAAED,KAAK,EAAEgB,KAAK,EAAEvB,OAAO,CAAC;QACpD,IAAI6B,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAErF,MAAM,EAAE;UAClBgE,MAAM,CAACQ,IAAI,CAACa,QAAQ,CAAC;QACzB;MACJ;IACJ,CAAC,CAAC;EACN;EACAzB,IAAI,CAACN,IAAI,EAAES,KAAK,EAAEgB,KAAK,EAAEvB,OAAO,CAAC;EAEjC,OAAOQ,MAAM;AACjB,CAAC;AAAC,IAEmBsB,MAAM,GAAAC,OAAA,qCAAAC,aAAA;EACvB,SAAAF,OAAYG,OAAO,EAAE;IAAA,IAAAC,KAAA;IAAAjG,eAAA,OAAA6F,MAAA;IACjBI,KAAA,GAAAvE,UAAA,OAAAmE,MAAA;IAEAI,KAAA,CAAKnC,GAAG,GAAGkC,OAAO,CAAClC,GAAG;IAEtBmC,KAAA,CAAK1B,MAAM,GAAG,EAAE;IAAC,OAAA0B,KAAA;EACrB;EACA;EAAAvD,SAAA,CAAAmD,MAAA,EAAAE,aAAA;EAAA,OAAA/E,YAAA,CAAA6E,MAAA;IAAA9E,GAAA;IAAA6B,KAAA,EACA,SAAAsD,QAAQA,CAAA,EAAG;MACP,IAAI,CAACC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC5B,MAAM,CAAC;IACpC;EAAC;IAAAxD,GAAA;IAAA6B,KAAA,EACD,SAAAwD,QAAQA,CAAC9B,KAAK,EAAE;MACZ,IAAMR,GAAG,GAAG,IAAI,CAACA,GAAG;MACpB,IACIQ,KAAK,YAAY+B,wBAAY,IAC7B/B,KAAK,YAAYgC,0BAAc,IAC/BhC,KAAK,YAAYiC,sBAAU,IAC3BjC,KAAK,YAAYkC,yBAAa,EAChC;QACE1C,GAAG,CAACsC,QAAQ,CAAC9B,KAAK,CAAC;MACvB;MACA,IAAIA,KAAK,CAAChB,IAAI,IAAIgB,KAAK,CAACmC,YAAY,EAAE;QAClC,IAAI,CAAClC,MAAM,CAACQ,IAAI,CAACT,KAAK,CAAC;QACvB,IAAI,CAAC6B,IAAI,CAAC,KAAK,EAAE7B,KAAK,CAAC;QACvB,IAAI,CAAC4B,QAAQ,CAAC,CAAC;MACnB;IACJ;EAAC;IAAAnF,GAAA;IAAA6B,KAAA,EACD,SAAA8D,WAAWA,CAACpC,KAAK,EAAE;MACf,IAAMR,GAAG,GAAG,IAAI,CAACA,GAAG;MACpB,IACIQ,KAAK,YAAY+B,wBAAY,IAC7B/B,KAAK,YAAYgC,0BAAc,IAC/BhC,KAAK,YAAYiC,sBAAU,IAC3BjC,KAAK,YAAYqC,oBAAQ,EAC3B;QACE7C,GAAG,CAAC4C,WAAW,CAACpC,KAAK,CAAC;MAC1B;MACA,IAAIA,KAAK,CAAChB,IAAI,IAAIgB,KAAK,CAACmC,YAAY,EAAE;QAClC,IAAI,CAAClC,MAAM,GAAG,IAAI,CAACA,MAAM,CAACqC,MAAM,CAAC,UAAAxC,CAAC;UAAA,OAAIA,CAAC,KAAKE,KAAK;QAAA,EAAC;QAClD,IAAI,CAAC6B,IAAI,CAAC,QAAQ,EAAE7B,KAAK,CAAC;QAC1B,IAAI,CAAC4B,QAAQ,CAAC,CAAC;MACnB;IACJ;IACA;EAAA;IAAAnF,GAAA;IAAA6B,KAAA,EACA,SAAAiE,WAAWA,CAAA,EAAG;MAAA,IAAAC,YAAA;MACV,IAAMhD,GAAG,GAAG,IAAI,CAACA,GAAG;MACpB,CAAAgD,YAAA,OAAI,CAACvC,MAAM,cAAAuC,YAAA,eAAXA,YAAA,CAAahD,GAAG,CAAC,UAAAQ,KAAK,EAAI;QACtB,IACIA,KAAK,YAAY+B,wBAAY,IAC7B/B,KAAK,YAAYgC,0BAAc,IAC/BhC,KAAK,YAAYiC,sBAAU,IAC3BjC,KAAK,YAAYkC,yBAAa,IAC9BlC,KAAK,YAAYqC,oBAAQ,EAC3B;UACE7C,GAAG,CAAC4C,WAAW,CAACpC,KAAK,CAAC;QAC1B;MACJ,CAAC,CAAC;MACF,IAAI,CAACC,MAAM,GAAG,EAAE;MAChB,IAAI,CAAC4B,IAAI,CAAC,OAAO,CAAC;MAClB,IAAI,CAACD,QAAQ,CAAC,CAAC;IACnB;EAAC;IAAAnF,GAAA;IAAA6B,KAAA,EACD,SAAA4B,aAAaA,CAACc,KAAK,EAAE;MAAA,IAAAyB,kBAAA;MACjB,QAAAA,kBAAA,GAAO,IAAI,CAACC,YAAY,CAAC,CAAC,cAAAD,kBAAA,uBAAnBA,kBAAA,CAAqBE,IAAI,CAAC,UAAA3C,KAAK,EAAI;QACtC,OAAOgB,KAAK,IAAIhB,KAAK,CAACvD,GAAG,IAAIuD,KAAK,CAACvD,GAAG,KAAKuE,KAAK;MACpD,CAAC,CAAC;IACN;EAAC;IAAAvE,GAAA;IAAA6B,KAAA,EACD,SAAAoE,YAAYA,CAAA,EAAG;MACX,IAAIzC,MAAM,GAAG,EAAE;MACf,SAASJ,IAAIA,CAACN,IAAI,EAAE;QAChBA,IAAI,CAACC,GAAG,CAAC,UAAAoD,IAAI,EAAI;UAAA,IAAAC,YAAA;UACb5C,MAAM,CAACQ,IAAI,CAACmC,IAAI,CAAC;UACjB,IAAIA,IAAI,aAAJA,IAAI,gBAAAC,YAAA,GAAJD,IAAI,CAAE3C,MAAM,cAAA4C,YAAA,eAAZA,YAAA,CAAc5G,MAAM,EAAE;YACtB4D,IAAI,CAAC+C,IAAI,CAAC3C,MAAM,CAAC;UACrB;QACJ,CAAC,CAAC;MACN;MACAJ,IAAI,CAAC,IAAI,CAACI,MAAM,CAAC;MACjB,OAAOA,MAAM;IACjB;IACA;EAAA;IAAAxD,GAAA;IAAA6B,KAAA,EACA,SAAAoC,UAAUA,CAAA,EAAG;MACT,OAAOA,WAAU,CAAC,IAAI,CAACT,MAAM,CAAC;IAClC;;IAEA;EAAA;IAAAxD,GAAA;IAAA6B,KAAA,EACA,SAAAsC,gBAAgBA,CAAA,EAAG;MACf,OAAOA,iBAAgB,CAAC,IAAI,CAACX,MAAM,CAAC;IACxC;;IAEA;EAAA;IAAAxD,GAAA;IAAA6B,KAAA,EACA,SAAAwE,WAAWA,CAAA,EAAG;MACV,OAAOxD,oBAAoB,CAAC,IAAI,CAACW,MAAM,EAAE,IAAI,CAACT,GAAG,EAAE,IAAI,CAAC;IAC5D;;IAEA;EAAA;IAAA/C,GAAA;IAAA6B,KAAA,EACA,SAAAyE,aAAaA,CAAA,EAAG;MACZ,OAAOzD,oBAAoB,CAAC,IAAI,CAACW,MAAM,EAAE,IAAI,CAACT,GAAG,EAAE,KAAK,CAAC;IAC7D;;IAEA;EAAA;IAAA/C,GAAA;IAAA6B,KAAA,EACA,SAAA0E,cAAcA,CAAChC,KAAK,EAAEvB,OAAO,EAAE;MAC3B,IAAMwD,UAAU,GAAGlC,SAAS,CAAC,IAAI,CAACd,MAAM,EAAEgC,sBAAU,EAAEjB,KAAK,EAAEvB,OAAO,CAAC;MACrE,IAAMyD,cAAc,GAAGnC,SAAS,CAAC,IAAI,CAACd,MAAM,EAAE+B,0BAAc,EAAEhB,KAAK,EAAEvB,OAAO,CAAC;MAC7E,UAAA0D,MAAA,CAAA3E,kBAAA,CAAWyE,UAAU,GAAAzE,kBAAA,CAAK0E,cAAc;IAC5C;;IAEA;EAAA;IAAAzG,GAAA;IAAA6B,KAAA,EACA,SAAA8E,gBAAgBA,CAACpC,KAAK,EAAEvB,OAAO,EAAE;MAC7B,OAAOsB,SAAS,CAAC,IAAI,CAACd,MAAM,EAAE8B,wBAAY,EAAEf,KAAK,EAAEvB,OAAO,CAAC;IAC/D;;IAEA;EAAA;IAAAhD,GAAA;IAAA6B,KAAA,EACA,SAAA+E,aAAaA,CAACrC,KAAK,EAAE;MACjB,IAAMxB,GAAG,GAAG,IAAI,CAACA,GAAG;MACpB,IAAMI,IAAI,GAAGX,KAAK,CAACI,OAAO,CAAC2B,KAAK,CAAC,GAAGA,KAAK,GAAG,CAACA,KAAK,CAAC;MACnD,IAAI,CAACN,UAAU,CAAC,CAAC,CAAClB,GAAG,CAAC,UAAA7D,CAAC,EAAI;QACvB,IAAIqE,KAAK,GAAGR,GAAG,CAACS,MAAM,CAACC,aAAa,CAACvE,CAAC,CAAC;QACvC,IAAIqE,KAAK,IAAI,EAAEA,KAAK,YAAYG,sBAAU,CAAC,EAAE;UAAA,IAAAmD,aAAA;UACzC,KAAAA,aAAA,GAAItD,KAAK,CAACK,KAAK,cAAAiD,aAAA,eAAXA,aAAA,CAAarH,MAAM,EAAE;YACrB,IAAIoE,KAAK,GAAG,IAAAkD,iBAAS,EAACvD,KAAK,CAACK,KAAK,CAAC;YAElC,IAAIG,IAAI,GAAG,KAAK;YAChBH,KAAK,CAACmD,OAAO,CAAC,UAAA1D,CAAC,EAAI;cACfA,CAAC,CAACU,IAAI,GAAGQ,KAAK,CAACK,QAAQ,CAACvB,CAAC,CAACrD,GAAG,CAAC;cAE9B,IAAIuE,KAAK,CAACK,QAAQ,CAACvB,CAAC,CAACrD,GAAG,CAAC,EAAE;gBACvB+D,IAAI,GAAG,IAAI;cACf;YACJ,CAAC,CAAC;YAEF,IAAIiD,IAAI,CAACC,SAAS,CAACrD,KAAK,CAAC,KAAKoD,IAAI,CAACC,SAAS,CAAC1D,KAAK,CAACK,KAAK,CAAC,EAAE;cACvDL,KAAK,CAAC2D,QAAQ,CAACtD,KAAK,CAAC;YACzB;YAEAL,KAAK,CAACQ,IAAI,GAAGA,IAAI;YACjBR,KAAK,CAAC4D,UAAU,CAACpD,IAAI,CAAC;UAC1B,CAAC,MAAM;YACH,IAAIA,KAAI,GAAGZ,IAAI,CAACyB,QAAQ,CAAC1F,CAAC,CAAC;YAC3B,IAAI6E,KAAI,KAAKR,KAAK,CAACQ,IAAI,EAAE;cACrBR,KAAK,CAACQ,IAAI,GAAGA,KAAI;cACjBR,KAAK,CAAC4D,UAAU,CAACpD,KAAI,CAAC;YAC1B;UACJ;QACJ;MACJ,CAAC,CAAC;MACFhB,GAAG,CAACS,MAAM,CAAC2B,QAAQ,CAAC,CAAC;IACzB;;IAEA;EAAA;IAAAnF,GAAA;IAAA6B,KAAA,EACA,SAAAuF,aAAaA,CAAC7C,KAAK,EAAE;MACjB,IAAMxB,GAAG,GAAG,IAAI,CAACA,GAAG;MACpB,IAAMI,IAAI,GAAGX,KAAK,CAACI,OAAO,CAAC2B,KAAK,CAAC,GAAGA,KAAK,GAAG,CAACA,KAAK,CAAC;MACnD,IAAI,CAACN,UAAU,CAAC,CAAC,CAAClB,GAAG,CAAC,UAAA7D,CAAC,EAAI;QACvB,IAAIqE,KAAK,GAAGR,GAAG,CAACS,MAAM,CAACC,aAAa,CAACvE,CAAC,CAAC;QACvC,IAAIqE,KAAK,EAAE;UAAA,IAAA8D,aAAA;UACP,KAAAA,aAAA,GAAI9D,KAAK,CAACK,KAAK,cAAAyD,aAAA,eAAXA,aAAA,CAAa7H,MAAM,EAAE;YACrB,IAAIoE,KAAK,GAAG,IAAAkD,iBAAS,EAACvD,KAAK,CAACK,KAAK,CAAC;YAClCA,KAAK,CAACmD,OAAO,CAAC,UAAA1D,CAAC,EAAI;cACfA,CAAC,CAACU,IAAI,GAAG,CAACQ,KAAK,CAACK,QAAQ,CAACvB,CAAC,CAACrD,GAAG,CAAC;YACnC,CAAC,CAAC;YAEF,IAAI,CAAC,IAAAsH,eAAO,EAAC1D,KAAK,EAAEL,KAAK,CAACK,KAAK,CAAC,EAAE;cAC9BL,KAAK,CAAC2D,QAAQ,CAACtD,KAAK,CAAC;YACzB;UACJ,CAAC,MAAM;YACH,IAAIG,IAAI,GAAG,CAACZ,IAAI,CAACyB,QAAQ,CAAC1F,CAAC,CAAC;YAC5B,IAAI6E,IAAI,KAAKR,KAAK,CAACQ,IAAI,EAAE;cACrBR,KAAK,CAACQ,IAAI,GAAGA,IAAI;cACjBR,KAAK,CAAC4D,UAAU,CAACpD,IAAI,CAAC;YAC1B;UACJ;QACJ;MACJ,CAAC,CAAC;MACFhB,GAAG,CAACS,MAAM,CAAC2B,QAAQ,CAAC,CAAC;IACzB;EAAC;AAAA,EA/K+BoC,yBAAY","ignoreList":[]}
@@ -20,6 +20,10 @@ var _turf = require("@turf/turf");
20
20
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
21
21
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
22
22
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
23
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
24
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
25
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
26
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
23
27
  function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
24
28
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
25
29
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
@@ -45,6 +49,9 @@ var getAngle = function getAngle(point1, point2) {
45
49
  }
46
50
  return arc;
47
51
  };
52
+ var isInExtent = function isInExtent(Extent, Point) {
53
+ return Extent[0] <= Point[0] && Point[0] <= Extent[2] && Extent[1] <= Point[1] && Point[1] <= Extent[3];
54
+ };
48
55
  var PathPlayBack = exports["default"] = /*#__PURE__*/function () {
49
56
  function PathPlayBack(options) {
50
57
  _classCallCheck(this, PathPlayBack);
@@ -166,6 +173,17 @@ var PathPlayBack = exports["default"] = /*#__PURE__*/function () {
166
173
  }
167
174
  }
168
175
  }
176
+ }, {
177
+ key: "setGeoMarkerImage",
178
+ value: function setGeoMarkerImage(geoMarker) {
179
+ if (this.geoMarkerStyle && this.geoMarker) {
180
+ this.geoMarkerStyle.setImage(new _style.Icon(_objectSpread({
181
+ anchor: [0.5, 1],
182
+ src: _people["default"]
183
+ }, geoMarker)));
184
+ this.geoMarker.setStyle(this.geoMarkerStyle);
185
+ }
186
+ }
169
187
  }, {
170
188
  key: "loadObjectData",
171
189
  value: function loadObjectData(data) {
@@ -466,7 +484,6 @@ var PathPlayBack = exports["default"] = /*#__PURE__*/function () {
466
484
  }
467
485
  // 计算当前进度的对应index
468
486
 
469
- console.log('moveTo', this.distanceRatioArr, distance, dataIndex, this.currentIndex);
470
487
  this.onPlaying && this.onPlaying(this._distance, this.currentIndex, dataIndex);
471
488
  }
472
489
  }, {
@@ -514,7 +531,7 @@ var PathPlayBack = exports["default"] = /*#__PURE__*/function () {
514
531
  var speed = Number(this.speed);
515
532
  var time = event.frameState.time;
516
533
  var elapsedTime = time - this._lastTime;
517
- this._distance = (this._distance + speed * elapsedTime / 1e6) % 2;
534
+ this._distance = (this._distance + speed * elapsedTime / 5e6) % 2;
518
535
  var distance = this.calculateDistance();
519
536
  this._lastTime = time;
520
537
  if (distance > 1) {
@@ -547,11 +564,20 @@ var PathPlayBack = exports["default"] = /*#__PURE__*/function () {
547
564
  this.setRotation(this.lastCoordinate, currentCoordinate);
548
565
  this.lastCoordinate = currentCoordinate;
549
566
  if (this.autoView) {
550
- this.map.getView().fit(this.position, {
551
- padding: [100, 400, 100, 400],
552
- maxZoom: this.map.getView().getZoom(),
553
- duration: 0
554
- });
567
+ var _this$map$getSize = this.map.getSize(),
568
+ _this$map$getSize2 = _slicedToArray(_this$map$getSize, 2),
569
+ width = _this$map$getSize2[0],
570
+ height = _this$map$getSize2[1];
571
+ var calculateExtent = this.map.getView().calculateExtent([width - 420, height - 420]);
572
+ var extent = this.position.getExtent();
573
+ var isTrue = isInExtent(calculateExtent, extent);
574
+ if (!isTrue) {
575
+ this.map.getView().fit(this.position, {
576
+ padding: [100, 400, 100, 400],
577
+ maxZoom: this.map.getView().getZoom(),
578
+ duration: 0
579
+ });
580
+ }
555
581
  }
556
582
  vectorContext.setStyle(this.geoMarkerStyle);
557
583
  vectorContext.drawGeometry(this.position);
@@ -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","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Symbol","iterator","constructor","prototype","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","toString","slice","name","Array","from","test","isArray","length","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_classCallCheck","_defineProperties","key","_createClass","_toPrimitive","toPrimitive","String","Number","getAngle","point1","point2","arc","Math","atan","PI","PathPlayBack","exports","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","_options$zIndex","zIndex","isHighlight","_init","currentIndex","_distance","_lastTime","Date","now","lastCoordinate","distanceRatioArr","dataDistanceRatioArr","isPlayEnd","initRotation","startStyle","Style","image","Icon","anchor","src","QD","start","endStyle","ZD","end","geoMarkerStyle","PEOPLE","geoMarker","loadData","val","startAnimation","stopAnimation","vectorLayer","setVisible","_animating","source","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","arr","totalDistance","_","sum","list","distance","total","firstFeature","lastFeature","last","firstGeometry","Point","getGeometry","getFirstCoordinate","lastGeometry","getLastCoordinate","loadArrayData","getDefaultRouteStyle","feature","_this$style","_this$style2","undefined","isFunction","stroke","Stroke","width","color","setRouteStyle","features","_this","setStyle","resolution","styles","isEmpty","getPathLineStyles","destroy","_this$loadArrayData","_this$loadObjectData","position","clone","id","setHighlightFeature","VectorLayer","VectorSource","concat","addLayer","routeFeatures","addTrace","changeProcess","process","_this2","calculateDistance","currentCoordinate","getCoordinateAt","setRotation","nextCoordinate","isEqual","lastRoute","nextRoute","setCoordinates","playEnd","getCoordinates","_ref","startCoordinates","endCoordinates","lineCoordinates","sliced","lineSlice","coordinate","setPaintLinePath","init","moveToIndex","dataIndex","moveTo","findIndex","console","log","_this3","lineDashFeatures","paintLineFeatures","setGeometry","getImage","currentRouteRatio","moveFeature","event","vectorContext","getVectorContext","time","frameState","elapsedTime","drawGeometry","getView","fit","padding","maxZoom","getZoom","duration","overlay","getOverlayById","setPosition","getFlatCoordinates","render","_ref2","paintLineFeature","MultiLineString","_this4","lineDashFeature","lineDash","_this5","cancel","_on_event","on","bind","un","listener","removeLayer","clearHighlightFeature"],"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, isEqual, 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';\nconst getAngle = (point1, point2) => {\n let arc = 0;\n if (point2 && point2.length && point1 && point1.length) {\n if (\n (point2[0] - point1[0] >= 0 && point2[1] - point1[1] >= 0) ||\n (point2[0] - point1[0] < 0 && point2[1] - point1[1] > 0)\n ) {\n arc = Math.atan((point2[0] - point1[0]) / (point2[1] - point1[1]));\n } else if (\n (point2[0] - point1[0] > 0 && point2[1] - point1[1] < 0) ||\n (point2[0] - point1[0] < 0 && point2[1] - point1[1] < 0)\n ) {\n arc = Math.PI + Math.atan((point2[0] - point1[0]) / (point2[1] - point1[1]));\n }\n }\n return arc;\n};\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 zIndex = 10,\n isHighlight,\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.zIndex = zIndex;\n this.lastCoordinate = null;\n this.distanceRatioArr = [];\n this.dataDistanceRatioArr = [];\n this.isPlayEnd = false;\n this.initRotation = 0;\n this.isHighlight = isHighlight;\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 || 1));\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 || 1));\n\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 const total = _.sum(distanceArr.slice(0, index + 1));\n return total > 1 ? 1 : total;\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 id: 'geoMarker',\n });\n\n if (this.isHighlight) {\n this.map.setHighlightFeature(geoMarker, {\n autoView: false,\n });\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 zIndex: this.zIndex,\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 changeProcess(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 } else {\n const nextCoordinate = route.getCoordinateAt(0.0000001);\n if (isEqual(currentCoordinate, nextCoordinate)) {\n if (this.currentIndex === this.routeFeatures.length - 1) {\n const lastRoute = this.routeFeatures[this.currentIndex - 1].getGeometry();\n const lastCoordinate = lastRoute.getCoordinateAt(1 - 0.0001);\n this.setRotation(lastCoordinate, currentCoordinate);\n } else {\n const nextRoute = this.routeFeatures[this.currentIndex + 1].getGeometry();\n const nextCoordinate = nextRoute.getCoordinateAt(0.0001);\n this.setRotation(currentCoordinate, nextCoordinate);\n }\n } else {\n this.setRotation(currentCoordinate, nextCoordinate);\n }\n }\n\n this.position.setCoordinates(currentCoordinate);\n if (distance >= 1 && this.currentIndex >= this.routeFeatures.length - 1) {\n this.isPlayEnd = true;\n this.playEnd();\n return distance;\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 return distance;\n }\n\n moveToIndex(index, dataIndex) {\n let process = 0;\n if (this.dataDistanceRatioArr[index][dataIndex] === 1) {\n process = this.distanceRatioArr[index];\n } else {\n process =\n index === 0\n ? this.dataDistanceRatioArr[index][dataIndex]\n : (this.distanceRatioArr[index] - this.distanceRatioArr[index - 1]) *\n this.dataDistanceRatioArr[index][dataIndex] +\n this.distanceRatioArr[index - 1];\n }\n this.currentIndex = index;\n this.changeProcess(process);\n this.onPlaying && this.onPlaying(process, index, dataIndex);\n }\n\n moveTo(process) {\n this.currentIndex = this.distanceRatioArr.findIndex(distance => distance >= process);\n const distance = this.changeProcess(process);\n let dataIndex = 0;\n if (distance === 1) {\n dataIndex = (this.dataDistanceRatioArr[this.currentIndex] || []).length - 1;\n } else {\n 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 // 计算当前进度的对应index\n\n console.log('moveTo', this.distanceRatioArr, distance, dataIndex, this.currentIndex);\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 this.geoMarkerStyle.getImage().setRotation(getAngle(lastCoordinate, coordinate));\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 if (currentRouteRatio === 0) {\n return 1.001;\n }\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 this._distance = (this._distance + (speed * elapsedTime) / 1e6) % 2;\n let distance = this.calculateDistance();\n this._lastTime = time;\n if (distance > 1) {\n this.currentIndex = this.currentIndex + 1;\n distance = 0;\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 const overlay = this.map.getOverlayById('geoMarker');\n if (overlay) {\n overlay.setPosition(this.position.getFlatCoordinates());\n }\n if (this.showTrace) {\n this.setPaintLinePath({\n coordinate: currentCoordinate,\n index: this.currentIndex,\n });\n }\n this.onPlaying &&\n this.onPlaying(this._distance > 1 ? 1 : 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.map.clearHighlightFeature();\n this.routeFeatures = null;\n this.position = null;\n this.vectorLayer = null;\n this.geoMarker = null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PathPlayBack.js","names":["_Feature","_interopRequireDefault","require","_geom","_Vector","_style","_layer","_render","_people","_qd","_zd","_lodash","_interopRequireWildcard","_createFeatureCollection","_getPathLineStyles","_turf","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Symbol","iterator","constructor","prototype","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","l","u","a","next","done","push","value","length","Array","isArray","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","name","from","test","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","_classCallCheck","_defineProperties","key","_createClass","_toPrimitive","toPrimitive","String","Number","getAngle","point1","point2","arc","Math","atan","PI","isInExtent","Extent","Point","PathPlayBack","exports","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","_options$zIndex","zIndex","isHighlight","_init","currentIndex","_distance","_lastTime","Date","now","lastCoordinate","distanceRatioArr","dataDistanceRatioArr","isPlayEnd","initRotation","startStyle","Style","image","Icon","anchor","src","QD","start","endStyle","ZD","end","geoMarkerStyle","PEOPLE","geoMarker","loadData","val","startAnimation","stopAnimation","vectorLayer","setVisible","_animating","source","getSource","hasFeature","startMarker","addFeature","removeFeature","endMarker","setGeoMarkerImage","setImage","setStyle","loadObjectData","coordinates","distanceArr","dataDistanceArr","routeFeature","item","index","geometryInfo","type","lngLats","coordType","lineData","transformGeometryInfoToWGS84","line","TurfLineString","TurfLength","route","LineString","v","TurfPoint","to","TurfDistance","Feature","geometry","arr","totalDistance","_","sum","list","distance","total","firstFeature","lastFeature","last","firstGeometry","getGeometry","getFirstCoordinate","lastGeometry","getLastCoordinate","loadArrayData","getDefaultRouteStyle","feature","_this$style","_this$style2","undefined","isFunction","stroke","Stroke","width","color","setRouteStyle","features","_this","resolution","styles","isEmpty","getPathLineStyles","destroy","_this$loadArrayData","_this$loadObjectData","position","clone","id","setHighlightFeature","VectorLayer","VectorSource","concat","addLayer","routeFeatures","addTrace","changeProcess","process","_this2","calculateDistance","currentCoordinate","getCoordinateAt","setRotation","nextCoordinate","isEqual","lastRoute","nextRoute","setCoordinates","playEnd","getCoordinates","_ref","startCoordinates","endCoordinates","lineCoordinates","sliced","lineSlice","coordinate","setPaintLinePath","init","moveToIndex","dataIndex","moveTo","findIndex","_this3","lineDashFeatures","paintLineFeatures","setGeometry","getImage","currentRouteRatio","moveFeature","event","vectorContext","getVectorContext","time","frameState","elapsedTime","drawGeometry","_this$map$getSize","getSize","_this$map$getSize2","height","calculateExtent","getView","extent","getExtent","isTrue","fit","padding","maxZoom","getZoom","duration","overlay","getOverlayById","setPosition","getFlatCoordinates","render","_ref2","paintLineFeature","MultiLineString","_this4","lineDashFeature","lineDash","_this5","cancel","_on_event","on","bind","un","listener","removeLayer","clearHighlightFeature"],"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, isEqual, 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';\nconst getAngle = (point1, point2) => {\n let arc = 0;\n if (point2 && point2.length && point1 && point1.length) {\n if (\n (point2[0] - point1[0] >= 0 && point2[1] - point1[1] >= 0) ||\n (point2[0] - point1[0] < 0 && point2[1] - point1[1] > 0)\n ) {\n arc = Math.atan((point2[0] - point1[0]) / (point2[1] - point1[1]));\n } else if (\n (point2[0] - point1[0] > 0 && point2[1] - point1[1] < 0) ||\n (point2[0] - point1[0] < 0 && point2[1] - point1[1] < 0)\n ) {\n arc = Math.PI + Math.atan((point2[0] - point1[0]) / (point2[1] - point1[1]));\n }\n }\n return arc;\n};\n\nconst isInExtent = (Extent, Point) => {\n return Extent[0] <= Point[0] && Point[0] <= Extent[2] && Extent[1] <= Point[1] && Point[1] <= Extent[3]\n}\n\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 zIndex = 10,\n isHighlight,\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.zIndex = zIndex;\n this.lastCoordinate = null;\n this.distanceRatioArr = [];\n this.dataDistanceRatioArr = [];\n this.isPlayEnd = false;\n this.initRotation = 0;\n this.isHighlight = isHighlight;\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 setGeoMarkerImage(geoMarker) {\n if (this.geoMarkerStyle && this.geoMarker) {\n this.geoMarkerStyle.setImage(\n new Icon({\n anchor: [0.5, 1],\n src: PEOPLE,\n ...geoMarker,\n }),\n );\n this.geoMarker.setStyle(this.geoMarkerStyle)\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 || 1));\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 || 1));\n\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 const total = _.sum(distanceArr.slice(0, index + 1));\n return total > 1 ? 1 : total;\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 id: 'geoMarker',\n });\n\n if (this.isHighlight) {\n this.map.setHighlightFeature(geoMarker, {\n autoView: false,\n });\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 zIndex: this.zIndex,\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 changeProcess(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 } else {\n const nextCoordinate = route.getCoordinateAt(0.0000001);\n if (isEqual(currentCoordinate, nextCoordinate)) {\n if (this.currentIndex === this.routeFeatures.length - 1) {\n const lastRoute = this.routeFeatures[this.currentIndex - 1].getGeometry();\n const lastCoordinate = lastRoute.getCoordinateAt(1 - 0.0001);\n this.setRotation(lastCoordinate, currentCoordinate);\n } else {\n const nextRoute = this.routeFeatures[this.currentIndex + 1].getGeometry();\n const nextCoordinate = nextRoute.getCoordinateAt(0.0001);\n this.setRotation(currentCoordinate, nextCoordinate);\n }\n } else {\n this.setRotation(currentCoordinate, nextCoordinate);\n }\n }\n\n this.position.setCoordinates(currentCoordinate);\n if (distance >= 1 && this.currentIndex >= this.routeFeatures.length - 1) {\n this.isPlayEnd = true;\n this.playEnd();\n return distance;\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 return distance;\n }\n\n moveToIndex(index, dataIndex) {\n let process = 0;\n if (this.dataDistanceRatioArr[index][dataIndex] === 1) {\n process = this.distanceRatioArr[index];\n } else {\n process =\n index === 0\n ? this.dataDistanceRatioArr[index][dataIndex]\n : (this.distanceRatioArr[index] - this.distanceRatioArr[index - 1]) *\n this.dataDistanceRatioArr[index][dataIndex] +\n this.distanceRatioArr[index - 1];\n }\n this.currentIndex = index;\n this.changeProcess(process);\n this.onPlaying && this.onPlaying(process, index, dataIndex);\n }\n\n moveTo(process) {\n this.currentIndex = this.distanceRatioArr.findIndex(distance => distance >= process);\n const distance = this.changeProcess(process);\n let dataIndex = 0;\n if (distance === 1) {\n dataIndex = (this.dataDistanceRatioArr[this.currentIndex] || []).length - 1;\n } else {\n 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 // 计算当前进度的对应index\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 this.geoMarkerStyle.getImage().setRotation(getAngle(lastCoordinate, coordinate));\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 if (currentRouteRatio === 0) {\n return 1.001;\n }\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 this._distance = (this._distance + (speed * elapsedTime) / 5e6) % 2;\n let distance = this.calculateDistance();\n this._lastTime = time;\n if (distance > 1) {\n this.currentIndex = this.currentIndex + 1;\n distance = 0;\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 const [width, height] = this.map.getSize()\n const calculateExtent = this.map.getView().calculateExtent([width - 420, height - 420])\n const extent = this.position.getExtent()\n const isTrue = isInExtent(calculateExtent, extent)\n if (!isTrue) {\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 const overlay = this.map.getOverlayById('geoMarker');\n if (overlay) {\n overlay.setPosition(this.position.getFlatCoordinates());\n }\n if (this.showTrace) {\n this.setPaintLinePath({\n coordinate: currentCoordinate,\n index: this.currentIndex,\n });\n }\n this.onPlaying &&\n this.onPlaying(this._distance > 1 ? 1 : 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.map.clearHighlightFeature();\n this.routeFeatures = null;\n this.position = null;\n this.vectorLayer = null;\n this.geoMarker = null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,7 @@ var _react = require("react");
8
8
  var _useProps2 = _interopRequireDefault(require("../use-props"));
9
9
  var _PathPlayBack = _interopRequireDefault(require("./PathPlayBack"));
10
10
  var _ahooks = require("ahooks");
11
+ var _lodash = require("lodash");
11
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
13
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
13
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -23,10 +24,12 @@ function PathPlayback(props, ref) {
23
24
  _props$showStartPoint = props.showStartPoint,
24
25
  showStartPoint = _props$showStartPoint === void 0 ? true : _props$showStartPoint,
25
26
  _props$showEndPoint = props.showEndPoint,
26
- showEndPoint = _props$showEndPoint === void 0 ? true : _props$showEndPoint;
27
+ showEndPoint = _props$showEndPoint === void 0 ? true : _props$showEndPoint,
28
+ style = props.style;
27
29
  var _useProps = (0, _useProps2["default"])(),
28
30
  map = _useProps.map;
29
31
  var pathPlayBackRef = (0, _react.useRef)();
32
+ var geoMarker = style === null || style === void 0 ? void 0 : style.geoMarker;
30
33
  (0, _react.useImperativeHandle)(ref, function () {
31
34
  return {
32
35
  moveTo: function moveTo(process) {
@@ -69,6 +72,11 @@ function PathPlayback(props, ref) {
69
72
  (0, _ahooks.useUpdateEffect)(function () {
70
73
  pathPlayBackRef.current.showEndPoint = showEndPoint;
71
74
  }, [showEndPoint]);
75
+ (0, _ahooks.useUpdateEffect)(function () {
76
+ if (!(0, _lodash.isEmpty)(geoMarker)) {
77
+ pathPlayBackRef.current.setGeoMarkerImage(geoMarker);
78
+ }
79
+ }, [JSON.stringify(geoMarker)]);
72
80
  return null;
73
81
  }
74
82
  var _default = exports["default"] = /*#__PURE__*/(0, _react.forwardRef)(PathPlayback);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","require","_useProps2","_interopRequireDefault","_PathPlayBack","_ahooks","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","PathPlayback","props","ref","data","play","speed","show","_props$showStartPoint","showStartPoint","_props$showEndPoint","showEndPoint","_useProps","useProps","map","pathPlayBackRef","useRef","useImperativeHandle","moveTo","process","current","cancel","moveToIndex","index","dataIndex","getDistanceRatioArr","distanceRatioArr","useEffect","PathPlayBack","destroy","useUpdateEffect","loadData","JSON","stringify","_default","exports","forwardRef"],"sources":["path-play-back/index.js"],"sourcesContent":["import { useRef, useEffect, forwardRef, useImperativeHandle } from 'react';\r\nimport useProps from '../use-props';\r\nimport PathPlayBack from './PathPlayBack';\r\nimport { useUpdateEffect } from 'ahooks';\r\n\r\nfunction PathPlayback(props, ref) {\r\n const { data, play, speed, show, showStartPoint = true, showEndPoint = true } = props;\r\n const { map } = useProps();\r\n const pathPlayBackRef = useRef();\r\n useImperativeHandle(\r\n ref,\r\n () => ({\r\n moveTo(process) {\r\n pathPlayBackRef.current.moveTo(process);\r\n },\r\n cancel() {\r\n pathPlayBackRef.current.cancel();\r\n },\r\n moveToIndex(index, dataIndex) {\r\n pathPlayBackRef.current.moveToIndex(index, dataIndex);\r\n },\r\n getDistanceRatioArr() {\r\n return pathPlayBackRef.current.distanceRatioArr;\r\n },\r\n }),\r\n [],\r\n );\r\n useEffect(() => {\r\n pathPlayBackRef.current = new PathPlayBack({ ...props, map });\r\n\r\n return () => {\r\n pathPlayBackRef.current.destroy();\r\n };\r\n }, []);\r\n\r\n useUpdateEffect(() => {\r\n pathPlayBackRef.current.loadData(data);\r\n }, [JSON.stringify(data)]);\r\n\r\n useUpdateEffect(() => {\r\n pathPlayBackRef.current.play = play;\r\n }, [play]);\r\n\r\n useUpdateEffect(() => {\r\n pathPlayBackRef.current.speed = speed;\r\n }, [speed]);\r\n\r\n useUpdateEffect(() => {\r\n pathPlayBackRef.current.show = show;\r\n }, [show]);\r\n\r\n useUpdateEffect(() => {\r\n pathPlayBackRef.current.showStartPoint = showStartPoint;\r\n }, [showStartPoint]);\r\n\r\n useUpdateEffect(() => {\r\n pathPlayBackRef.current.showEndPoint = showEndPoint;\r\n }, [showEndPoint]);\r\n\r\n return null;\r\n}\r\n\r\nexport default forwardRef(PathPlayback);\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","require","_useProps2","_interopRequireDefault","_PathPlayBack","_ahooks","_lodash","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","PathPlayback","props","ref","data","play","speed","show","_props$showStartPoint","showStartPoint","_props$showEndPoint","showEndPoint","style","_useProps","useProps","map","pathPlayBackRef","useRef","geoMarker","useImperativeHandle","moveTo","process","current","cancel","moveToIndex","index","dataIndex","getDistanceRatioArr","distanceRatioArr","useEffect","PathPlayBack","destroy","useUpdateEffect","loadData","JSON","stringify","isEmpty","setGeoMarkerImage","_default","exports","forwardRef"],"sources":["path-play-back/index.js"],"sourcesContent":["import { useRef, useEffect, forwardRef, useImperativeHandle } from 'react';\nimport useProps from '../use-props';\nimport PathPlayBack from './PathPlayBack';\nimport { useUpdateEffect } from 'ahooks';\nimport { isEmpty } from 'lodash';\n\nfunction PathPlayback(props, ref) {\n const { data, play, speed, show, showStartPoint = true, showEndPoint = true, style } = props;\n const { map } = useProps();\n const pathPlayBackRef = useRef();\n const geoMarker = style?.geoMarker;\n useImperativeHandle(\n ref,\n () => ({\n moveTo(process) {\n pathPlayBackRef.current.moveTo(process);\n },\n cancel() {\n pathPlayBackRef.current.cancel();\n },\n moveToIndex(index, dataIndex) {\n pathPlayBackRef.current.moveToIndex(index, dataIndex);\n },\n getDistanceRatioArr() {\n return pathPlayBackRef.current.distanceRatioArr;\n },\n }),\n [],\n );\n useEffect(() => {\n pathPlayBackRef.current = new PathPlayBack({ ...props, map });\n\n return () => {\n pathPlayBackRef.current.destroy();\n };\n }, []);\n\n useUpdateEffect(() => {\n pathPlayBackRef.current.loadData(data);\n }, [JSON.stringify(data)]);\n\n useUpdateEffect(() => {\n pathPlayBackRef.current.play = play;\n }, [play]);\n\n useUpdateEffect(() => {\n pathPlayBackRef.current.speed = speed;\n }, [speed]);\n\n useUpdateEffect(() => {\n pathPlayBackRef.current.show = show;\n }, [show]);\n\n useUpdateEffect(() => {\n pathPlayBackRef.current.showStartPoint = showStartPoint;\n }, [showStartPoint]);\n\n useUpdateEffect(() => {\n pathPlayBackRef.current.showEndPoint = showEndPoint;\n }, [showEndPoint]);\n\n useUpdateEffect(() => {\n if(!isEmpty(geoMarker)) {\n pathPlayBackRef.current.setGeoMarkerImage(geoMarker);\n }\n }, [JSON.stringify(geoMarker)]);\n\n return null;\n}\n\nexport default forwardRef(PathPlayback);\n"],"mappings":"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","ignoreList":[]}