@vtx/ol-map 1.0.147 → 1.0.148

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":"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":[]}
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';\r\nimport { Point, LineString, MultiLineString } from 'ol/geom';\r\nimport VectorSource from 'ol/source/Vector';\r\nimport { Icon, Stroke, Style } from 'ol/style';\r\nimport { Vector as VectorLayer } from 'ol/layer';\r\nimport { getVectorContext } from 'ol/render';\r\nimport PEOPLE from '../assets/people.png';\r\nimport QD from '../assets/qd.png';\r\nimport ZD from '../assets/zd.png';\r\nimport _, { isArray, isEmpty, isEqual, isFunction } from 'lodash';\r\nimport { transformGeometryInfoToWGS84 } from '../feature-layer/createFeatureCollection';\r\nimport getPathLineStyles from '../path-line-layer/getPathLineStyles';\r\nimport {\r\n point as TurfPoint,\r\n lineSlice,\r\n lineString as TurfLineString,\r\n length as TurfLength,\r\n distance as TurfDistance,\r\n} from '@turf/turf';\r\nconst getAngle = (point1, point2) => {\r\n let arc = 0;\r\n if (point2 && point2.length && point1 && point1.length) {\r\n if (\r\n (point2[0] - point1[0] >= 0 && point2[1] - point1[1] >= 0) ||\r\n (point2[0] - point1[0] < 0 && point2[1] - point1[1] > 0)\r\n ) {\r\n arc = Math.atan((point2[0] - point1[0]) / (point2[1] - point1[1]));\r\n } else if (\r\n (point2[0] - point1[0] > 0 && point2[1] - point1[1] < 0) ||\r\n (point2[0] - point1[0] < 0 && point2[1] - point1[1] < 0)\r\n ) {\r\n arc = Math.PI + Math.atan((point2[0] - point1[0]) / (point2[1] - point1[1]));\r\n }\r\n }\r\n return arc;\r\n};\r\n\r\nconst isInExtent = (Extent, Point) => {\r\n return Extent[0] <= Point[0] && Point[0] <= Extent[2] && Extent[1] <= Point[1] && Point[1] <= Extent[3]\r\n}\r\n\r\nexport default class PathPlayBack {\r\n constructor(options) {\r\n const {\r\n data,\r\n show = true,\r\n play,\r\n speed,\r\n map,\r\n style,\r\n onPlaying,\r\n onPlayEnd,\r\n repeatPlay = true,\r\n autoView = false,\r\n enableRotation = false,\r\n arrowStyle,\r\n showTrace,\r\n traceStyle = {},\r\n showStartPoint = true,\r\n showEndPoint = true,\r\n zIndex = 10,\r\n isHighlight,\r\n } = options;\r\n\r\n this._init = false;\r\n\r\n this.speed = speed || 10;\r\n this.onPlaying = onPlaying;\r\n this.onPlayEnd = onPlayEnd;\r\n this.style = style;\r\n this.repeatPlay = repeatPlay;\r\n this.enableRotation = enableRotation;\r\n this.arrowStyle = arrowStyle;\r\n this.showTrace = showTrace;\r\n this.traceStyle = traceStyle;\r\n this.currentIndex = 0;\r\n this._distance = 0;\r\n this._lastTime = Date.now();\r\n this.autoView = autoView;\r\n this.zIndex = zIndex;\r\n this.lastCoordinate = null;\r\n this.distanceRatioArr = [];\r\n this.dataDistanceRatioArr = [];\r\n this.isPlayEnd = false;\r\n this.initRotation = 0;\r\n this.isHighlight = isHighlight;\r\n this.startStyle = new Style({\r\n image: new Icon({\r\n anchor: [0.5, 1],\r\n src: QD,\r\n ...(style?.start || {}),\r\n }),\r\n });\r\n this.endStyle = new Style({\r\n image: new Icon({\r\n anchor: [0.5, 1],\r\n src: ZD,\r\n ...(style?.end || {}),\r\n }),\r\n });\r\n this.geoMarkerStyle = new Style({\r\n image: new Icon({\r\n anchor: [0.5, 1],\r\n src: PEOPLE,\r\n ...(style?.geoMarker || {}),\r\n }),\r\n });\r\n this.map = map;\r\n if (data?.length) {\r\n this.loadData(data);\r\n }\r\n\r\n this.play = play || false;\r\n\r\n this.show = show;\r\n this.showStartPoint = showStartPoint;\r\n this.showEndPoint = showEndPoint;\r\n this._init = true;\r\n }\r\n\r\n set play(val) {\r\n if (this._init) {\r\n if (val) {\r\n this.startAnimation();\r\n } else {\r\n this.stopAnimation();\r\n }\r\n }\r\n }\r\n\r\n set show(val) {\r\n this.vectorLayer.setVisible(val);\r\n\r\n if (this._animating) {\r\n this.stopAnimation();\r\n }\r\n }\r\n\r\n set showStartPoint(val) {\r\n if (this.vectorLayer) {\r\n const source = this.vectorLayer.getSource();\r\n if (val) {\r\n !source.hasFeature(this.startMarker) && source.addFeature(this.startMarker);\r\n } else {\r\n source.removeFeature(this.startMarker);\r\n }\r\n }\r\n }\r\n set showEndPoint(val) {\r\n if (this.vectorLayer) {\r\n const source = this.vectorLayer.getSource();\r\n if (val) {\r\n !source.hasFeature(this.endMarker) && source.addFeature(this.endMarker);\r\n } else {\r\n source.removeFeature(this.endMarker);\r\n }\r\n }\r\n }\r\n\r\n setGeoMarkerImage(geoMarker) {\r\n if (this.geoMarkerStyle && this.geoMarker) {\r\n this.geoMarkerStyle.setImage(\r\n new Icon({\r\n anchor: [0.5, 1],\r\n src: PEOPLE,\r\n ...geoMarker,\r\n }),\r\n );\r\n this.geoMarker.setStyle(this.geoMarkerStyle)\r\n }\r\n }\r\n\r\n loadObjectData(data) {\r\n let coordinates = [];\r\n let distanceArr = [];\r\n let dataDistanceArr = [];\r\n const routeFeature = data.map((item, index) => {\r\n const { geometryInfo } = item;\r\n let { type, lngLats, coordType } = geometryInfo;\r\n const lineData = transformGeometryInfoToWGS84(lngLats, type, coordType)[0];\r\n coordinates.push(...lineData);\r\n const line = TurfLineString(lineData);\r\n distanceArr.push(TurfLength(line));\r\n const route = new LineString(lineData);\r\n // 计算两个点的之间距离\r\n lineData.forEach((v, i) => {\r\n if (i === 0) {\r\n dataDistanceArr[index] = [0];\r\n } else {\r\n const from = TurfPoint(lineData[i - 1]);\r\n const to = TurfPoint(v);\r\n dataDistanceArr[index].push(TurfDistance(from, to));\r\n }\r\n });\r\n return new Feature({\r\n type: 'route',\r\n geometry: route,\r\n ...item,\r\n });\r\n });\r\n const dataDistanceRatioArr = dataDistanceArr.map(arr => {\r\n const totalDistance = _.sum(arr);\r\n const list = arr.map(distance => distance / (totalDistance || 1));\r\n // 计算两个点之间距离的占比\r\n return list.map((distance, index) => {\r\n if (index === 0) {\r\n return distance;\r\n } else if (index === arr.length - 1) {\r\n return 1;\r\n }\r\n return _.sum(list.slice(0, index + 1));\r\n });\r\n });\r\n\r\n this.distanceArr = distanceArr;\r\n const totalDistance = _.sum(distanceArr);\r\n distanceArr = distanceArr.map(distance => distance / (totalDistance || 1));\r\n\r\n this.distanceRatioArr = distanceArr.map((distance, index) => {\r\n if (index === 0) {\r\n return distance;\r\n } else if (index === distanceArr.length - 1) {\r\n return 1;\r\n }\r\n const total = _.sum(distanceArr.slice(0, index + 1));\r\n return total > 1 ? 1 : total;\r\n });\r\n this.dataDistanceRatioArr = dataDistanceRatioArr;\r\n this.route = new LineString(coordinates);\r\n const firstFeature = routeFeature[0];\r\n const lastFeature = _.last(routeFeature);\r\n const firstGeometry = new Point(firstFeature.getGeometry().getFirstCoordinate());\r\n const lastGeometry = new Point(lastFeature.getGeometry().getLastCoordinate());\r\n return {\r\n routeFeature,\r\n firstGeometry,\r\n lastGeometry,\r\n };\r\n }\r\n\r\n loadArrayData(data) {\r\n const route = new LineString(data);\r\n const distance = TurfLength(TurfLineString(data));\r\n this.route = route;\r\n const routeFeature = [\r\n new Feature({\r\n type: 'route',\r\n geometry: route,\r\n }),\r\n ];\r\n this.distanceArr = [distance];\r\n this.distanceRatioArr = [1];\r\n const firstGeometry = new Point(route.getFirstCoordinate());\r\n const lastGeometry = new Point(route.getLastCoordinate());\r\n return {\r\n routeFeature,\r\n firstGeometry,\r\n lastGeometry,\r\n };\r\n }\r\n\r\n getDefaultRouteStyle(feature, options = {}) {\r\n const style = isFunction(this.style?.route)\r\n ? this.style.route(feature)\r\n : this.style?.route || {};\r\n return new Style({\r\n stroke: new Stroke({\r\n width: 6,\r\n color: [237, 212, 0, 0.8],\r\n ...style,\r\n ...options,\r\n }),\r\n });\r\n }\r\n\r\n setRouteStyle(features) {\r\n features.forEach(feature => {\r\n feature.setStyle((feature, resolution) => {\r\n const styles = [this.getDefaultRouteStyle(feature)];\r\n if (!isEmpty(this.arrowStyle)) {\r\n styles.push(\r\n ...getPathLineStyles({ feature, resolution, arrowStyle: this.arrowStyle }),\r\n );\r\n }\r\n\r\n return styles;\r\n });\r\n });\r\n }\r\n\r\n loadData(data) {\r\n if (this.vectorLayer) {\r\n this.destroy();\r\n }\r\n\r\n let routeFeature = null;\r\n let firstGeometry = null;\r\n let lastGeometry = null;\r\n if (isArray(data[0])) {\r\n ({ routeFeature, firstGeometry, lastGeometry } = this.loadArrayData(data));\r\n } else {\r\n ({ routeFeature, firstGeometry, lastGeometry } = this.loadObjectData(data));\r\n }\r\n\r\n const startMarker = new Feature({\r\n type: 'start',\r\n geometry: firstGeometry,\r\n });\r\n startMarker.setStyle(this.startStyle);\r\n const endMarker = new Feature({\r\n type: 'end',\r\n geometry: lastGeometry,\r\n });\r\n endMarker.setStyle(this.endStyle);\r\n const position = startMarker.getGeometry().clone();\r\n\r\n const geoMarker = new Feature({\r\n type: 'geoMarker',\r\n geometry: position,\r\n id: 'geoMarker',\r\n });\r\n\r\n if (this.isHighlight) {\r\n this.map.setHighlightFeature(geoMarker, {\r\n autoView: false,\r\n });\r\n }\r\n geoMarker.setStyle(this.geoMarkerStyle);\r\n this.setRouteStyle(routeFeature);\r\n const vectorLayer = new VectorLayer({\r\n source: new VectorSource({\r\n features: [...routeFeature, geoMarker],\r\n }),\r\n zIndex: this.zIndex,\r\n });\r\n this.map.addLayer(vectorLayer);\r\n this.routeFeatures = routeFeature;\r\n this.position = position;\r\n this.vectorLayer = vectorLayer;\r\n this.geoMarker = geoMarker;\r\n this.startMarker = startMarker;\r\n this.endMarker = endMarker;\r\n if (!vectorLayer.getSource().hasFeature(startMarker)) {\r\n vectorLayer.getSource().addFeature(startMarker);\r\n }\r\n if (!vectorLayer.getSource().hasFeature(endMarker)) {\r\n vectorLayer.getSource().addFeature(endMarker);\r\n }\r\n if (this.showTrace) {\r\n this.addTrace();\r\n }\r\n }\r\n\r\n changeProcess(process) {\r\n this._distance = process;\r\n const distance = this.calculateDistance();\r\n const route = this.routeFeatures[this.currentIndex].getGeometry();\r\n const currentCoordinate = route.getCoordinateAt(distance > 1 ? 2 - distance : distance);\r\n if (distance > 0) {\r\n const lastCoordinate = route.getCoordinateAt(distance - 0.0001);\r\n this.setRotation(lastCoordinate, currentCoordinate);\r\n } else {\r\n const nextCoordinate = route.getCoordinateAt(0.0000001);\r\n if (isEqual(currentCoordinate, nextCoordinate)) {\r\n if (this.currentIndex === this.routeFeatures.length - 1) {\r\n const lastRoute = this.routeFeatures[this.currentIndex - 1].getGeometry();\r\n const lastCoordinate = lastRoute.getCoordinateAt(1 - 0.0001);\r\n this.setRotation(lastCoordinate, currentCoordinate);\r\n } else {\r\n const nextRoute = this.routeFeatures[this.currentIndex + 1].getGeometry();\r\n const nextCoordinate = nextRoute.getCoordinateAt(0.0001);\r\n this.setRotation(currentCoordinate, nextCoordinate);\r\n }\r\n } else {\r\n this.setRotation(currentCoordinate, nextCoordinate);\r\n }\r\n }\r\n\r\n this.position.setCoordinates(currentCoordinate);\r\n if (distance >= 1 && this.currentIndex >= this.routeFeatures.length - 1) {\r\n this.isPlayEnd = true;\r\n this.playEnd();\r\n return distance;\r\n }\r\n if (this.showTrace) {\r\n const list = [];\r\n const getCoordinates = ({ startCoordinates, endCoordinates, lineCoordinates }) => {\r\n const start = TurfPoint(startCoordinates);\r\n const end = TurfPoint(endCoordinates);\r\n const line = TurfLineString(lineCoordinates);\r\n const sliced = lineSlice(start, end, line);\r\n return sliced.geometry.coordinates;\r\n };\r\n if (this.currentIndex === 0) {\r\n list.push(\r\n getCoordinates({\r\n startCoordinates: this.startMarker.getGeometry().getCoordinates(),\r\n endCoordinates: currentCoordinate,\r\n lineCoordinates: route.getCoordinates(),\r\n }),\r\n );\r\n } else {\r\n const features = this.routeFeatures.slice(0, this.currentIndex + 1);\r\n features.forEach((feature, index) => {\r\n const geometry = feature.getGeometry();\r\n let endCoordinates = currentCoordinate;\r\n if (index !== this.currentIndex) {\r\n endCoordinates = geometry.getLastCoordinate();\r\n }\r\n list.push(\r\n getCoordinates({\r\n startCoordinates: geometry.getFirstCoordinate(),\r\n endCoordinates,\r\n lineCoordinates: geometry.getCoordinates(),\r\n }),\r\n );\r\n });\r\n }\r\n list.forEach((coordinates, index) => {\r\n coordinates.forEach((coordinate, i) => {\r\n this.setPaintLinePath({ coordinate, init: i === 0, index });\r\n });\r\n });\r\n }\r\n return distance;\r\n }\r\n\r\n moveToIndex(index, dataIndex) {\r\n let process = 0;\r\n if (this.dataDistanceRatioArr[index][dataIndex] === 1) {\r\n process = this.distanceRatioArr[index];\r\n } else {\r\n process =\r\n index === 0\r\n ? this.dataDistanceRatioArr[index][dataIndex]\r\n : (this.distanceRatioArr[index] - this.distanceRatioArr[index - 1]) *\r\n this.dataDistanceRatioArr[index][dataIndex] +\r\n this.distanceRatioArr[index - 1];\r\n }\r\n this.currentIndex = index;\r\n this.changeProcess(process);\r\n this.onPlaying && this.onPlaying(process, index, dataIndex);\r\n }\r\n\r\n moveTo(process) {\r\n this.currentIndex = this.distanceRatioArr.findIndex(distance => distance >= process);\r\n const distance = this.changeProcess(process);\r\n let dataIndex = 0;\r\n if (distance === 1) {\r\n dataIndex = (this.dataDistanceRatioArr[this.currentIndex] || []).length - 1;\r\n } else {\r\n dataIndex = (this.dataDistanceRatioArr[this.currentIndex] || []).findIndex(\r\n (v, index, arr) => {\r\n if (index === arr.length - 1) {\r\n return true;\r\n }\r\n return v <= distance <= arr[index + 1];\r\n },\r\n );\r\n }\r\n // 计算当前进度的对应index\r\n\r\n this.onPlaying && this.onPlaying(this._distance, this.currentIndex, dataIndex);\r\n }\r\n\r\n playEnd() {\r\n if (!this.repeatPlay) {\r\n this.stopAnimation();\r\n }\r\n this.isPlayEnd = true;\r\n if (this.showTrace) {\r\n this.lineDashFeatures.forEach(feature => {\r\n this.vectorLayer.getSource().removeFeature(feature);\r\n });\r\n this.paintLineFeatures.forEach(feature => {\r\n this.vectorLayer.getSource().removeFeature(feature);\r\n feature.setGeometry(null);\r\n });\r\n this.setRouteStyle(this.routeFeatures);\r\n }\r\n }\r\n\r\n setRotation(lastCoordinate, coordinate) {\r\n if (lastCoordinate && coordinate && this.enableRotation) {\r\n this.geoMarkerStyle.getImage().setRotation(getAngle(lastCoordinate, coordinate));\r\n }\r\n }\r\n\r\n // 计算当前路段跑的距离,计算公式:(当前跑的总距离 - 已跑路段的总距离) / 当前路段的百分比\r\n calculateDistance() {\r\n const currentRouteRatio =\r\n this.currentIndex > 0\r\n ? this.distanceRatioArr[this.currentIndex] -\r\n this.distanceRatioArr[this.currentIndex - 1]\r\n : this.distanceRatioArr[this.currentIndex];\r\n if (currentRouteRatio === 0) {\r\n return 1.001;\r\n }\r\n let distance =\r\n (this._distance -\r\n (this.currentIndex > 0 ? this.distanceRatioArr[this.currentIndex - 1] : 0)) /\r\n currentRouteRatio;\r\n return distance;\r\n }\r\n\r\n moveFeature(event) {\r\n const vectorContext = getVectorContext(event);\r\n const speed = Number(this.speed);\r\n const time = event.frameState.time;\r\n const elapsedTime = time - this._lastTime;\r\n this._distance = (this._distance + (speed * elapsedTime) / 5e6) % 2;\r\n let distance = this.calculateDistance();\r\n this._lastTime = time;\r\n if (distance > 1) {\r\n this.currentIndex = this.currentIndex + 1;\r\n distance = 0;\r\n }\r\n if (this.currentIndex > this.routeFeatures.length - 1) {\r\n this.playEnd();\r\n if (this.repeatPlay) {\r\n this.currentIndex = this.routeFeatures.length - 1;\r\n } else {\r\n const currentCoordinate = this.endMarker.getGeometry().getCoordinates();\r\n this.position.setCoordinates(currentCoordinate);\r\n vectorContext.setStyle(this.geoMarkerStyle);\r\n vectorContext.drawGeometry(this.position);\r\n this.onPlayEnd && this.onPlayEnd();\r\n return;\r\n }\r\n }\r\n // 计算当前进度的对应index\r\n const dataIndex = (this.dataDistanceRatioArr[this.currentIndex] || []).findIndex(\r\n (v, index, arr) => {\r\n if (index === arr.length - 1) {\r\n return true;\r\n }\r\n return v <= distance <= arr[index + 1];\r\n },\r\n );\r\n const route = this.routeFeatures[this.currentIndex].getGeometry();\r\n const currentCoordinate = route.getCoordinateAt(distance > 1 ? 2 - distance : distance);\r\n this.position.setCoordinates(currentCoordinate);\r\n this.setRotation(this.lastCoordinate, currentCoordinate);\r\n this.lastCoordinate = currentCoordinate;\r\n if (this.autoView) {\r\n const [width, height] = this.map.getSize()\r\n const calculateExtent = this.map.getView().calculateExtent([width - 420, height - 420])\r\n const extent = this.position.getExtent()\r\n const isTrue = isInExtent(calculateExtent, extent)\r\n if (!isTrue) {\r\n this.map.getView().fit(this.position, {\r\n padding: [100, 400, 100, 400],\r\n maxZoom: this.map.getView().getZoom(),\r\n duration: 0,\r\n });\r\n }\r\n }\r\n vectorContext.setStyle(this.geoMarkerStyle);\r\n vectorContext.drawGeometry(this.position);\r\n const overlay = this.map.getOverlayById('geoMarker');\r\n if (overlay) {\r\n overlay.setPosition(this.position.getFlatCoordinates());\r\n }\r\n if (this.showTrace) {\r\n this.setPaintLinePath({\r\n coordinate: currentCoordinate,\r\n index: this.currentIndex,\r\n });\r\n }\r\n this.onPlaying &&\r\n this.onPlaying(this._distance > 1 ? 1 : this._distance, this.currentIndex, dataIndex);\r\n this.map.render();\r\n }\r\n\r\n setPaintLinePath({ coordinate, init, index }) {\r\n const paintLineFeature = this.paintLineFeatures[index];\r\n if (init) {\r\n paintLineFeature.setGeometry(null);\r\n }\r\n const geometry = paintLineFeature.getGeometry();\r\n if (geometry) {\r\n geometry.setCoordinates([[...geometry.getCoordinates()[0], coordinate]]);\r\n } else {\r\n let lineData = [[coordinate]];\r\n const route = new MultiLineString(lineData);\r\n\r\n paintLineFeature.setGeometry(route);\r\n }\r\n if (!this.vectorLayer.getSource().hasFeature(paintLineFeature)) {\r\n this.vectorLayer.getSource().addFeature(paintLineFeature);\r\n }\r\n }\r\n\r\n addTrace() {\r\n if (this._distance === 0) {\r\n const lineDashFeatures = [];\r\n const paintLineFeatures = [];\r\n this.routeFeatures.forEach(feature => {\r\n const lineDashFeature = feature.clone();\r\n const paintLineFeature = feature.clone();\r\n paintLineFeature.setGeometry(null);\r\n lineDashFeature.setStyle(\r\n this.getDefaultRouteStyle(feature, {\r\n lineDash: [15],\r\n }),\r\n );\r\n lineDashFeatures.push(lineDashFeature);\r\n paintLineFeatures.push(paintLineFeature);\r\n });\r\n this.lineDashFeatures = lineDashFeatures;\r\n this.paintLineFeatures = paintLineFeatures;\r\n }\r\n }\r\n\r\n startAnimation() {\r\n if (!this.repeatPlay && this.isPlayEnd) {\r\n // 当不重复播放,且当前在终点时,从起点开始播放\r\n this.cancel();\r\n this.geoMarkerStyle.getImage().setRotation(0);\r\n }\r\n this.isPlayEnd = false;\r\n this._animating = true;\r\n this._lastTime = Date.now();\r\n this._on_event = this.vectorLayer.on('postrender', this.moveFeature.bind(this));\r\n this.geoMarker.setGeometry(null);\r\n if (this.showTrace) {\r\n this.lineDashFeatures.forEach(feature => {\r\n if (!this.vectorLayer.getSource().hasFeature(feature)) {\r\n this.vectorLayer.getSource().addFeature(feature);\r\n }\r\n });\r\n this.routeFeatures.forEach(feature => {\r\n feature.setStyle(new Style({}));\r\n });\r\n }\r\n }\r\n\r\n stopAnimation() {\r\n this._animating = false;\r\n this.geoMarker.setGeometry(this.position);\r\n if (this._on_event) {\r\n this.vectorLayer.un('postrender', this._on_event.listener);\r\n }\r\n }\r\n\r\n cancel() {\r\n this.geoMarkerStyle.getImage().setRotation(0);\r\n this._distance = 0;\r\n this.currentIndex = 0;\r\n const currentCoordinate = this.route.getCoordinateAt(0);\r\n this.position.setCoordinates(currentCoordinate);\r\n this.playEnd();\r\n this.onPlaying && this.onPlaying(this._distance, this.currentIndex, 0);\r\n }\r\n\r\n destroy() {\r\n if (this._animating) {\r\n this.stopAnimation();\r\n }\r\n\r\n this.map.removeLayer(this.vectorLayer);\r\n this.map.clearHighlightFeature();\r\n this.routeFeatures = null;\r\n this.position = null;\r\n this.vectorLayer = null;\r\n this.geoMarker = null;\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
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":[]}
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';\r\nimport useProps from '../use-props';\r\nimport PathPlayBack from './PathPlayBack';\r\nimport { useUpdateEffect } from 'ahooks';\r\nimport { isEmpty } from 'lodash';\r\n\r\nfunction PathPlayback(props, ref) {\r\n const { data, play, speed, show, showStartPoint = true, showEndPoint = true, style } = props;\r\n const { map } = useProps();\r\n const pathPlayBackRef = useRef();\r\n const geoMarker = style?.geoMarker;\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 useUpdateEffect(() => {\r\n if(!isEmpty(geoMarker)) {\r\n pathPlayBackRef.current.setGeoMarkerImage(geoMarker);\r\n }\r\n }, [JSON.stringify(geoMarker)]);\r\n\r\n return null;\r\n}\r\n\r\nexport default forwardRef(PathPlayback);\r\n"],"mappings":"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","ignoreList":[]}