@vtx/ol-map 1.0.116 → 1.0.118

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/map/Popup.js CHANGED
@@ -263,6 +263,12 @@ var MapPopup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
263
263
  var showTemplateByFeatures = function showTemplateByFeatures(features) {
264
264
  overlayRef.current.setPosition(map._clickObject.coordinate);
265
265
  overlayRef.current.values_.offset = [10, -10];
266
+
267
+ // 设置新的中心点
268
+ map.getView().animate({
269
+ center: map._clickObject.coordinate,
270
+ duration: 500
271
+ });
266
272
  setTitle(null);
267
273
  var tableData = [];
268
274
  features.map(function (feature) {
@@ -1 +1 @@
1
- {"version":3,"file":"Popup.js","names":["_react","_interopRequireWildcard","require","_antd","_ol","_layer2","_classnames","_interopRequireDefault","_layerControl","_popup","e","__esModule","_getRequireWildcardCache","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","f","next","done","isArray","ClusterTitle","props","layer","imgUrl","getImgUrl","createElement","className","classnames","src","alt","Cluster","features","onFeatureClick","onFitView","labelField","onClick","Table","pagination","size","dataSource","scroll","y","columns","title","dataIndex","width","render","text","record","values_","FeatureTable","tableData","style","padding","_record$layer","feature","MapPopup","forwardRef","ref","_useState","useState","_useState2","content","setContent","_useState3","_useState4","setTitle","overlayRef","useRef","popupRef","featureRef","viewRef","map","useImperativeHandle","showTemplate","hideTemplate","setLastView","useEffect","overlay","Overlay","element","current","wrapDom","autoPan","animation","duration","stopEvent","positioning","offset","addOverlay","removeOverlay","options","_ref","fitViewOptions","hidePopupTable","showTemplateByFeatures","getLayerByFeature","showTemplateByCluster","autoView","getView","highlightLayer","addHighlightFeature","template","Image","geometry","getGeometry","type","getType","coordinate","getCoordinates","includes","getFlatMidpoints","getFlatMidpoint","getFlatInteriorPoints","getFlatInteriorPoint","setPosition","_feature$getGeometry","_layer$_options","Template","_options","cluster","fitView","_clickObject","clusterFeature","properties","getProperties","closePopupAutoView","_viewRef$current","zoom","center","animate","undefined","clearFeatures","view","getZoom","viewParams","extent","calculateExtent","getSize","getCenter","onClose","onCloseTemplateBefore","_default","exports"],"sources":["map/Popup.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState, useImperativeHandle, forwardRef } from 'react';\r\nimport { Table } from 'antd';\r\nimport { Overlay } from 'ol';\r\nimport { Image } from 'ol/layer';\r\nimport classnames from 'classnames';\r\nimport { getImgUrl } from '../tools/layer-control';\r\nimport Popup from '../popup';\r\nimport './style';\r\n\r\nconst ClusterTitle = props => {\r\n const { layer } = props;\r\n let { name } = layer;\r\n\r\n const imgUrl = getImgUrl(layer);\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster-title')}>\r\n <img src={imgUrl} alt=\"\" className={classnames('ol-map-popup-cluster-title-img')} />\r\n <span className={classnames('ol-map-popup-cluster-title-text')}>{name}</span>\r\n </div>\r\n );\r\n};\r\n\r\nconst Cluster = props => {\r\n const { layer, features, onFeatureClick, onFitView } = props;\r\n let { labelField } = layer;\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster')}>\r\n <div className={classnames('ol-map-popup-cluster-header')}>\r\n 共 {features.length} 个点位\r\n <a onClick={onFitView}>缩放至</a>\r\n </div>\r\n <Table\r\n pagination={false}\r\n size=\"small\"\r\n dataSource={features}\r\n scroll={{ y: 120 }}\r\n columns={[\r\n {\r\n title: '名称',\r\n dataIndex: '名称',\r\n width: 60,\r\n render: (text, record) => {\r\n return (\r\n <a onClick={() => onFeatureClick(record)}>\r\n {record.values_[labelField]}\r\n </a>\r\n );\r\n },\r\n },\r\n {\r\n title: '操作',\r\n dataIndex: '操作',\r\n width: 30,\r\n render: (text, record) => {\r\n return <a onClick={() => onFeatureClick(record)}>定位</a>;\r\n },\r\n },\r\n ]}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nconst FeatureTable = props => {\r\n const { tableData, onFeatureClick, onFitView } = props;\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster')}>\r\n <div\r\n className={classnames('ol-map-popup-cluster-header')}\r\n style={{ padding: '10px 0' }}\r\n >\r\n 共 {tableData.length} 个点位\r\n <a onClick={onFitView}>缩放至</a>\r\n </div>\r\n <Table\r\n pagination={false}\r\n size=\"small\"\r\n dataSource={tableData}\r\n scroll={{ y: 120 }}\r\n columns={[\r\n {\r\n title: '图层',\r\n dataIndex: 'layerName',\r\n width: 40,\r\n render: (text, record) => record.layer.name,\r\n },\r\n {\r\n title: '名称',\r\n dataIndex: 'name',\r\n width: 60,\r\n render: (text, record) => {\r\n return (\r\n <a onClick={() => onFeatureClick(record)}>\r\n {record.feature.values_[record?.layer?.labelField || 'name'] ||\r\n '-'}\r\n </a>\r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nconst MapPopup = forwardRef((props, ref) => {\r\n const [content, setContent] = useState(null);\r\n const [title, setTitle] = useState(null);\r\n const overlayRef = useRef();\r\n const popupRef = useRef();\r\n const featureRef = useRef();\r\n const viewRef = useRef({});\r\n\r\n const { map } = props;\r\n\r\n useImperativeHandle(ref, () => {\r\n return {\r\n showTemplate,\r\n hideTemplate,\r\n setLastView,\r\n };\r\n });\r\n\r\n useEffect(() => {\r\n const overlay = new Overlay({\r\n element: popupRef.current.wrapDom,\r\n autoPan: {\r\n animation: {\r\n duration: 250,\r\n },\r\n },\r\n stopEvent: true,\r\n positioning: 'bottom-center',\r\n offset: [10, -45],\r\n });\r\n overlayRef.current = overlay;\r\n\r\n map.addOverlay(overlay);\r\n\r\n return () => {\r\n map.removeOverlay(overlay);\r\n };\r\n }, []);\r\n\r\n const showTemplate = (feature, options) => {\r\n const { fitViewOptions } = options || {};\r\n\r\n if (Array.isArray(feature) && feature.length >= 2 && !map.hidePopupTable) {\r\n showTemplateByFeatures(feature, options);\r\n return;\r\n }\r\n\r\n feature = Array.isArray(feature) ? feature[0] : feature;\r\n\r\n featureRef.current = feature;\r\n\r\n if (!feature) {\r\n hideTemplate();\r\n return;\r\n }\r\n\r\n let layer = map.getLayerByFeature(feature);\r\n map.featureRef = feature;\r\n\r\n // 判断是否为聚合点击\r\n const features = feature.get('features');\r\n if (features && features.length >= 2) {\r\n showTemplateByCluster(feature, layer, features);\r\n return;\r\n }\r\n\r\n // 记录放大前的视角\r\n if (map.autoView) {\r\n getView();\r\n }\r\n\r\n map.highlightLayer.addHighlightFeature(feature, {\r\n autoView: map.autoView,\r\n ...fitViewOptions,\r\n });\r\n\r\n if (!layer?.template) {\r\n return;\r\n }\r\n\r\n if (layer) {\r\n let template = layer.template;\r\n let labelField = layer.labelField;\r\n if (labelField) {\r\n setTitle(feature.values_[labelField]);\r\n }\r\n if (template) {\r\n setContent(template(feature));\r\n\r\n let offset = layer instanceof Image ? [10, -10] : [10, -45];\r\n\r\n let geometry = feature.getGeometry();\r\n if (geometry) {\r\n let type = geometry.getType();\r\n let coordinate = geometry.getCoordinates();\r\n\r\n if (['MultiLineString', 'LineString'].includes(type)) {\r\n if (geometry.getFlatMidpoints) {\r\n coordinate = geometry.getFlatMidpoints();\r\n } else if (geometry.getFlatMidpoint) {\r\n coordinate = geometry.getFlatMidpoint();\r\n }\r\n offset = [7, 0];\r\n } else if (['MultiPolygon', 'Polygon'].includes(type)) {\r\n if (geometry.getFlatInteriorPoints) {\r\n coordinate = geometry.getFlatInteriorPoints();\r\n } else if (geometry.getFlatInteriorPoint) {\r\n coordinate = geometry.getFlatInteriorPoint();\r\n }\r\n offset = [10, 0];\r\n }\r\n\r\n overlayRef.current.setPosition(coordinate);\r\n overlayRef.current.values_.offset = offset;\r\n }\r\n }\r\n }\r\n };\r\n\r\n // 聚合点位展示\r\n const showTemplateByCluster = (feature, layer, features) => {\r\n let coordinate = feature?.getGeometry()?.getCoordinates();\r\n overlayRef.current.setPosition(coordinate);\r\n\r\n setTitle(<ClusterTitle layer={layer} />);\r\n\r\n // 判断是否有自定义聚合列表模版\r\n let Template = layer?._options?.cluster?.template || Cluster;\r\n setContent(\r\n <Template\r\n layer={layer}\r\n features={features}\r\n onFitView={() => {\r\n map.fitView(features);\r\n hideTemplate();\r\n }}\r\n onFeatureClick={f => {\r\n map.fitView(f);\r\n showTemplate(f);\r\n }}\r\n />,\r\n );\r\n };\r\n\r\n // 多个点位展示\r\n const showTemplateByFeatures = features => {\r\n overlayRef.current.setPosition(map._clickObject.coordinate);\r\n overlayRef.current.values_.offset = [10, -10];\r\n\r\n setTitle(null);\r\n\r\n const tableData = [];\r\n features.map(feature => {\r\n let layer = map.getLayerByFeature(feature);\r\n // 判断是否为聚合点击\r\n const clusterFeature = feature.get('features');\r\n if (clusterFeature && clusterFeature.length >= 2) {\r\n clusterFeature.map(f => {\r\n tableData.push({\r\n layer: layer,\r\n feature: f,\r\n });\r\n });\r\n } else {\r\n let layer = map.getLayerByFeature(feature);\r\n tableData.push({\r\n layer: layer,\r\n feature: feature,\r\n });\r\n }\r\n });\r\n\r\n setContent(\r\n <FeatureTable\r\n tableData={tableData}\r\n onFitView={() => {\r\n map.fitView(features);\r\n hideTemplate();\r\n }}\r\n onFeatureClick={record => {\r\n let { feature } = record;\r\n let layer = map.getLayerByFeature(feature);\r\n\r\n let properties = feature.getProperties();\r\n layer?.onClick(properties, map._clickObject);\r\n\r\n if (layer?.template) {\r\n map.fitView(feature);\r\n showTemplate(feature);\r\n }\r\n }}\r\n />,\r\n );\r\n };\r\n\r\n // 恢复上一次视角\r\n const setLastView = () => {\r\n // 恢复打开前的视角\r\n if (map.autoView && map.closePopupAutoView && viewRef.current) {\r\n const { zoom, center } = viewRef.current;\r\n map.getView().animate({ zoom, center });\r\n }\r\n };\r\n\r\n const hideTemplate = () => {\r\n overlayRef.current.setPosition(undefined);\r\n map.highlightLayer.clearFeatures();\r\n setContent(null);\r\n setTitle(null);\r\n featureRef.current = null;\r\n map.featureRef = null;\r\n };\r\n\r\n const getView = () => {\r\n const view = map.getView();\r\n\r\n let zoom = view.getZoom();\r\n let viewParams;\r\n if (zoom < 15) {\r\n viewParams = {\r\n extent: view.calculateExtent(map.getSize()),\r\n zoom: view.getZoom(),\r\n center: view.getCenter(),\r\n };\r\n }\r\n viewRef.current = viewParams;\r\n };\r\n\r\n const onClose = () => {\r\n // 回调事件\r\n map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current);\r\n\r\n // 隐藏气泡\r\n hideTemplate();\r\n\r\n // 恢复打开前的视角\r\n setLastView();\r\n };\r\n return (\r\n <Popup ref={popupRef} title={title} onClose={onClose}>\r\n {content}\r\n </Popup>\r\n );\r\n});\r\n\r\nexport default MapPopup;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Popup.js","names":["_react","_interopRequireWildcard","require","_antd","_ol","_layer2","_classnames","_interopRequireDefault","_layerControl","_popup","e","__esModule","_getRequireWildcardCache","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","f","next","done","isArray","ClusterTitle","props","layer","imgUrl","getImgUrl","createElement","className","classnames","src","alt","Cluster","features","onFeatureClick","onFitView","labelField","onClick","Table","pagination","size","dataSource","scroll","y","columns","title","dataIndex","width","render","text","record","values_","FeatureTable","tableData","style","padding","_record$layer","feature","MapPopup","forwardRef","ref","_useState","useState","_useState2","content","setContent","_useState3","_useState4","setTitle","overlayRef","useRef","popupRef","featureRef","viewRef","map","useImperativeHandle","showTemplate","hideTemplate","setLastView","useEffect","overlay","Overlay","element","current","wrapDom","autoPan","animation","duration","stopEvent","positioning","offset","addOverlay","removeOverlay","options","_ref","fitViewOptions","hidePopupTable","showTemplateByFeatures","getLayerByFeature","showTemplateByCluster","autoView","getView","highlightLayer","addHighlightFeature","template","Image","geometry","getGeometry","type","getType","coordinate","getCoordinates","includes","getFlatMidpoints","getFlatMidpoint","getFlatInteriorPoints","getFlatInteriorPoint","setPosition","_feature$getGeometry","_layer$_options","Template","_options","cluster","fitView","_clickObject","animate","center","clusterFeature","properties","getProperties","closePopupAutoView","_viewRef$current","zoom","undefined","clearFeatures","view","getZoom","viewParams","extent","calculateExtent","getSize","getCenter","onClose","onCloseTemplateBefore","_default","exports"],"sources":["map/Popup.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState, useImperativeHandle, forwardRef } from 'react';\r\nimport { Table } from 'antd';\r\nimport { Overlay } from 'ol';\r\nimport { Image } from 'ol/layer';\r\nimport classnames from 'classnames';\r\nimport { getImgUrl } from '../tools/layer-control';\r\nimport Popup from '../popup';\r\nimport './style';\r\n\r\nconst ClusterTitle = props => {\r\n const { layer } = props;\r\n let { name } = layer;\r\n\r\n const imgUrl = getImgUrl(layer);\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster-title')}>\r\n <img src={imgUrl} alt=\"\" className={classnames('ol-map-popup-cluster-title-img')} />\r\n <span className={classnames('ol-map-popup-cluster-title-text')}>{name}</span>\r\n </div>\r\n );\r\n};\r\n\r\nconst Cluster = props => {\r\n const { layer, features, onFeatureClick, onFitView } = props;\r\n let { labelField } = layer;\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster')}>\r\n <div className={classnames('ol-map-popup-cluster-header')}>\r\n 共 {features.length} 个点位\r\n <a onClick={onFitView}>缩放至</a>\r\n </div>\r\n <Table\r\n pagination={false}\r\n size=\"small\"\r\n dataSource={features}\r\n scroll={{ y: 120 }}\r\n columns={[\r\n {\r\n title: '名称',\r\n dataIndex: '名称',\r\n width: 60,\r\n render: (text, record) => {\r\n return (\r\n <a onClick={() => onFeatureClick(record)}>\r\n {record.values_[labelField]}\r\n </a>\r\n );\r\n },\r\n },\r\n {\r\n title: '操作',\r\n dataIndex: '操作',\r\n width: 30,\r\n render: (text, record) => {\r\n return <a onClick={() => onFeatureClick(record)}>定位</a>;\r\n },\r\n },\r\n ]}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nconst FeatureTable = props => {\r\n const { tableData, onFeatureClick, onFitView } = props;\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster')}>\r\n <div\r\n className={classnames('ol-map-popup-cluster-header')}\r\n style={{ padding: '10px 0' }}\r\n >\r\n 共 {tableData.length} 个点位\r\n <a onClick={onFitView}>缩放至</a>\r\n </div>\r\n <Table\r\n pagination={false}\r\n size=\"small\"\r\n dataSource={tableData}\r\n scroll={{ y: 120 }}\r\n columns={[\r\n {\r\n title: '图层',\r\n dataIndex: 'layerName',\r\n width: 40,\r\n render: (text, record) => record.layer.name,\r\n },\r\n {\r\n title: '名称',\r\n dataIndex: 'name',\r\n width: 60,\r\n render: (text, record) => {\r\n return (\r\n <a onClick={() => onFeatureClick(record)}>\r\n {record.feature.values_[record?.layer?.labelField || 'name'] ||\r\n '-'}\r\n </a>\r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nconst MapPopup = forwardRef((props, ref) => {\r\n const [content, setContent] = useState(null);\r\n const [title, setTitle] = useState(null);\r\n const overlayRef = useRef();\r\n const popupRef = useRef();\r\n const featureRef = useRef();\r\n const viewRef = useRef({});\r\n\r\n const { map } = props;\r\n\r\n useImperativeHandle(ref, () => {\r\n return {\r\n showTemplate,\r\n hideTemplate,\r\n setLastView,\r\n };\r\n });\r\n\r\n useEffect(() => {\r\n const overlay = new Overlay({\r\n element: popupRef.current.wrapDom,\r\n autoPan: {\r\n animation: {\r\n duration: 250,\r\n },\r\n },\r\n stopEvent: true,\r\n positioning: 'bottom-center',\r\n offset: [10, -45],\r\n });\r\n overlayRef.current = overlay;\r\n\r\n map.addOverlay(overlay);\r\n\r\n return () => {\r\n map.removeOverlay(overlay);\r\n };\r\n }, []);\r\n\r\n const showTemplate = (feature, options) => {\r\n const { fitViewOptions } = options || {};\r\n\r\n if (Array.isArray(feature) && feature.length >= 2 && !map.hidePopupTable) {\r\n showTemplateByFeatures(feature, options);\r\n return;\r\n }\r\n\r\n feature = Array.isArray(feature) ? feature[0] : feature;\r\n\r\n featureRef.current = feature;\r\n\r\n if (!feature) {\r\n hideTemplate();\r\n return;\r\n }\r\n\r\n let layer = map.getLayerByFeature(feature);\r\n map.featureRef = feature;\r\n\r\n // 判断是否为聚合点击\r\n const features = feature.get('features');\r\n if (features && features.length >= 2) {\r\n showTemplateByCluster(feature, layer, features);\r\n return;\r\n }\r\n\r\n // 记录放大前的视角\r\n if (map.autoView) {\r\n getView();\r\n }\r\n\r\n map.highlightLayer.addHighlightFeature(feature, {\r\n autoView: map.autoView,\r\n ...fitViewOptions,\r\n });\r\n\r\n if (!layer?.template) {\r\n return;\r\n }\r\n\r\n if (layer) {\r\n let template = layer.template;\r\n let labelField = layer.labelField;\r\n if (labelField) {\r\n setTitle(feature.values_[labelField]);\r\n }\r\n if (template) {\r\n setContent(template(feature));\r\n\r\n let offset = layer instanceof Image ? [10, -10] : [10, -45];\r\n\r\n let geometry = feature.getGeometry();\r\n if (geometry) {\r\n let type = geometry.getType();\r\n let coordinate = geometry.getCoordinates();\r\n\r\n if (['MultiLineString', 'LineString'].includes(type)) {\r\n if (geometry.getFlatMidpoints) {\r\n coordinate = geometry.getFlatMidpoints();\r\n } else if (geometry.getFlatMidpoint) {\r\n coordinate = geometry.getFlatMidpoint();\r\n }\r\n offset = [7, 0];\r\n } else if (['MultiPolygon', 'Polygon'].includes(type)) {\r\n if (geometry.getFlatInteriorPoints) {\r\n coordinate = geometry.getFlatInteriorPoints();\r\n } else if (geometry.getFlatInteriorPoint) {\r\n coordinate = geometry.getFlatInteriorPoint();\r\n }\r\n offset = [10, 0];\r\n }\r\n\r\n overlayRef.current.setPosition(coordinate);\r\n overlayRef.current.values_.offset = offset;\r\n }\r\n }\r\n }\r\n };\r\n\r\n // 聚合点位展示\r\n const showTemplateByCluster = (feature, layer, features) => {\r\n let coordinate = feature?.getGeometry()?.getCoordinates();\r\n overlayRef.current.setPosition(coordinate);\r\n\r\n setTitle(<ClusterTitle layer={layer} />);\r\n\r\n // 判断是否有自定义聚合列表模版\r\n let Template = layer?._options?.cluster?.template || Cluster;\r\n setContent(\r\n <Template\r\n layer={layer}\r\n features={features}\r\n onFitView={() => {\r\n map.fitView(features);\r\n hideTemplate();\r\n }}\r\n onFeatureClick={f => {\r\n map.fitView(f);\r\n showTemplate(f);\r\n }}\r\n />,\r\n );\r\n };\r\n\r\n // 多个点位展示\r\n const showTemplateByFeatures = features => {\r\n overlayRef.current.setPosition(map._clickObject.coordinate);\r\n overlayRef.current.values_.offset = [10, -10];\r\n\r\n // 设置新的中心点\r\n map.getView().animate({center: map._clickObject.coordinate, duration: 500});\r\n setTitle(null);\r\n\r\n const tableData = [];\r\n features.map(feature => {\r\n let layer = map.getLayerByFeature(feature);\r\n // 判断是否为聚合点击\r\n const clusterFeature = feature.get('features');\r\n if (clusterFeature && clusterFeature.length >= 2) {\r\n clusterFeature.map(f => {\r\n tableData.push({\r\n layer: layer,\r\n feature: f,\r\n });\r\n });\r\n } else {\r\n let layer = map.getLayerByFeature(feature);\r\n tableData.push({\r\n layer: layer,\r\n feature: feature,\r\n });\r\n }\r\n });\r\n\r\n setContent(\r\n <FeatureTable\r\n tableData={tableData}\r\n onFitView={() => {\r\n map.fitView(features);\r\n hideTemplate();\r\n }}\r\n onFeatureClick={record => {\r\n let { feature } = record;\r\n let layer = map.getLayerByFeature(feature);\r\n\r\n let properties = feature.getProperties();\r\n layer?.onClick(properties, map._clickObject);\r\n\r\n if (layer?.template) {\r\n map.fitView(feature);\r\n showTemplate(feature);\r\n }\r\n }}\r\n />,\r\n );\r\n };\r\n\r\n // 恢复上一次视角\r\n const setLastView = () => {\r\n // 恢复打开前的视角\r\n if (map.autoView && map.closePopupAutoView && viewRef.current) {\r\n const { zoom, center } = viewRef.current;\r\n map.getView().animate({ zoom, center });\r\n }\r\n };\r\n\r\n const hideTemplate = () => {\r\n overlayRef.current.setPosition(undefined);\r\n map.highlightLayer.clearFeatures();\r\n setContent(null);\r\n setTitle(null);\r\n featureRef.current = null;\r\n map.featureRef = null;\r\n };\r\n\r\n const getView = () => {\r\n const view = map.getView();\r\n\r\n let zoom = view.getZoom();\r\n let viewParams;\r\n if (zoom < 15) {\r\n viewParams = {\r\n extent: view.calculateExtent(map.getSize()),\r\n zoom: view.getZoom(),\r\n center: view.getCenter(),\r\n };\r\n }\r\n viewRef.current = viewParams;\r\n };\r\n\r\n const onClose = () => {\r\n // 回调事件\r\n map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current);\r\n\r\n // 隐藏气泡\r\n hideTemplate();\r\n\r\n // 恢复打开前的视角\r\n setLastView();\r\n };\r\n return (\r\n <Popup ref={popupRef} title={title} onClose={onClose}>\r\n {content}\r\n </Popup>\r\n );\r\n});\r\n\r\nexport default MapPopup;\r\n"],"mappings":"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","ignoreList":[]}
@@ -474,7 +474,10 @@ var PathPlayBack = exports["default"] = /*#__PURE__*/function () {
474
474
  key: "calculateDistance",
475
475
  value: function calculateDistance() {
476
476
  var currentRouteRatio = this.currentIndex > 0 ? this.distanceRatioArr[this.currentIndex] - this.distanceRatioArr[this.currentIndex - 1] : this.distanceRatioArr[this.currentIndex];
477
- var distance = (this._distance - (this.currentIndex > 0 ? this.distanceRatioArr[this.currentIndex - 1] : 0)) / (currentRouteRatio || 1);
477
+ if (currentRouteRatio === 0) {
478
+ return 1.001;
479
+ }
480
+ var distance = (this._distance - (this.currentIndex > 0 ? this.distanceRatioArr[this.currentIndex - 1] : 0)) / currentRouteRatio;
478
481
  return distance;
479
482
  }
480
483
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"PathPlayBack.js","names":["_Feature","_interopRequireDefault","require","_geom","_Vector","_style","_layer","_render","_people","_qd","_zd","_lodash","_interopRequireWildcard","_createFeatureCollection","_getPathLineStyles","_turf","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","o","Symbol","iterator","constructor","prototype","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","_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","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","_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","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","VectorLayer","VectorSource","concat","addLayer","routeFeatures","addTrace","changeProcess","process","_this2","calculateDistance","currentCoordinate","getCoordinateAt","setRotation","nextCoordinate","isEqual","lastRoute","nextRoute","playEnd","setCoordinates","getCoordinates","_ref","startCoordinates","endCoordinates","lineCoordinates","sliced","lineSlice","coordinate","setPaintLinePath","init","moveToIndex","dataIndex","moveTo","findIndex","_this3","lineDashFeatures","paintLineFeatures","setGeometry","x","y","rotation","Math","atan2","getImage","currentRouteRatio","moveFeature","event","vectorContext","getVectorContext","time","frameState","elapsedTime","drawGeometry","getView","fit","padding","maxZoom","getZoom","duration","render","_ref2","paintLineFeature","MultiLineString","_this4","lineDashFeature","lineDash","_this5","cancel","_on_event","on","bind","un","listener","removeLayer"],"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';\nexport default class PathPlayBack {\n constructor(options) {\n const {\n data,\n show = true,\n play,\n speed,\n map,\n style,\n onPlaying,\n onPlayEnd,\n repeatPlay = true,\n autoView = false,\n enableRotation = false,\n arrowStyle,\n showTrace,\n traceStyle = {},\n showStartPoint = true,\n showEndPoint = true,\n } = options;\n\n this._init = false;\n\n this.speed = speed || 10;\n this.onPlaying = onPlaying;\n this.onPlayEnd = onPlayEnd;\n this.style = style;\n this.repeatPlay = repeatPlay;\n this.enableRotation = enableRotation;\n this.arrowStyle = arrowStyle;\n this.showTrace = showTrace;\n this.traceStyle = traceStyle;\n this.currentIndex = 0;\n this._distance = 0;\n this._lastTime = Date.now();\n this.autoView = autoView;\n this.lastCoordinate = null;\n this.distanceRatioArr = [];\n this.dataDistanceRatioArr = [];\n this.isPlayEnd = false;\n this.initRotation = 0;\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 this.distanceRatioArr = distanceArr.map((distance, index) => {\n if (index === 0) {\n return distance;\n } else if (index === distanceArr.length - 1) {\n return 1;\n }\n return _.sum(distanceArr.slice(0, index + 1));\n });\n this.dataDistanceRatioArr = dataDistanceRatioArr;\n this.route = new LineString(coordinates);\n const firstFeature = routeFeature[0];\n const lastFeature = _.last(routeFeature);\n const firstGeometry = new Point(firstFeature.getGeometry().getFirstCoordinate());\n const lastGeometry = new Point(lastFeature.getGeometry().getLastCoordinate());\n return {\n routeFeature,\n firstGeometry,\n lastGeometry,\n };\n }\n\n loadArrayData(data) {\n const route = new LineString(data);\n const distance = TurfLength(TurfLineString(data));\n this.route = route;\n const routeFeature = [\n new Feature({\n type: 'route',\n geometry: route,\n }),\n ];\n this.distanceArr = [distance];\n this.distanceRatioArr = [1];\n const firstGeometry = new Point(route.getFirstCoordinate());\n const lastGeometry = new Point(route.getLastCoordinate());\n return {\n routeFeature,\n firstGeometry,\n lastGeometry,\n };\n }\n\n getDefaultRouteStyle(feature, options = {}) {\n const style = isFunction(this.style?.route)\n ? this.style.route(feature)\n : this.style?.route || {};\n return new Style({\n stroke: new Stroke({\n width: 6,\n color: [237, 212, 0, 0.8],\n ...style,\n ...options,\n }),\n });\n }\n\n setRouteStyle(features) {\n features.forEach(feature => {\n feature.setStyle((feature, resolution) => {\n const styles = [this.getDefaultRouteStyle(feature)];\n if (!isEmpty(this.arrowStyle)) {\n styles.push(\n ...getPathLineStyles({ feature, resolution, arrowStyle: this.arrowStyle }),\n );\n }\n\n return styles;\n });\n });\n }\n\n loadData(data) {\n if (this.vectorLayer) {\n this.destroy();\n }\n\n let routeFeature = null;\n let firstGeometry = null;\n let lastGeometry = null;\n if (isArray(data[0])) {\n ({ routeFeature, firstGeometry, lastGeometry } = this.loadArrayData(data));\n } else {\n ({ routeFeature, firstGeometry, lastGeometry } = this.loadObjectData(data));\n }\n\n const startMarker = new Feature({\n type: 'start',\n geometry: firstGeometry,\n });\n startMarker.setStyle(this.startStyle);\n const endMarker = new Feature({\n type: 'end',\n geometry: lastGeometry,\n });\n endMarker.setStyle(this.endStyle);\n const position = startMarker.getGeometry().clone();\n\n const geoMarker = new Feature({\n type: 'geoMarker',\n geometry: position,\n });\n geoMarker.setStyle(this.geoMarkerStyle);\n this.setRouteStyle(routeFeature);\n const vectorLayer = new VectorLayer({\n source: new VectorSource({\n features: [...routeFeature, geoMarker],\n }),\n });\n this.map.addLayer(vectorLayer);\n this.routeFeatures = routeFeature;\n this.position = position;\n this.vectorLayer = vectorLayer;\n this.geoMarker = geoMarker;\n this.startMarker = startMarker;\n this.endMarker = endMarker;\n if (!vectorLayer.getSource().hasFeature(startMarker)) {\n vectorLayer.getSource().addFeature(startMarker);\n }\n if (!vectorLayer.getSource().hasFeature(endMarker)) {\n vectorLayer.getSource().addFeature(endMarker);\n }\n if (this.showTrace) {\n this.addTrace();\n }\n }\n\n 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 if (distance >= 1 && this.currentIndex >= this.routeFeatures.length - 1) {\n this.isPlayEnd = true;\n this.playEnd();\n return;\n }\n this.position.setCoordinates(currentCoordinate);\n\n if (this.showTrace) {\n const list = [];\n const getCoordinates = ({ startCoordinates, endCoordinates, lineCoordinates }) => {\n const start = TurfPoint(startCoordinates);\n const end = TurfPoint(endCoordinates);\n const line = TurfLineString(lineCoordinates);\n const sliced = lineSlice(start, end, line);\n return sliced.geometry.coordinates;\n };\n if (this.currentIndex === 0) {\n list.push(\n getCoordinates({\n startCoordinates: this.startMarker.getGeometry().getCoordinates(),\n endCoordinates: currentCoordinate,\n lineCoordinates: route.getCoordinates(),\n }),\n );\n } else {\n const features = this.routeFeatures.slice(0, this.currentIndex + 1);\n features.forEach((feature, index) => {\n const geometry = feature.getGeometry();\n let endCoordinates = currentCoordinate;\n if (index !== this.currentIndex) {\n endCoordinates = geometry.getLastCoordinate();\n }\n list.push(\n getCoordinates({\n startCoordinates: geometry.getFirstCoordinate(),\n endCoordinates,\n lineCoordinates: geometry.getCoordinates(),\n }),\n );\n });\n }\n list.forEach((coordinates, index) => {\n coordinates.forEach((coordinate, i) => {\n this.setPaintLinePath({ coordinate, init: i === 0, index });\n });\n });\n }\n 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 ? 0\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 // 计算当前进度的对应index\n const dataIndex = this.dataDistanceRatioArr[this.currentIndex].findIndex(\n (v, index, arr) => {\n if (index === arr.length - 1) {\n return true;\n }\n return v <= distance <= arr[index + 1];\n },\n );\n this.onPlaying && this.onPlaying(this._distance, this.currentIndex, dataIndex);\n }\n\n playEnd() {\n if (!this.repeatPlay) {\n this.stopAnimation();\n }\n this.isPlayEnd = true;\n if (this.showTrace) {\n this.lineDashFeatures.forEach(feature => {\n this.vectorLayer.getSource().removeFeature(feature);\n });\n this.paintLineFeatures.forEach(feature => {\n this.vectorLayer.getSource().removeFeature(feature);\n feature.setGeometry(null);\n });\n this.setRouteStyle(this.routeFeatures);\n }\n }\n\n setRotation(lastCoordinate, coordinate) {\n if (lastCoordinate && coordinate && this.enableRotation) {\n const x = coordinate[0] - lastCoordinate[0];\n const y = coordinate[1] - lastCoordinate[1];\n const rotation = Math.atan2(y, x);\n this.geoMarkerStyle.getImage().setRotation(Math.atan2(1, 0) - rotation);\n }\n }\n\n // 计算当前路段跑的距离,计算公式:(当前跑的总距离 - 已跑路段的总距离) / 当前路段的百分比\n calculateDistance() {\n const currentRouteRatio =\n this.currentIndex > 0\n ? this.distanceRatioArr[this.currentIndex] -\n this.distanceRatioArr[this.currentIndex - 1]\n : this.distanceRatioArr[this.currentIndex];\n let distance =\n (this._distance -\n (this.currentIndex > 0 ? this.distanceRatioArr[this.currentIndex - 1] : 0)) /\n (currentRouteRatio || 1);\n return distance;\n }\n\n moveFeature(event) {\n const vectorContext = getVectorContext(event);\n const speed = Number(this.speed);\n const time = event.frameState.time;\n const elapsedTime = time - this._lastTime;\n\n this._distance = (this._distance + (speed * elapsedTime) / 1e6) % 2;\n let distance = this.calculateDistance();\n this._lastTime = time;\n\n if (distance > 1) {\n this.currentIndex = this.currentIndex + 1;\n distance = 0;\n }\n\n if (this.currentIndex > this.routeFeatures.length - 1) {\n this.playEnd();\n if (this.repeatPlay) {\n this.currentIndex = this.routeFeatures.length - 1;\n } else {\n const currentCoordinate = this.endMarker.getGeometry().getCoordinates();\n this.position.setCoordinates(currentCoordinate);\n vectorContext.setStyle(this.geoMarkerStyle);\n vectorContext.drawGeometry(this.position);\n this.onPlayEnd && this.onPlayEnd();\n return;\n }\n }\n // 计算当前进度的对应index\n const dataIndex = this.dataDistanceRatioArr[this.currentIndex].findIndex(\n (v, index, arr) => {\n if (index === arr.length - 1) {\n return true;\n }\n return v <= distance <= arr[index + 1];\n },\n );\n const route = this.routeFeatures[this.currentIndex].getGeometry();\n const currentCoordinate = route.getCoordinateAt(distance > 1 ? 2 - distance : distance);\n this.position.setCoordinates(currentCoordinate);\n this.setRotation(this.lastCoordinate, currentCoordinate);\n this.lastCoordinate = currentCoordinate;\n if (this.autoView) {\n this.map.getView().fit(this.position, {\n padding: [100, 400, 100, 400],\n maxZoom: this.map.getView().getZoom(),\n duration: 0,\n });\n }\n\n vectorContext.setStyle(this.geoMarkerStyle);\n vectorContext.drawGeometry(this.position);\n if (this.showTrace) {\n this.setPaintLinePath({\n coordinate: currentCoordinate,\n index: this.currentIndex,\n });\n }\n this.onPlaying && this.onPlaying(this._distance, this.currentIndex, dataIndex);\n this.map.render();\n }\n\n setPaintLinePath({ coordinate, init, index }) {\n const paintLineFeature = this.paintLineFeatures[index];\n if (init) {\n paintLineFeature.setGeometry(null);\n }\n const geometry = paintLineFeature.getGeometry();\n if (geometry) {\n geometry.setCoordinates([[...geometry.getCoordinates()[0], coordinate]]);\n } else {\n let lineData = [[coordinate]];\n const route = new MultiLineString(lineData);\n\n paintLineFeature.setGeometry(route);\n }\n if (!this.vectorLayer.getSource().hasFeature(paintLineFeature)) {\n this.vectorLayer.getSource().addFeature(paintLineFeature);\n }\n }\n\n addTrace() {\n if (this._distance === 0) {\n const lineDashFeatures = [];\n const paintLineFeatures = [];\n this.routeFeatures.forEach(feature => {\n const lineDashFeature = feature.clone();\n const paintLineFeature = feature.clone();\n paintLineFeature.setGeometry(null);\n lineDashFeature.setStyle(\n this.getDefaultRouteStyle(feature, {\n lineDash: [15],\n }),\n );\n lineDashFeatures.push(lineDashFeature);\n paintLineFeatures.push(paintLineFeature);\n });\n this.lineDashFeatures = lineDashFeatures;\n this.paintLineFeatures = paintLineFeatures;\n }\n }\n\n startAnimation() {\n if (!this.repeatPlay && this.isPlayEnd) {\n // 当不重复播放,且当前在终点时,从起点开始播放\n this.cancel();\n this.geoMarkerStyle.getImage().setRotation(0);\n }\n this.isPlayEnd = false;\n this._animating = true;\n this._lastTime = Date.now();\n this._on_event = this.vectorLayer.on('postrender', this.moveFeature.bind(this));\n this.geoMarker.setGeometry(null);\n if (this.showTrace) {\n this.lineDashFeatures.forEach(feature => {\n if (!this.vectorLayer.getSource().hasFeature(feature)) {\n this.vectorLayer.getSource().addFeature(feature);\n }\n });\n this.routeFeatures.forEach(feature => {\n feature.setStyle(new Style({}));\n });\n }\n }\n\n stopAnimation() {\n this._animating = false;\n this.geoMarker.setGeometry(this.position);\n if (this._on_event) {\n this.vectorLayer.un('postrender', this._on_event.listener);\n }\n }\n\n cancel() {\n this.geoMarkerStyle.getImage().setRotation(0);\n this._distance = 0;\n this.currentIndex = 0;\n const currentCoordinate = this.route.getCoordinateAt(0);\n this.position.setCoordinates(currentCoordinate);\n this.playEnd();\n this.onPlaying && this.onPlaying(this._distance, this.currentIndex, 0);\n }\n\n destroy() {\n if (this._animating) {\n this.stopAnimation();\n }\n\n this.map.removeLayer(this.vectorLayer);\n this.routeFeatures = null;\n this.position = null;\n this.vectorLayer = null;\n this.geoMarker = null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PathPlayBack.js","names":["_Feature","_interopRequireDefault","require","_geom","_Vector","_style","_layer","_render","_people","_qd","_zd","_lodash","_interopRequireWildcard","_createFeatureCollection","_getPathLineStyles","_turf","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","o","Symbol","iterator","constructor","prototype","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","_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","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","_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","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","VectorLayer","VectorSource","concat","addLayer","routeFeatures","addTrace","changeProcess","process","_this2","calculateDistance","currentCoordinate","getCoordinateAt","setRotation","nextCoordinate","isEqual","lastRoute","nextRoute","playEnd","setCoordinates","getCoordinates","_ref","startCoordinates","endCoordinates","lineCoordinates","sliced","lineSlice","coordinate","setPaintLinePath","init","moveToIndex","dataIndex","moveTo","findIndex","_this3","lineDashFeatures","paintLineFeatures","setGeometry","x","y","rotation","Math","atan2","getImage","currentRouteRatio","moveFeature","event","vectorContext","getVectorContext","time","frameState","elapsedTime","drawGeometry","getView","fit","padding","maxZoom","getZoom","duration","render","_ref2","paintLineFeature","MultiLineString","_this4","lineDashFeature","lineDash","_this5","cancel","_on_event","on","bind","un","listener","removeLayer"],"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';\nexport default class PathPlayBack {\n constructor(options) {\n const {\n data,\n show = true,\n play,\n speed,\n map,\n style,\n onPlaying,\n onPlayEnd,\n repeatPlay = true,\n autoView = false,\n enableRotation = false,\n arrowStyle,\n showTrace,\n traceStyle = {},\n showStartPoint = true,\n showEndPoint = true,\n } = options;\n\n this._init = false;\n\n this.speed = speed || 10;\n this.onPlaying = onPlaying;\n this.onPlayEnd = onPlayEnd;\n this.style = style;\n this.repeatPlay = repeatPlay;\n this.enableRotation = enableRotation;\n this.arrowStyle = arrowStyle;\n this.showTrace = showTrace;\n this.traceStyle = traceStyle;\n this.currentIndex = 0;\n this._distance = 0;\n this._lastTime = Date.now();\n this.autoView = autoView;\n this.lastCoordinate = null;\n this.distanceRatioArr = [];\n this.dataDistanceRatioArr = [];\n this.isPlayEnd = false;\n this.initRotation = 0;\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 this.distanceRatioArr = distanceArr.map((distance, index) => {\n if (index === 0) {\n return distance;\n } else if (index === distanceArr.length - 1) {\n return 1;\n }\n return _.sum(distanceArr.slice(0, index + 1));\n });\n this.dataDistanceRatioArr = dataDistanceRatioArr;\n this.route = new LineString(coordinates);\n const firstFeature = routeFeature[0];\n const lastFeature = _.last(routeFeature);\n const firstGeometry = new Point(firstFeature.getGeometry().getFirstCoordinate());\n const lastGeometry = new Point(lastFeature.getGeometry().getLastCoordinate());\n return {\n routeFeature,\n firstGeometry,\n lastGeometry,\n };\n }\n\n loadArrayData(data) {\n const route = new LineString(data);\n const distance = TurfLength(TurfLineString(data));\n this.route = route;\n const routeFeature = [\n new Feature({\n type: 'route',\n geometry: route,\n }),\n ];\n this.distanceArr = [distance];\n this.distanceRatioArr = [1];\n const firstGeometry = new Point(route.getFirstCoordinate());\n const lastGeometry = new Point(route.getLastCoordinate());\n return {\n routeFeature,\n firstGeometry,\n lastGeometry,\n };\n }\n\n getDefaultRouteStyle(feature, options = {}) {\n const style = isFunction(this.style?.route)\n ? this.style.route(feature)\n : this.style?.route || {};\n return new Style({\n stroke: new Stroke({\n width: 6,\n color: [237, 212, 0, 0.8],\n ...style,\n ...options,\n }),\n });\n }\n\n setRouteStyle(features) {\n features.forEach(feature => {\n feature.setStyle((feature, resolution) => {\n const styles = [this.getDefaultRouteStyle(feature)];\n if (!isEmpty(this.arrowStyle)) {\n styles.push(\n ...getPathLineStyles({ feature, resolution, arrowStyle: this.arrowStyle }),\n );\n }\n\n return styles;\n });\n });\n }\n\n loadData(data) {\n if (this.vectorLayer) {\n this.destroy();\n }\n\n let routeFeature = null;\n let firstGeometry = null;\n let lastGeometry = null;\n if (isArray(data[0])) {\n ({ routeFeature, firstGeometry, lastGeometry } = this.loadArrayData(data));\n } else {\n ({ routeFeature, firstGeometry, lastGeometry } = this.loadObjectData(data));\n }\n\n const startMarker = new Feature({\n type: 'start',\n geometry: firstGeometry,\n });\n startMarker.setStyle(this.startStyle);\n const endMarker = new Feature({\n type: 'end',\n geometry: lastGeometry,\n });\n endMarker.setStyle(this.endStyle);\n const position = startMarker.getGeometry().clone();\n\n const geoMarker = new Feature({\n type: 'geoMarker',\n geometry: position,\n });\n geoMarker.setStyle(this.geoMarkerStyle);\n this.setRouteStyle(routeFeature);\n const vectorLayer = new VectorLayer({\n source: new VectorSource({\n features: [...routeFeature, geoMarker],\n }),\n });\n this.map.addLayer(vectorLayer);\n this.routeFeatures = routeFeature;\n this.position = position;\n this.vectorLayer = vectorLayer;\n this.geoMarker = geoMarker;\n this.startMarker = startMarker;\n this.endMarker = endMarker;\n if (!vectorLayer.getSource().hasFeature(startMarker)) {\n vectorLayer.getSource().addFeature(startMarker);\n }\n if (!vectorLayer.getSource().hasFeature(endMarker)) {\n vectorLayer.getSource().addFeature(endMarker);\n }\n if (this.showTrace) {\n this.addTrace();\n }\n }\n\n 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 if (distance >= 1 && this.currentIndex >= this.routeFeatures.length - 1) {\n this.isPlayEnd = true;\n this.playEnd();\n return;\n }\n this.position.setCoordinates(currentCoordinate);\n\n if (this.showTrace) {\n const list = [];\n const getCoordinates = ({ startCoordinates, endCoordinates, lineCoordinates }) => {\n const start = TurfPoint(startCoordinates);\n const end = TurfPoint(endCoordinates);\n const line = TurfLineString(lineCoordinates);\n const sliced = lineSlice(start, end, line);\n return sliced.geometry.coordinates;\n };\n if (this.currentIndex === 0) {\n list.push(\n getCoordinates({\n startCoordinates: this.startMarker.getGeometry().getCoordinates(),\n endCoordinates: currentCoordinate,\n lineCoordinates: route.getCoordinates(),\n }),\n );\n } else {\n const features = this.routeFeatures.slice(0, this.currentIndex + 1);\n features.forEach((feature, index) => {\n const geometry = feature.getGeometry();\n let endCoordinates = currentCoordinate;\n if (index !== this.currentIndex) {\n endCoordinates = geometry.getLastCoordinate();\n }\n list.push(\n getCoordinates({\n startCoordinates: geometry.getFirstCoordinate(),\n endCoordinates,\n lineCoordinates: geometry.getCoordinates(),\n }),\n );\n });\n }\n list.forEach((coordinates, index) => {\n coordinates.forEach((coordinate, i) => {\n this.setPaintLinePath({ coordinate, init: i === 0, index });\n });\n });\n }\n 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 ? 0\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 // 计算当前进度的对应index\n const dataIndex = this.dataDistanceRatioArr[this.currentIndex].findIndex(\n (v, index, arr) => {\n if (index === arr.length - 1) {\n return true;\n }\n return v <= distance <= arr[index + 1];\n },\n );\n this.onPlaying && this.onPlaying(this._distance, this.currentIndex, dataIndex);\n }\n\n playEnd() {\n if (!this.repeatPlay) {\n this.stopAnimation();\n }\n this.isPlayEnd = true;\n if (this.showTrace) {\n this.lineDashFeatures.forEach(feature => {\n this.vectorLayer.getSource().removeFeature(feature);\n });\n this.paintLineFeatures.forEach(feature => {\n this.vectorLayer.getSource().removeFeature(feature);\n feature.setGeometry(null);\n });\n this.setRouteStyle(this.routeFeatures);\n }\n }\n\n setRotation(lastCoordinate, coordinate) {\n if (lastCoordinate && coordinate && this.enableRotation) {\n const x = coordinate[0] - lastCoordinate[0];\n const y = coordinate[1] - lastCoordinate[1];\n const rotation = Math.atan2(y, x);\n this.geoMarkerStyle.getImage().setRotation(Math.atan2(1, 0) - rotation);\n }\n }\n\n // 计算当前路段跑的距离,计算公式:(当前跑的总距离 - 已跑路段的总距离) / 当前路段的百分比\n calculateDistance() {\n const currentRouteRatio =\n this.currentIndex > 0\n ? this.distanceRatioArr[this.currentIndex] -\n this.distanceRatioArr[this.currentIndex - 1]\n : this.distanceRatioArr[this.currentIndex];\n 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\n this._distance = (this._distance + (speed * elapsedTime) / 1e6) % 2;\n let distance = this.calculateDistance();\n this._lastTime = time;\n\n if (distance > 1) {\n this.currentIndex = this.currentIndex + 1;\n distance = 0;\n }\n\n if (this.currentIndex > this.routeFeatures.length - 1) {\n this.playEnd();\n if (this.repeatPlay) {\n this.currentIndex = this.routeFeatures.length - 1;\n } else {\n const currentCoordinate = this.endMarker.getGeometry().getCoordinates();\n this.position.setCoordinates(currentCoordinate);\n vectorContext.setStyle(this.geoMarkerStyle);\n vectorContext.drawGeometry(this.position);\n this.onPlayEnd && this.onPlayEnd();\n return;\n }\n }\n // 计算当前进度的对应index\n const dataIndex = this.dataDistanceRatioArr[this.currentIndex].findIndex(\n (v, index, arr) => {\n if (index === arr.length - 1) {\n return true;\n }\n return v <= distance <= arr[index + 1];\n },\n );\n const route = this.routeFeatures[this.currentIndex].getGeometry();\n const currentCoordinate = route.getCoordinateAt(distance > 1 ? 2 - distance : distance);\n this.position.setCoordinates(currentCoordinate);\n this.setRotation(this.lastCoordinate, currentCoordinate);\n this.lastCoordinate = currentCoordinate;\n if (this.autoView) {\n this.map.getView().fit(this.position, {\n padding: [100, 400, 100, 400],\n maxZoom: this.map.getView().getZoom(),\n duration: 0,\n });\n }\n\n vectorContext.setStyle(this.geoMarkerStyle);\n vectorContext.drawGeometry(this.position);\n if (this.showTrace) {\n this.setPaintLinePath({\n coordinate: currentCoordinate,\n index: this.currentIndex,\n });\n }\n this.onPlaying && this.onPlaying(this._distance, this.currentIndex, dataIndex);\n this.map.render();\n }\n\n setPaintLinePath({ coordinate, init, index }) {\n const paintLineFeature = this.paintLineFeatures[index];\n if (init) {\n paintLineFeature.setGeometry(null);\n }\n const geometry = paintLineFeature.getGeometry();\n if (geometry) {\n geometry.setCoordinates([[...geometry.getCoordinates()[0], coordinate]]);\n } else {\n let lineData = [[coordinate]];\n const route = new MultiLineString(lineData);\n\n paintLineFeature.setGeometry(route);\n }\n if (!this.vectorLayer.getSource().hasFeature(paintLineFeature)) {\n this.vectorLayer.getSource().addFeature(paintLineFeature);\n }\n }\n\n addTrace() {\n if (this._distance === 0) {\n const lineDashFeatures = [];\n const paintLineFeatures = [];\n this.routeFeatures.forEach(feature => {\n const lineDashFeature = feature.clone();\n const paintLineFeature = feature.clone();\n paintLineFeature.setGeometry(null);\n lineDashFeature.setStyle(\n this.getDefaultRouteStyle(feature, {\n lineDash: [15],\n }),\n );\n lineDashFeatures.push(lineDashFeature);\n paintLineFeatures.push(paintLineFeature);\n });\n this.lineDashFeatures = lineDashFeatures;\n this.paintLineFeatures = paintLineFeatures;\n }\n }\n\n startAnimation() {\n if (!this.repeatPlay && this.isPlayEnd) {\n // 当不重复播放,且当前在终点时,从起点开始播放\n this.cancel();\n this.geoMarkerStyle.getImage().setRotation(0);\n }\n this.isPlayEnd = false;\n this._animating = true;\n this._lastTime = Date.now();\n this._on_event = this.vectorLayer.on('postrender', this.moveFeature.bind(this));\n this.geoMarker.setGeometry(null);\n if (this.showTrace) {\n this.lineDashFeatures.forEach(feature => {\n if (!this.vectorLayer.getSource().hasFeature(feature)) {\n this.vectorLayer.getSource().addFeature(feature);\n }\n });\n this.routeFeatures.forEach(feature => {\n feature.setStyle(new Style({}));\n });\n }\n }\n\n stopAnimation() {\n this._animating = false;\n this.geoMarker.setGeometry(this.position);\n if (this._on_event) {\n this.vectorLayer.un('postrender', this._on_event.listener);\n }\n }\n\n cancel() {\n this.geoMarkerStyle.getImage().setRotation(0);\n this._distance = 0;\n this.currentIndex = 0;\n const currentCoordinate = this.route.getCoordinateAt(0);\n this.position.setCoordinates(currentCoordinate);\n this.playEnd();\n this.onPlaying && this.onPlaying(this._distance, this.currentIndex, 0);\n }\n\n destroy() {\n if (this._animating) {\n this.stopAnimation();\n }\n\n this.map.removeLayer(this.vectorLayer);\n this.routeFeatures = null;\n this.position = null;\n this.vectorLayer = null;\n this.geoMarker = null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/ol-map",
3
- "version": "1.0.116",
3
+ "version": "1.0.118",
4
4
  "description": "React components for Vortex",
5
5
  "keywords": [
6
6
  "react",