@vtx/ol-map 2.0.0-beta.2 → 2.0.0-beta.20
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/README.md +205 -205
- package/lib/_util/EventEmitter.js.map +1 -1
- package/lib/_util/StyleCache.js.map +1 -1
- package/lib/_util/encryptParams.js +11 -11
- package/lib/_util/encryptParams.js.map +1 -1
- package/lib/_util/filterSpecialCharacters.js +6 -6
- package/lib/_util/filterSpecialCharacters.js.map +1 -1
- package/lib/_util/getComponentProps.js.map +1 -1
- package/lib/_util/getCookie.js +4 -4
- package/lib/_util/getCookie.js.map +1 -1
- package/lib/_util/getDefaultMapInfo.js.map +1 -1
- package/lib/_util/getSystemInfo.js.map +1 -1
- package/lib/_util/getToken.js.map +1 -1
- package/lib/_util/http.js +20 -20
- package/lib/_util/http.js.map +1 -1
- package/lib/_util/isFunction.js.map +1 -1
- package/lib/_util/isObject.js.map +1 -1
- package/lib/_util/layer.js +21 -21
- package/lib/_util/layer.js.map +1 -1
- package/lib/_util/mapTool.js +35 -35
- package/lib/_util/mapTool.js.map +1 -1
- package/lib/_util/projection.js +44 -0
- package/lib/_util/projection.js.map +1 -0
- package/lib/_util/projzh/datum/bd-09.js.map +1 -1
- package/lib/_util/projzh/datum/gcj-02.js.map +1 -1
- package/lib/_util/projzh/datum/index.js.map +1 -1
- package/lib/_util/projzh/index.js.map +1 -1
- package/lib/_util/projzh/projection/baidu-mercator.js.map +1 -1
- package/lib/_util/projzh/projection/index.js.map +1 -1
- package/lib/_util/projzh/projection/spherical-mercator.js.map +1 -1
- package/lib/_util/projzh/util.js.map +1 -1
- package/lib/_util/search.js +39 -45
- package/lib/_util/search.js.map +1 -1
- package/lib/_util/setCookie.js +4 -4
- package/lib/_util/setCookie.js.map +1 -1
- package/lib/_util/stringToFun.js.map +1 -1
- package/lib/_util/transform.js.map +1 -1
- package/lib/_util/useColSize.js.map +1 -1
- package/lib/_util/useInterval.js.map +1 -1
- package/lib/_util/useSet.js.map +1 -1
- package/lib/analysis-layer/index.js +23 -23
- package/lib/analysis-layer/index.js.map +1 -1
- package/lib/arrow-flow-layer/ArrowFlowLayer.js +438 -0
- package/lib/arrow-flow-layer/ArrowFlowLayer.js.map +1 -0
- package/lib/arrow-flow-layer/index.js +140 -0
- package/lib/arrow-flow-layer/index.js.map +1 -0
- package/lib/arrow-flow-layer/sampleArrowsAlongLine.js +87 -0
- package/lib/arrow-flow-layer/sampleArrowsAlongLine.js.map +1 -0
- package/lib/arrow-flow-layer/style/css.js +4 -0
- package/lib/arrow-flow-layer/style/css.js.map +1 -0
- package/lib/arrow-flow-layer/style/index.css +0 -0
- package/lib/arrow-flow-layer/style/index.js +4 -0
- package/lib/arrow-flow-layer/style/index.js.map +1 -0
- package/lib/arrow-flow-layer/style/index.less +0 -0
- package/lib/buffer-draw/BufferDraw.js +4 -3
- package/lib/buffer-draw/BufferDraw.js.map +1 -1
- package/lib/buffer-draw/index.js +3 -1
- package/lib/buffer-draw/index.js.map +1 -1
- package/lib/config.js.map +1 -1
- package/lib/convertCamelToCSS.js.map +1 -1
- package/lib/dom/Dom.js.map +1 -1
- package/lib/dom/index.js.map +1 -1
- package/lib/dom-layer/index.js.map +1 -1
- package/lib/dom-layer/style/css.js.map +1 -1
- package/lib/dom-layer/style/index.js.map +1 -1
- package/lib/dom-layer/style/index.less +3 -3
- package/lib/events/index.js.map +1 -1
- package/lib/feature-draw/FeatureDraw.js +8 -7
- package/lib/feature-draw/FeatureDraw.js.map +1 -1
- package/lib/feature-draw/index.js +4 -1
- package/lib/feature-draw/index.js.map +1 -1
- package/lib/feature-layer/FeatureLayer.js +63 -27
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/feature-layer/MyCluster.js +7 -7
- package/lib/feature-layer/MyCluster.js.map +1 -1
- package/lib/feature-layer/createFeatureCollection.js +13 -13
- package/lib/feature-layer/createFeatureCollection.js.map +1 -1
- package/lib/feature-layer/index.js +3 -3
- package/lib/feature-layer/index.js.map +1 -1
- package/lib/feature-layer/style/css.js.map +1 -1
- package/lib/feature-layer/style/index.js.map +1 -1
- package/lib/flow-line-layer/FlowLineLayer.js.map +1 -1
- package/lib/flow-line-layer/index.js.map +1 -1
- package/lib/flow-line-layer/style/css.js.map +1 -1
- package/lib/flow-line-layer/style/index.js.map +1 -1
- package/lib/fly-line-layer/FlyLineLayer.js.map +1 -1
- package/lib/fly-line-layer/index.js.map +1 -1
- package/lib/fly-line-layer/style/css.js.map +1 -1
- package/lib/fly-line-layer/style/index.js.map +1 -1
- package/lib/group-layer/GroupLayer.js +8 -6
- package/lib/group-layer/GroupLayer.js.map +1 -1
- package/lib/group-layer/index.js.map +1 -1
- package/lib/group-layer/style/css.js.map +1 -1
- package/lib/group-layer/style/index.js.map +1 -1
- package/lib/heatmap-layer/HeatmapLayer.js.map +1 -1
- package/lib/heatmap-layer/index.js +12 -3
- package/lib/heatmap-layer/index.js.map +1 -1
- package/lib/heatmap-layer/style/css.js.map +1 -1
- package/lib/heatmap-layer/style/index.js.map +1 -1
- package/lib/high-layer/HighLayer.js +9 -7
- package/lib/high-layer/HighLayer.js.map +1 -1
- package/lib/high-layer/index.js +4 -2
- package/lib/high-layer/index.js.map +1 -1
- package/lib/image-layer/ImageLayer.js +1 -1
- package/lib/image-layer/ImageLayer.js.map +1 -1
- package/lib/image-layer/ImageTileLayer.js +1 -1
- package/lib/image-layer/ImageTileLayer.js.map +1 -1
- package/lib/image-layer/index.js.map +1 -1
- package/lib/image-layer/style/css.js.map +1 -1
- package/lib/image-layer/style/index.js.map +1 -1
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -1
- package/lib/legend/index.js +17 -15
- package/lib/legend/index.js.map +1 -1
- package/lib/legend/style/css.js.map +1 -1
- package/lib/legend/style/index.js.map +1 -1
- package/lib/legend/style/index.less +100 -100
- package/lib/map/Analysis.js.map +1 -1
- package/lib/map/Layers.js +11 -10
- package/lib/map/Layers.js.map +1 -1
- package/lib/map/Popup.js +16 -11
- package/lib/map/Popup.js.map +1 -1
- package/lib/map/ScaleDenominator.js.map +1 -1
- package/lib/map/Test.js.map +1 -1
- package/lib/map/defaultTextEnum.js +187 -0
- package/lib/map/defaultTextEnum.js.map +1 -0
- package/lib/map/defaultTextEnumEN.js +223 -0
- package/lib/map/defaultTextEnumEN.js.map +1 -0
- package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/tdt/TdtImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/index.js.map +1 -1
- package/lib/map/index.js +48 -33
- package/lib/map/index.js.map +1 -1
- package/lib/map/style/css.js.map +1 -1
- package/lib/map/style/index.js.map +1 -1
- package/lib/map/style/index.less +152 -152
- package/lib/map-icon/svg/index.js.map +1 -1
- package/lib/marker/Marker.js.map +1 -1
- package/lib/marker/index.js.map +1 -1
- package/lib/path-line-layer/PathLineLayer.js.map +1 -1
- package/lib/path-line-layer/getPathLineStyles.js.map +1 -1
- package/lib/path-line-layer/index.js +3 -3
- package/lib/path-line-layer/index.js.map +1 -1
- package/lib/path-line-layer/style/css.js.map +1 -1
- package/lib/path-line-layer/style/index.js.map +1 -1
- package/lib/path-play-back/PathPlayBack.js +10 -10
- package/lib/path-play-back/PathPlayBack.js.map +1 -1
- package/lib/path-play-back/index.js +2 -2
- package/lib/path-play-back/index.js.map +1 -1
- package/lib/poi-search/Location.js.map +1 -1
- package/lib/poi-search/PoiList.js +18 -10
- package/lib/poi-search/PoiList.js.map +1 -1
- package/lib/poi-search/Search.js +10 -4
- package/lib/poi-search/Search.js.map +1 -1
- package/lib/poi-search/index.js +11 -5
- package/lib/poi-search/index.js.map +1 -1
- package/lib/poi-search/style/css.js.map +1 -1
- package/lib/poi-search/style/index.js.map +1 -1
- package/lib/poi-search/style/index.less +97 -97
- package/lib/point/Point.js.map +1 -1
- package/lib/point/index.js.map +1 -1
- package/lib/polygon/Polygon.js.map +1 -1
- package/lib/polygon/index.js.map +1 -1
- package/lib/polyline/Polyline.js.map +1 -1
- package/lib/polyline/index.js.map +1 -1
- package/lib/popup/index.js.map +1 -1
- package/lib/popup/style/css.js.map +1 -1
- package/lib/popup/style/index.js.map +1 -1
- package/lib/popup/style/index.less +129 -129
- package/lib/provider/index.js.map +1 -1
- package/lib/renderer/Fill.js.map +1 -1
- package/lib/renderer/Stroke.js.map +1 -1
- package/lib/renderer/index.js +2 -2
- package/lib/renderer/index.js.map +1 -1
- package/lib/renderer/style/css.js.map +1 -1
- package/lib/renderer/style/index.js.map +1 -1
- package/lib/renderer/transformRgb.js.map +1 -1
- package/lib/search-map/VtxModal.js +16 -9
- package/lib/search-map/VtxModal.js.map +1 -1
- package/lib/search-map/index.js +74 -19
- package/lib/search-map/index.js.map +1 -1
- package/lib/search-map/style/css.js.map +1 -1
- package/lib/search-map/style/index.css +16 -3
- package/lib/search-map/style/index.js.map +1 -1
- package/lib/search-map/style/index.less +96 -80
- package/lib/search-map/style/modal.css +14 -12
- package/lib/search-map/style/modal.less +66 -56
- package/lib/style/index.less +2 -2
- package/lib/style/themes/compact.less +1 -1
- package/lib/style/themes/dark.less +7 -7
- package/lib/style/themes/default.less +7 -7
- package/lib/style/themes/index.less +1 -1
- package/lib/style/themes/variable.less +5 -5
- package/lib/tile-layer/TileLayer.js.map +1 -1
- package/lib/tile-layer/index.js +4 -2
- package/lib/tile-layer/index.js.map +1 -1
- package/lib/tile-layer/style/css.js.map +1 -1
- package/lib/tile-layer/style/index.js.map +1 -1
- package/lib/tools/Layer/LayerService.js.map +1 -1
- package/lib/tools/Layer/LayersCheckService.js +2 -2
- package/lib/tools/Layer/LayersCheckService.js.map +1 -1
- package/lib/tools/Layer/index.js +2 -2
- package/lib/tools/Layer/index.js.map +1 -1
- package/lib/tools/Layer/index.less +43 -43
- package/lib/tools/Search/index.js +50 -40
- package/lib/tools/Search/index.js.map +1 -1
- package/lib/tools/Toolbox/BoxSelect/index.js +6 -3
- package/lib/tools/Toolbox/BoxSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/CircleSelect/index.js +6 -3
- package/lib/tools/Toolbox/CircleSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/EagleEye/index.js +5 -4
- package/lib/tools/Toolbox/EagleEye/index.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/Bookmark.js +1 -1
- package/lib/tools/Toolbox/MapBookmark/Bookmark.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/index.js +43 -42
- package/lib/tools/Toolbox/MapBookmark/index.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/index.less +20 -20
- package/lib/tools/Toolbox/MapDownload/index.js.map +1 -1
- package/lib/tools/Toolbox/MapPrint/index.css +62 -3
- package/lib/tools/Toolbox/MapPrint/index.js +186 -31
- package/lib/tools/Toolbox/MapPrint/index.js.map +1 -1
- package/lib/tools/Toolbox/MapPrint/index.less +73 -4
- package/lib/tools/Toolbox/MapSheetPrint/assets/lock.png +0 -0
- package/lib/tools/Toolbox/MapSheetPrint/index.css +25 -0
- package/lib/tools/Toolbox/MapSheetPrint/index.js +1640 -0
- package/lib/tools/Toolbox/MapSheetPrint/index.js.map +1 -0
- package/lib/tools/Toolbox/MapSheetPrint/index.less +34 -0
- package/lib/tools/Toolbox/Measure/Area/index.js.map +1 -1
- package/lib/tools/Toolbox/Measure/Distance/index.js.map +1 -1
- package/lib/tools/Toolbox/Measure/Measure.js +24 -15
- package/lib/tools/Toolbox/Measure/Measure.js.map +1 -1
- package/lib/tools/Toolbox/Measure/index.js +7 -5
- package/lib/tools/Toolbox/Measure/index.js.map +1 -1
- package/lib/tools/Toolbox/PolygonSelect/index.js +2 -2
- package/lib/tools/Toolbox/PolygonSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/ScaleLine/index.js +3 -2
- package/lib/tools/Toolbox/ScaleLine/index.js.map +1 -1
- package/lib/tools/Toolbox/SelectTools/index.js +88 -76
- package/lib/tools/Toolbox/SelectTools/index.js.map +1 -1
- package/lib/tools/Toolbox/SelectTools/index.less +87 -87
- package/lib/tools/Toolbox/SpaceQuery/index.js +56 -51
- package/lib/tools/Toolbox/SpaceQuery/index.js.map +1 -1
- package/lib/tools/Toolbox/SpaceQuery/index.less +16 -16
- package/lib/tools/Toolbox/ZoomInput/index.js +4 -1
- package/lib/tools/Toolbox/ZoomInput/index.js.map +1 -1
- package/lib/tools/Toolbox/ZoomInput/index.less +5 -5
- package/lib/tools/Toolbox/draftingPrint/index.css +26 -0
- package/lib/tools/Toolbox/draftingPrint/index.js +366 -0
- package/lib/tools/Toolbox/draftingPrint/index.js.map +1 -0
- package/lib/tools/Toolbox/draftingPrint/index.less +34 -0
- package/lib/tools/Toolbox/index.js +118 -63
- package/lib/tools/Toolbox/index.js.map +1 -1
- package/lib/tools/Toolbox/index.less +2 -2
- package/lib/tools/Utils/CreateOverlay.js +2 -2
- package/lib/tools/Utils/CreateOverlay.js.map +1 -1
- package/lib/tools/Utils/Draw.js +4 -4
- package/lib/tools/Utils/Draw.js.map +1 -1
- package/lib/tools/Utils/HighLayer.js +6 -5
- package/lib/tools/Utils/HighLayer.js.map +1 -1
- package/lib/tools/Utils/measure.js.map +1 -1
- package/lib/tools/Utils/utils.js +17 -17
- package/lib/tools/Utils/utils.js.map +1 -1
- package/lib/tools/View/index.js +58 -43
- package/lib/tools/View/index.js.map +1 -1
- package/lib/tools/View/index.less +28 -28
- package/lib/tools/analysis-tool/index.js.map +1 -1
- package/lib/tools/base-map-switch/index.js +44 -40
- package/lib/tools/base-map-switch/index.js.map +1 -1
- package/lib/tools/components/Chart/index.js +93 -89
- package/lib/tools/components/Chart/index.js.map +1 -1
- package/lib/tools/components/Icon/index.js.map +1 -1
- package/lib/tools/components/Info/index.js.map +1 -1
- package/lib/tools/components/Info/index.less +26 -26
- package/lib/tools/components/ItemWrap/index.js.map +1 -1
- package/lib/tools/components/ItemWrap/index.less +41 -41
- package/lib/tools/components/Modal/index.js +2 -2
- package/lib/tools/components/Modal/index.js.map +1 -1
- package/lib/tools/components/Modal/index.less +33 -33
- package/lib/tools/components/MyTabs/index.js.map +1 -1
- package/lib/tools/components/RequiredLabel/index.js.map +1 -1
- package/lib/tools/components/RequiredLabel/index.less +5 -5
- package/lib/tools/components/Select/index.js.map +1 -1
- package/lib/tools/components/Table/index.js +7 -4
- package/lib/tools/components/Table/index.js.map +1 -1
- package/lib/tools/components/Table/index.less +13 -13
- package/lib/tools/components/ToolItem/index.js.map +1 -1
- package/lib/tools/components/ToolItem/index.less +27 -27
- package/lib/tools/components/ToolsSelect/index.js.map +1 -1
- package/lib/tools/components/ToolsSelect/index.less +10 -10
- package/lib/tools/full-screen/index.js.map +1 -1
- package/lib/tools/index.js +52 -41
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/layer-control/index.js +12 -11
- package/lib/tools/layer-control/index.js.map +1 -1
- package/lib/tools/refresh/index.js.map +1 -1
- package/lib/tools/style/css.js.map +1 -1
- package/lib/tools/style/index.js.map +1 -1
- package/lib/tools/style/index.less +154 -154
- package/lib/tools-item/index.js +2 -2
- package/lib/tools-item/index.js.map +1 -1
- package/lib/use-props/index.js.map +1 -1
- package/lib/wms-layer/WmsLayer.js +1 -1
- package/lib/wms-layer/WmsLayer.js.map +1 -1
- package/lib/wms-layer/index.js.map +1 -1
- package/lib/wms-layer/style/css.js.map +1 -1
- package/lib/wms-layer/style/index.js.map +1 -1
- package/package.json +138 -121
- package/lib/_util/getUrlParam.js +0 -15
- package/lib/_util/getUrlParam.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_antd","require","_layer","_source","_format","_geom","_Feature","_interopRequireDefault","_style2","_http","_createFeatureCollection","_getUrlParam","_getSystemInfo","_encryptParams","_interopRequireWildcard","_lodash","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","length","prototype","_classCallCheck","_defineProperties","enumerable","configurable","writable","_toPropertyKey","key","_createClass","ownKeys","keys","getOwnPropertySymbols","filter","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPrimitive","toPrimitive","String","Number","geoJsonFormat","GeoJSON","getWFSFeatureInfoByLayer","exports","layer","cql_filter","filterBefore","coorStr","_source$params_","_source$params_2","source","getSource","url","url_","params_","typeName","layers","_cql_filter","location","concat","CQL_FILTER","params","service","version","request","maxFeatures","outputFormat","viewparams","getUrlParam","getSystemInfo","encrypt","encryptParams","encryptParamsByUrl","http","body","then","response","_response$features","features","readFeatures","map","item","labelField","codeField","setProperties","label","title","getWFSFeatureInfoByLayers","req","v","Promise","all","flat","getWMSFeatureInfoByLayer","event","view","getView","QUERY_LAYERS","INFO_FORMAT","FEATURE_COUNT","getFeatureInfoUrl","coordinate","getResolution","getProjection","data","_data$features","getWMSFeatureInfoByLayers","_default","props","_props$fit","fit","_props$otherParams","otherParams","highStyle","Style","image","CircleStyle","radius","fill","Fill","color","stroke","Stroke","width","field","VectorSource","VectorLayer","zIndex","style","addLayer","layerName","selectFeature","val","clearSelectFeature","clearFeatures","isGetUrl","setUrlLayerData","cqlFilter","setLayerData","destroy","removeLayer","clear","_this","getUrlData","addFeatures","getExtent","maxZoom","duration","_this2","_ref","_data","_ref$codes","codes","_ref$fileValue","fileValue","_ref$type","type","method","post","res","result","geometryInfo","_ref2","_ref2$lngLats","lngLats","lngLat","split","includes","Feature","geometry","Point","properties","loadData","createFeatureCollection","_this3","getLayerData","_this4","paramsNew","cloneDeep","_response$features2","_features","setCenterByCode","code","getFeatures","fieldCode","feature","find","_v$get","setStyle","values_","setSelectFeature","message","warning","styleArr","_style"],"sources":["analysis-layer/index.js"],"sourcesContent":["import { message } from 'antd';\nimport { Vector as VectorLayer } from 'ol/layer';\nimport { Vector as VectorSource } from 'ol/source';\nimport { GeoJSON } from 'ol/format';\nimport { Point } from 'ol/geom';\nimport Feature from 'ol/Feature';\nimport { Stroke, Style, Circle as CircleStyle, Fill } from 'ol/style';\nimport http from '../_util/http';\nimport { createFeatureCollection } from '../feature-layer/createFeatureCollection';\nimport getUrlParam from '../_util/getUrlParam';\nimport getSystemInfo from '../_util/getSystemInfo';\nimport encryptParams, { encryptParamsByUrl } from '../_util/encryptParams';\nimport { cloneDeep } from 'lodash';\nconst geoJsonFormat = new GeoJSON();\n\n/**\n * 获取图形信息\n * @param layer\n * @returns {*}\n */\nexport const getWFSFeatureInfoByLayer = (layer, cql_filter, filterBefore, coorStr) => {\n let source = layer?.getSource();\n let url = source?.url_;\n let filter = source?.params_?.cql_filter;\n let typeName = source?.params_?.layers;\n\n let _cql_filter = cql_filter;\n\n if (coorStr?.coorStr) {\n let location = layer?.location || 'geo_location';\n _cql_filter = `INTERSECTS(${location}, POLYGON((${coorStr?.coorStr})))`;\n }\n\n if (!url) return;\n let CQL_FILTER;\n if (_cql_filter && filter) {\n CQL_FILTER = `(${filter}) and ${_cql_filter}`;\n } else {\n CQL_FILTER = filter || _cql_filter || '';\n }\n\n if (filterBefore) {\n CQL_FILTER = filterBefore(CQL_FILTER, layer);\n }\n\n let params = {\n service: 'WFS',\n version: '1.0.0',\n request: 'GetFeature',\n maxFeatures: 99999,\n outputFormat: 'application/json',\n typeName,\n cql_filter: CQL_FILTER,\n viewparams: `tenantId:${getUrlParam('tenantId') || getSystemInfo('tenantId') || ''}`,\n };\n\n if (layer.encrypt) {\n params = encryptParams(params, layer.encrypt);\n } else {\n params = encryptParamsByUrl(params);\n }\n\n return http\n .get(url, { body: { ...params } })\n .then(response => {\n let features = [];\n if (response?.features?.length) {\n features = geoJsonFormat.readFeatures(response);\n features.map(item => {\n item.key = layer?.key;\n item.name = layer?.name;\n item.labelField = layer?.labelField;\n item.codeField = layer?.codeField;\n item.setProperties({\n key: layer?.key,\n label: layer?.title || layer?.name,\n codeField: layer?.codeField,\n });\n });\n }\n return features;\n })\n .catch(() => {\n return [];\n });\n};\n\n/**\n * 获取图形信息\n * @param layers\n * @returns {Promise<FlatArray<Awaited<unknown>[], 2>[]>|*}\n */\nexport const getWFSFeatureInfoByLayers = (layers, cql_filter, filterBefore, coorStr) => {\n if (Array.isArray(layers)) {\n let req = [];\n layers.map(v => {\n req.push(getWFSFeatureInfoByLayer(v, cql_filter, filterBefore, coorStr));\n });\n return Promise.all(req).then(layers => {\n return layers.flat(2);\n });\n } else {\n return getWFSFeatureInfoByLayer(layers, cql_filter, filterBefore, coorStr);\n }\n};\n\n/**\n * 获取图形信息\n * @param event\n * @param map\n * @param layer\n * @returns {*}\n */\nexport const getWMSFeatureInfoByLayer = (event, map, layer) => {\n let source = layer.getSource();\n let view = map.getView();\n let params = {\n cql_filter: source.params_.cql_filter,\n QUERY_LAYERS: source.params_.layers,\n INFO_FORMAT: 'application/json',\n FEATURE_COUNT: 50,\n };\n\n if (layer.encrypt) {\n params = encryptParams(params, layer.encrypt);\n } else {\n params = encryptParamsByUrl(params);\n }\n\n let url = source.getFeatureInfoUrl(\n event.coordinate,\n view.getResolution(),\n view.getProjection(),\n params,\n );\n\n return http\n .get(url)\n .then(data => {\n let features = [];\n if (data?.features?.length) {\n features = geoJsonFormat.readFeatures(data);\n features.map(item => {\n item.key = layer?.key;\n });\n }\n return features;\n })\n .catch(() => {\n return [];\n });\n};\n\n/**\n * 获取图形信息\n * @param event\n * @param map\n * @param layers\n * @returns {Promise<FlatArray<Awaited<unknown>[], 2>[]>|*}\n */\nexport const getWMSFeatureInfoByLayers = (event, map, layers) => {\n if (Array.isArray(layers)) {\n let req = [];\n layers.map(v => {\n req.push(getWMSFeatureInfoByLayer(event, map, v));\n });\n return Promise.all(req).then(layers => {\n return layers.flat(2);\n });\n } else {\n return getWMSFeatureInfoByLayer(event, map, layers);\n }\n};\n\nexport default class {\n constructor(props) {\n const { fit = true, otherParams = {} } = props;\n this.highStyle = new Style({\n // 高亮样式\n image: new CircleStyle({\n radius: 7,\n fill: new Fill({\n color: '#ff4d4f',\n }),\n stroke: new Stroke({\n color: '#FFFFFF',\n width: 2,\n }),\n }),\n fill: new Fill({\n color: '#ff4d4f',\n }),\n stroke: new Stroke({\n color: '#ff4d4f',\n width: 4,\n }),\n });\n this.map = props.map;\n this.field = props.field;\n this.fit = fit;\n this.cql_filter = props.cql_filter || props.filter;\n this.source = new VectorSource();\n this.key = props.key;\n this.layer = new VectorLayer({\n source: this.source,\n zIndex: 9999,\n style: this.highStyle,\n ...otherParams,\n });\n this.map.addLayer(this.layer);\n\n this.url = props.url || '/geoserver/zhsw/wms';\n this.layerName = props.layerName || 'zhsw:putian_line';\n\n this.params = {\n service: 'WFS',\n version: '1.0.0',\n request: 'GetFeature',\n typeName: 'mumu:points',\n maxFeatures: 99999,\n outputFormat: 'application/json',\n ...props.params,\n };\n\n this.selectFeature = null;\n }\n\n set filter(val) {\n this.clearSelectFeature();\n this.clearFeatures();\n if (val) {\n if (typeof val === 'object' && val.isGetUrl) {\n // 接口获取图层\n this.setUrlLayerData(val);\n } else {\n let cqlFilter = val;\n if (this.cql_filter) {\n cqlFilter = `${this.cql_filter} and ${val}`;\n }\n this.setLayerData({ cql_filter: cqlFilter });\n }\n }\n }\n\n destroy() {\n this.map.removeLayer(this.layer);\n }\n\n clearFeatures() {\n this.source && this.source.clear();\n }\n\n setUrlLayerData(val) {\n this.getUrlData(val).then(features => {\n if (features && features.length) {\n let view = this.map.getView();\n this.source.addFeatures(features);\n if (view) {\n view.fit(this.source.getExtent(), {\n maxZoom: 20,\n duration: 500,\n });\n }\n }\n });\n }\n\n getUrlData(req) {\n // codes 符合条件的数据变量集合,\n let { url, params, data: _data, codes = [], fileValue = 'code', type = 'point' } =\n req || {};\n let request = http.get;\n let data = params;\n if (req.method === 'POST') {\n request = http.post;\n data = _data;\n }\n return request(url, { body: { ...data } })\n .then(res => {\n let features = [];\n if (String(res?.result) && res?.data) {\n if (type === 'point') {\n res.data.map(item => {\n const { geometryInfo } = item;\n const { lngLats = '' } = geometryInfo || {};\n let lngLat = [];\n if (lngLats) {\n lngLat = lngLats.split(',');\n }\n if (lngLat[0] && lngLat[1] && codes.includes(item[fileValue])) {\n features.push(\n new Feature({\n geometry: new Point([Number(lngLat[0]), Number(lngLat[1])]),\n properties: { ...item },\n type,\n }),\n );\n }\n });\n }\n }\n features.map(v => {\n v.key = this.key;\n });\n return features;\n })\n .catch(() => []);\n }\n\n loadData(data) {\n this.clearFeatures();\n let res = createFeatureCollection(Array.isArray(data) ? data : [data]);\n let features = geoJsonFormat.readFeatures(res);\n this.source.addFeatures(features);\n }\n setLayerData(params) {\n this.clearSelectFeature();\n this.clearFeatures();\n let val = {\n service: 'WFS',\n version: '1.0.0',\n request: 'GetFeature',\n maxFeatures: 99999,\n outputFormat: 'application/json',\n typeName: this.layerName,\n layers: this.layerName,\n QUERY_LAYERS: this.layerName,\n cql_filter: this.cql_filter,\n ...params,\n };\n return this.getLayerData(this.url || val.url, val).then(features => {\n if (features?.length) {\n this.source.addFeatures(features);\n if (this.fit) {\n this.map.getView().fit(this.source.getExtent(), {\n maxZoom: 20,\n duration: 500,\n });\n }\n }\n\n return features;\n });\n }\n\n getLayerData(url, params) {\n let paramsNew = cloneDeep(params);\n if (this.layer.encrypt) {\n paramsNew = encryptParams(paramsNew, this.layer.encrypt);\n } else {\n paramsNew = encryptParamsByUrl(paramsNew);\n }\n return http.get(url, { body: paramsNew }).then(response => {\n let features;\n if (response?.features?.length) {\n const geoJsonFormat = new GeoJSON();\n features = geoJsonFormat.readFeatures(response);\n features?.map(v => {\n v.key = this.key;\n });\n }\n\n return features;\n });\n }\n\n setCenterByCode(code, style, field) {\n this.clearSelectFeature();\n let features = this.source.getFeatures();\n\n // 查询字段\n let fieldCode = field || this.field || 'code';\n let feature = features.find(\n v => (v.get(fieldCode) || v.get('properties')?.[fieldCode]) === code,\n );\n\n if (feature) {\n feature.setStyle();\n this.map.getView().fit(feature.values_.geometry.getExtent(), {\n maxZoom: 18,\n duration: 500,\n });\n\n this.setSelectFeature(feature, style);\n } else {\n message.warning('地图上未查询到该数据,请检查是否配置坐标信息!');\n }\n }\n\n clearSelectFeature() {\n if (this.selectFeature) {\n this.selectFeature.setStyle();\n this.selectFeature = null;\n }\n }\n\n setSelectFeature(feature, style) {\n if (feature) {\n let styleArr = [\n new Style({\n image: new CircleStyle({\n radius: 7,\n fill: new Fill({\n color: '#2491fc',\n }),\n stroke: new Stroke({\n color: '#FFFFFF',\n width: 2,\n }),\n }),\n fill: new Fill({\n color: '#2491fc',\n }),\n stroke: new Stroke({\n color: '#2491fc',\n width: 4,\n }),\n }),\n ];\n\n if (typeof style === 'function') {\n let _style = style(feature);\n if (Array.isArray(_style) && _style?.length) styleArr.push(..._style);\n }\n this.selectFeature = feature;\n this.selectFeature.setStyle(styleArr);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_antd","require","_layer","_source","_format","_geom","_Feature","_interopRequireDefault","_style2","_http","_createFeatureCollection","_getUrlParam","_getSystemInfo","_encryptParams","_interopRequireWildcard","_lodashEs","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","length","prototype","_classCallCheck","_defineProperties","enumerable","configurable","writable","_toPropertyKey","key","_createClass","ownKeys","keys","getOwnPropertySymbols","filter","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPrimitive","toPrimitive","String","Number","geoJsonFormat","GeoJSON","getWFSFeatureInfoByLayer","exports","layer","cql_filter","filterBefore","coorStr","_source$params_","_source$params_2","source","getSource","url","url_","params_","typeName","layers","_cql_filter","location","concat","CQL_FILTER","params","service","version","request","maxFeatures","outputFormat","viewparams","getUrlParam","getSystemInfo","encrypt","encryptParams","encryptParamsByUrl","http","body","then","response","_response$features","features","readFeatures","map","item","labelField","codeField","setProperties","label","title","getWFSFeatureInfoByLayers","req","v","Promise","all","flat","getWMSFeatureInfoByLayer","event","view","getView","QUERY_LAYERS","INFO_FORMAT","FEATURE_COUNT","getFeatureInfoUrl","coordinate","getResolution","getProjection","data","_data$features","getWMSFeatureInfoByLayers","_default","props","_props$fit","fit","_props$otherParams","otherParams","highStyle","Style","image","CircleStyle","radius","fill","Fill","color","stroke","Stroke","width","field","VectorSource","VectorLayer","zIndex","style","addLayer","layerName","selectFeature","val","clearSelectFeature","clearFeatures","isGetUrl","setUrlLayerData","cqlFilter","setLayerData","destroy","removeLayer","clear","_this","getUrlData","addFeatures","getExtent","maxZoom","duration","_this2","_ref","_data","_ref$codes","codes","_ref$fileValue","fileValue","_ref$type","type","method","post","res","result","geometryInfo","_ref2","_ref2$lngLats","lngLats","lngLat","split","includes","Feature","geometry","Point","properties","loadData","createFeatureCollection","_this3","getLayerData","_this4","paramsNew","cloneDeep","_response$features2","_features","setCenterByCode","code","getFeatures","fieldCode","feature","find","_v$get","setStyle","values_","setSelectFeature","message","warning","styleArr","_style"],"sources":["analysis-layer/index.js"],"sourcesContent":["import { message } from 'antd';\r\nimport { Vector as VectorLayer } from 'ol/layer';\r\nimport { Vector as VectorSource } from 'ol/source';\r\nimport { GeoJSON } from 'ol/format';\r\nimport { Point } from 'ol/geom';\r\nimport Feature from 'ol/Feature';\r\nimport { Stroke, Style, Circle as CircleStyle, Fill } from 'ol/style';\r\nimport http from '../_util/http';\r\nimport { createFeatureCollection } from '../feature-layer/createFeatureCollection';\r\nimport getUrlParam from '@vtx/utils/lib/getUrlParam'\r\nimport getSystemInfo from '../_util/getSystemInfo';\r\nimport encryptParams, { encryptParamsByUrl } from '../_util/encryptParams';\r\nimport { cloneDeep } from 'lodash-es';\r\nconst geoJsonFormat = new GeoJSON();\r\n\r\n/**\r\n * 获取图形信息\r\n * @param layer\r\n * @returns {*}\r\n */\r\nexport const getWFSFeatureInfoByLayer = (layer, cql_filter, filterBefore, coorStr) => {\r\n let source = layer?.getSource();\r\n let url = source?.url_;\r\n let filter = source?.params_?.cql_filter;\r\n let typeName = source?.params_?.layers;\r\n\r\n let _cql_filter = cql_filter;\r\n\r\n if (coorStr?.coorStr) {\r\n let location = layer?.location || 'geo_location';\r\n _cql_filter = `INTERSECTS(${location}, POLYGON((${coorStr?.coorStr})))`;\r\n }\r\n\r\n if (!url) return;\r\n let CQL_FILTER;\r\n if (_cql_filter && filter) {\r\n CQL_FILTER = `(${filter}) and ${_cql_filter}`;\r\n } else {\r\n CQL_FILTER = filter || _cql_filter || '';\r\n }\r\n\r\n if (filterBefore) {\r\n CQL_FILTER = filterBefore(CQL_FILTER, layer);\r\n }\r\n\r\n let params = {\r\n service: 'WFS',\r\n version: '1.0.0',\r\n request: 'GetFeature',\r\n maxFeatures: 99999,\r\n outputFormat: 'application/json',\r\n typeName,\r\n cql_filter: CQL_FILTER,\r\n viewparams: `tenantId:${getUrlParam('tenantId') || getSystemInfo('tenantId') || ''}`,\r\n };\r\n\r\n if (layer.encrypt) {\r\n params = encryptParams(params, layer.encrypt);\r\n } else {\r\n params = encryptParamsByUrl(params);\r\n }\r\n\r\n return http\r\n .get(url, { body: { ...params } })\r\n .then(response => {\r\n let features = [];\r\n if (response?.features?.length) {\r\n features = geoJsonFormat.readFeatures(response);\r\n features.map(item => {\r\n item.key = layer?.key;\r\n item.name = layer?.name;\r\n item.labelField = layer?.labelField;\r\n item.codeField = layer?.codeField;\r\n item.setProperties({\r\n key: layer?.key,\r\n label: layer?.title || layer?.name,\r\n codeField: layer?.codeField,\r\n });\r\n });\r\n }\r\n return features;\r\n })\r\n .catch(() => {\r\n return [];\r\n });\r\n};\r\n\r\n/**\r\n * 获取图形信息\r\n * @param layers\r\n * @returns {Promise<FlatArray<Awaited<unknown>[], 2>[]>|*}\r\n */\r\nexport const getWFSFeatureInfoByLayers = (layers, cql_filter, filterBefore, coorStr) => {\r\n if (Array.isArray(layers)) {\r\n let req = [];\r\n layers.map(v => {\r\n req.push(getWFSFeatureInfoByLayer(v, cql_filter, filterBefore, coorStr));\r\n });\r\n return Promise.all(req).then(layers => {\r\n return layers.flat(2);\r\n });\r\n } else {\r\n return getWFSFeatureInfoByLayer(layers, cql_filter, filterBefore, coorStr);\r\n }\r\n};\r\n\r\n/**\r\n * 获取图形信息\r\n * @param event\r\n * @param map\r\n * @param layer\r\n * @returns {*}\r\n */\r\nexport const getWMSFeatureInfoByLayer = (event, map, layer) => {\r\n let source = layer.getSource();\r\n let view = map.getView();\r\n let params = {\r\n cql_filter: source.params_.cql_filter,\r\n QUERY_LAYERS: source.params_.layers,\r\n INFO_FORMAT: 'application/json',\r\n FEATURE_COUNT: 50,\r\n };\r\n\r\n if (layer.encrypt) {\r\n params = encryptParams(params, layer.encrypt);\r\n } else {\r\n params = encryptParamsByUrl(params);\r\n }\r\n\r\n let url = source.getFeatureInfoUrl(\r\n event.coordinate,\r\n view.getResolution(),\r\n view.getProjection(),\r\n params,\r\n );\r\n\r\n return http\r\n .get(url)\r\n .then(data => {\r\n let features = [];\r\n if (data?.features?.length) {\r\n features = geoJsonFormat.readFeatures(data);\r\n features.map(item => {\r\n item.key = layer?.key;\r\n });\r\n }\r\n return features;\r\n })\r\n .catch(() => {\r\n return [];\r\n });\r\n};\r\n\r\n/**\r\n * 获取图形信息\r\n * @param event\r\n * @param map\r\n * @param layers\r\n * @returns {Promise<FlatArray<Awaited<unknown>[], 2>[]>|*}\r\n */\r\nexport const getWMSFeatureInfoByLayers = (event, map, layers) => {\r\n if (Array.isArray(layers)) {\r\n let req = [];\r\n layers.map(v => {\r\n req.push(getWMSFeatureInfoByLayer(event, map, v));\r\n });\r\n return Promise.all(req).then(layers => {\r\n return layers.flat(2);\r\n });\r\n } else {\r\n return getWMSFeatureInfoByLayer(event, map, layers);\r\n }\r\n};\r\n\r\nexport default class {\r\n constructor(props) {\r\n const { fit = true, otherParams = {} } = props;\r\n this.highStyle = new Style({\r\n // 高亮样式\r\n image: new CircleStyle({\r\n radius: 7,\r\n fill: new Fill({\r\n color: '#ff4d4f',\r\n }),\r\n stroke: new Stroke({\r\n color: '#FFFFFF',\r\n width: 2,\r\n }),\r\n }),\r\n fill: new Fill({\r\n color: '#ff4d4f',\r\n }),\r\n stroke: new Stroke({\r\n color: '#ff4d4f',\r\n width: 4,\r\n }),\r\n });\r\n this.map = props.map;\r\n this.field = props.field;\r\n this.fit = fit;\r\n this.cql_filter = props.cql_filter || props.filter;\r\n this.source = new VectorSource();\r\n this.key = props.key;\r\n this.layer = new VectorLayer({\r\n source: this.source,\r\n zIndex: 9999,\r\n style: this.highStyle,\r\n ...otherParams,\r\n });\r\n this.map.addLayer(this.layer);\r\n\r\n this.url = props.url || '/geoserver/zhsw/wms';\r\n this.layerName = props.layerName || 'zhsw:putian_line';\r\n\r\n this.params = {\r\n service: 'WFS',\r\n version: '1.0.0',\r\n request: 'GetFeature',\r\n typeName: 'mumu:points',\r\n maxFeatures: 99999,\r\n outputFormat: 'application/json',\r\n ...props.params,\r\n };\r\n\r\n this.selectFeature = null;\r\n }\r\n\r\n set filter(val) {\r\n this.clearSelectFeature();\r\n this.clearFeatures();\r\n if (val) {\r\n if (typeof val === 'object' && val.isGetUrl) {\r\n // 接口获取图层\r\n this.setUrlLayerData(val);\r\n } else {\r\n let cqlFilter = val;\r\n if (this.cql_filter) {\r\n cqlFilter = `${this.cql_filter} and ${val}`;\r\n }\r\n this.setLayerData({ cql_filter: cqlFilter });\r\n }\r\n }\r\n }\r\n\r\n destroy() {\r\n this.map.removeLayer(this.layer);\r\n }\r\n\r\n clearFeatures() {\r\n this.source && this.source.clear();\r\n }\r\n\r\n setUrlLayerData(val) {\r\n this.getUrlData(val).then(features => {\r\n if (features && features.length) {\r\n let view = this.map.getView();\r\n this.source.addFeatures(features);\r\n if (view) {\r\n view.fit(this.source.getExtent(), {\r\n maxZoom: 20,\r\n duration: 500,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n getUrlData(req) {\r\n // codes 符合条件的数据变量集合,\r\n let { url, params, data: _data, codes = [], fileValue = 'code', type = 'point' } =\r\n req || {};\r\n let request = http.get;\r\n let data = params;\r\n if (req.method === 'POST') {\r\n request = http.post;\r\n data = _data;\r\n }\r\n return request(url, { body: { ...data } })\r\n .then(res => {\r\n let features = [];\r\n if (String(res?.result) && res?.data) {\r\n if (type === 'point') {\r\n res.data.map(item => {\r\n const { geometryInfo } = item;\r\n const { lngLats = '' } = geometryInfo || {};\r\n let lngLat = [];\r\n if (lngLats) {\r\n lngLat = lngLats.split(',');\r\n }\r\n if (lngLat[0] && lngLat[1] && codes.includes(item[fileValue])) {\r\n features.push(\r\n new Feature({\r\n geometry: new Point([Number(lngLat[0]), Number(lngLat[1])]),\r\n properties: { ...item },\r\n type,\r\n }),\r\n );\r\n }\r\n });\r\n }\r\n }\r\n features.map(v => {\r\n v.key = this.key;\r\n });\r\n return features;\r\n })\r\n .catch(() => []);\r\n }\r\n\r\n loadData(data) {\r\n this.clearFeatures();\r\n let res = createFeatureCollection(Array.isArray(data) ? data : [data]);\r\n let features = geoJsonFormat.readFeatures(res);\r\n this.source.addFeatures(features);\r\n }\r\n setLayerData(params) {\r\n this.clearSelectFeature();\r\n this.clearFeatures();\r\n let val = {\r\n service: 'WFS',\r\n version: '1.0.0',\r\n request: 'GetFeature',\r\n maxFeatures: 99999,\r\n outputFormat: 'application/json',\r\n typeName: this.layerName,\r\n layers: this.layerName,\r\n QUERY_LAYERS: this.layerName,\r\n cql_filter: this.cql_filter,\r\n ...params,\r\n };\r\n return this.getLayerData(this.url || val.url, val).then(features => {\r\n if (features?.length) {\r\n this.source.addFeatures(features);\r\n if (this.fit) {\r\n this.map.getView().fit(this.source.getExtent(), {\r\n maxZoom: 20,\r\n duration: 500,\r\n });\r\n }\r\n }\r\n\r\n return features;\r\n });\r\n }\r\n\r\n getLayerData(url, params) {\r\n let paramsNew = cloneDeep(params);\r\n if (this.layer.encrypt) {\r\n paramsNew = encryptParams(paramsNew, this.layer.encrypt);\r\n } else {\r\n paramsNew = encryptParamsByUrl(paramsNew);\r\n }\r\n return http.get(url, { body: paramsNew }).then(response => {\r\n let features;\r\n if (response?.features?.length) {\r\n const geoJsonFormat = new GeoJSON();\r\n features = geoJsonFormat.readFeatures(response);\r\n features?.map(v => {\r\n v.key = this.key;\r\n });\r\n }\r\n\r\n return features;\r\n });\r\n }\r\n\r\n setCenterByCode(code, style, field) {\r\n this.clearSelectFeature();\r\n let features = this.source.getFeatures();\r\n\r\n // 查询字段\r\n let fieldCode = field || this.field || 'code';\r\n let feature = features.find(\r\n v => (v.get(fieldCode) || v.get('properties')?.[fieldCode]) === code,\r\n );\r\n\r\n if (feature) {\r\n feature.setStyle();\r\n this.map.getView().fit(feature.values_.geometry.getExtent(), {\r\n maxZoom: 18,\r\n duration: 500,\r\n });\r\n\r\n this.setSelectFeature(feature, style);\r\n } else {\r\n message.warning('地图上未查询到该数据,请检查是否配置坐标信息!');\r\n }\r\n }\r\n\r\n clearSelectFeature() {\r\n if (this.selectFeature) {\r\n this.selectFeature.setStyle();\r\n this.selectFeature = null;\r\n }\r\n }\r\n\r\n setSelectFeature(feature, style) {\r\n if (feature) {\r\n let styleArr = [\r\n new Style({\r\n image: new CircleStyle({\r\n radius: 7,\r\n fill: new Fill({\r\n color: '#2491fc',\r\n }),\r\n stroke: new Stroke({\r\n color: '#FFFFFF',\r\n width: 2,\r\n }),\r\n }),\r\n fill: new Fill({\r\n color: '#2491fc',\r\n }),\r\n stroke: new Stroke({\r\n color: '#2491fc',\r\n width: 4,\r\n }),\r\n }),\r\n ];\r\n\r\n if (typeof style === 'function') {\r\n let _style = style(feature);\r\n if (Array.isArray(_style) && _style?.length) styleArr.push(..._style);\r\n }\r\n this.selectFeature = feature;\r\n this.selectFeature.setStyle(styleArr);\r\n }\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _layer = require("ol/layer");
|
|
8
|
+
var _source = require("ol/source");
|
|
9
|
+
var _Style = _interopRequireDefault(require("ol/style/Style"));
|
|
10
|
+
var _Stroke = _interopRequireDefault(require("ol/style/Stroke"));
|
|
11
|
+
var _transform = require("ol/transform");
|
|
12
|
+
var _createFeatureCollection = require("../feature-layer/createFeatureCollection");
|
|
13
|
+
var _sampleArrowsAlongLine = require("./sampleArrowsAlongLine");
|
|
14
|
+
var _arrow = _interopRequireDefault(require("../assets/arrow.png"));
|
|
15
|
+
var _excluded = ["data", "features", "key", "name", "map", "lineStyle", "arrowStyle", "flowSpeed", "flowCycleSeconds", "minZoomForFlow", "maxArrowsPerLine", "zIndex", "show", "layerControl", "legend"];
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
17
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
18
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
19
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
20
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
21
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
22
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
23
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
24
|
+
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
25
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
26
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
27
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
28
|
+
var defaultLineStroke = {
|
|
29
|
+
color: 'rgba(36, 145, 252, 0.95)',
|
|
30
|
+
width: 3
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* 未配置 flowCycleSeconds 时:周期(秒) = BASE_CYCLE_SEC / flowSpeed,flowSpeed 越大越快。
|
|
35
|
+
*/
|
|
36
|
+
var DEFAULT_BASE_CYCLE_SEC = 6;
|
|
37
|
+
var DEFAULT_FLOW_SPEED = 1;
|
|
38
|
+
|
|
39
|
+
/** 流动刷新间隔(ms),整图 render 上限约 1000/此值 fps;略大更省性能 */
|
|
40
|
+
var DEFAULT_FLOW_RENDER_MS = 33;
|
|
41
|
+
|
|
42
|
+
/** 未传 src 时与 PathLineLayer 共用 arrow.png;src 为 null / '' 则仅用 Canvas 描边箭头 */
|
|
43
|
+
function resolveArrowBitmapSrc(arrowStyle) {
|
|
44
|
+
if (!arrowStyle) {
|
|
45
|
+
return _arrow["default"];
|
|
46
|
+
}
|
|
47
|
+
var s = arrowStyle.src;
|
|
48
|
+
if (s === null || s === '') {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
if (s === undefined) {
|
|
52
|
+
return _arrow["default"];
|
|
53
|
+
}
|
|
54
|
+
return s;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/** Canvas 描边「>」形,圆角端点与连接,形态对齐 components/assets/arrow.png */
|
|
58
|
+
function drawChevronArrow(ctx, color, headLen, headWidth, lineW, strokeWidthOpt) {
|
|
59
|
+
var strokeW = strokeWidthOpt != null ? strokeWidthOpt : lineW >= 1.5 ? lineW : Math.max(2.25, headWidth * 0.52);
|
|
60
|
+
var tipX = headLen * 0.88;
|
|
61
|
+
var backX = -headLen * 0.38;
|
|
62
|
+
var wingY = headWidth * 0.52;
|
|
63
|
+
ctx.strokeStyle = color;
|
|
64
|
+
ctx.lineWidth = strokeW;
|
|
65
|
+
ctx.lineCap = 'round';
|
|
66
|
+
ctx.lineJoin = 'round';
|
|
67
|
+
ctx.beginPath();
|
|
68
|
+
ctx.moveTo(backX, -wingY);
|
|
69
|
+
ctx.lineTo(tipX, 0);
|
|
70
|
+
ctx.lineTo(backX, wingY);
|
|
71
|
+
ctx.stroke();
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* 轨迹箭头流动图层(组合模式,对齐 FlyLineLayer):
|
|
76
|
+
* 内部为标准 ol VectorLayer,避免「继承 VectorLayer」在部分环境下与 OL 渲染路径不一致;
|
|
77
|
+
* OL 在 replay 为空时会跳过 postRender,普通矢量线图层与 FlyLine 一致可稳定触发 postrender。
|
|
78
|
+
*/
|
|
79
|
+
var ArrowFlowLayer = exports["default"] = /*#__PURE__*/function () {
|
|
80
|
+
function ArrowFlowLayer(options) {
|
|
81
|
+
var _ref, _arrowStyle$spacingPx;
|
|
82
|
+
_classCallCheck(this, ArrowFlowLayer);
|
|
83
|
+
var data = options.data,
|
|
84
|
+
features = options.features,
|
|
85
|
+
key = options.key,
|
|
86
|
+
name = options.name,
|
|
87
|
+
map = options.map,
|
|
88
|
+
_options$lineStyle = options.lineStyle,
|
|
89
|
+
lineStyle = _options$lineStyle === void 0 ? {} : _options$lineStyle,
|
|
90
|
+
_options$arrowStyle = options.arrowStyle,
|
|
91
|
+
arrowStyle = _options$arrowStyle === void 0 ? {} : _options$arrowStyle,
|
|
92
|
+
flowSpeedOption = options.flowSpeed,
|
|
93
|
+
flowCycleSecondsOption = options.flowCycleSeconds,
|
|
94
|
+
minZoomForFlowOption = options.minZoomForFlow,
|
|
95
|
+
_options$maxArrowsPer = options.maxArrowsPerLine,
|
|
96
|
+
maxArrowsPerLine = _options$maxArrowsPer === void 0 ? 500 : _options$maxArrowsPer,
|
|
97
|
+
zIndex = options.zIndex,
|
|
98
|
+
_options$show = options.show,
|
|
99
|
+
show = _options$show === void 0 ? true : _options$show,
|
|
100
|
+
_options$layerControl = options.layerControl,
|
|
101
|
+
layerControl = _options$layerControl === void 0 ? true : _options$layerControl,
|
|
102
|
+
legend = options.legend,
|
|
103
|
+
rest = _objectWithoutProperties(options, _excluded);
|
|
104
|
+
var source = new _source.Vector(features ? {
|
|
105
|
+
features: features
|
|
106
|
+
} : {});
|
|
107
|
+
this.vectorLayer = new _layer.Vector(_objectSpread(_objectSpread({}, rest), {}, {
|
|
108
|
+
source: source,
|
|
109
|
+
style: new _Style["default"]({
|
|
110
|
+
stroke: new _Stroke["default"](_objectSpread(_objectSpread({}, defaultLineStroke), lineStyle))
|
|
111
|
+
}),
|
|
112
|
+
zIndex: zIndex,
|
|
113
|
+
updateWhileAnimating: true,
|
|
114
|
+
updateWhileInteracting: true
|
|
115
|
+
}));
|
|
116
|
+
this.vectorLayer.key = key;
|
|
117
|
+
this.vectorLayer.name = name;
|
|
118
|
+
this.vectorLayer.layerControl = layerControl;
|
|
119
|
+
this.vectorLayer.legend = legend;
|
|
120
|
+
this.vectorLayer.show = show;
|
|
121
|
+
this.key = key;
|
|
122
|
+
this.name = name;
|
|
123
|
+
this.map = map;
|
|
124
|
+
this.layerControl = layerControl;
|
|
125
|
+
this.legend = legend;
|
|
126
|
+
this.show = show;
|
|
127
|
+
this._lineStyleOptions = lineStyle;
|
|
128
|
+
this._arrowStyle = arrowStyle;
|
|
129
|
+
this.maxArrowsPerLine = maxArrowsPerLine;
|
|
130
|
+
this.spacingPx = (_ref = (_arrowStyle$spacingPx = arrowStyle.spacingPx) !== null && _arrowStyle$spacingPx !== void 0 ? _arrowStyle$spacingPx : arrowStyle.spacing) !== null && _ref !== void 0 ? _ref : 80;
|
|
131
|
+
this.flowSpeed = arrowStyle.flowSpeed != null ? arrowStyle.flowSpeed : flowSpeedOption != null ? flowSpeedOption : DEFAULT_FLOW_SPEED;
|
|
132
|
+
this._flowPerfOrigin = null;
|
|
133
|
+
this.flowCycleSeconds = arrowStyle.flowCycleSeconds != null ? arrowStyle.flowCycleSeconds : flowCycleSecondsOption != null ? flowCycleSecondsOption : null;
|
|
134
|
+
this.flowRenderMinIntervalMs = arrowStyle.flowRenderMinIntervalMs != null ? arrowStyle.flowRenderMinIntervalMs : DEFAULT_FLOW_RENDER_MS;
|
|
135
|
+
this.minZoomForFlow = arrowStyle.minZoomForFlow != null ? arrowStyle.minZoomForFlow : minZoomForFlowOption != null ? minZoomForFlowOption : null;
|
|
136
|
+
this._flowDriverId = null;
|
|
137
|
+
this._onViewResolutionChange = this._syncFlowDriverToZoom.bind(this);
|
|
138
|
+
if (this.map) {
|
|
139
|
+
var view = this.map.getView();
|
|
140
|
+
if (view) {
|
|
141
|
+
view.on('change:resolution', this._onViewResolutionChange);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
this._arrowImage = null;
|
|
145
|
+
this._arrowImageSrc = null;
|
|
146
|
+
this._onPostRender = this.onPostRender.bind(this);
|
|
147
|
+
this.vectorLayer.on('postrender', this._onPostRender);
|
|
148
|
+
this._loadArrowImageFromStyle(arrowStyle);
|
|
149
|
+
if (data) {
|
|
150
|
+
this.loadData(data);
|
|
151
|
+
}
|
|
152
|
+
this.vectorLayer.setVisible(show);
|
|
153
|
+
this._syncFlowDriverToZoom();
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/** 当前缩放是否达到展示流动箭头的层级(未配置阈值则始终为 true) */
|
|
157
|
+
return _createClass(ArrowFlowLayer, [{
|
|
158
|
+
key: "_flowZoomSufficient",
|
|
159
|
+
value: function _flowZoomSufficient() {
|
|
160
|
+
if (this.minZoomForFlow == null) {
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
var view = this.map && this.map.getView();
|
|
164
|
+
if (!view) {
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
var z = view.getZoom();
|
|
168
|
+
if (z == null || Number.isNaN(z)) {
|
|
169
|
+
return true;
|
|
170
|
+
}
|
|
171
|
+
return z >= this.minZoomForFlow;
|
|
172
|
+
}
|
|
173
|
+
}, {
|
|
174
|
+
key: "_shouldRunFlowDriver",
|
|
175
|
+
value: function _shouldRunFlowDriver() {
|
|
176
|
+
return this.show && this.vectorLayer.getVisible() && this._flowZoomSufficient();
|
|
177
|
+
}
|
|
178
|
+
}, {
|
|
179
|
+
key: "_syncFlowDriverToZoom",
|
|
180
|
+
value: function _syncFlowDriverToZoom() {
|
|
181
|
+
if (this._shouldRunFlowDriver()) {
|
|
182
|
+
this._startFlowDriver();
|
|
183
|
+
} else {
|
|
184
|
+
this._stopFlowDriver();
|
|
185
|
+
if (this.map && this.show && this.vectorLayer.getVisible()) {
|
|
186
|
+
this.map.render();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}, {
|
|
191
|
+
key: "_startFlowDriver",
|
|
192
|
+
value: function _startFlowDriver() {
|
|
193
|
+
var _this = this;
|
|
194
|
+
if (this._flowDriverId != null || !this.map) {
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
if (!this._shouldRunFlowDriver()) {
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
if (this.vectorLayer.getVisible()) {
|
|
201
|
+
this.map.render();
|
|
202
|
+
}
|
|
203
|
+
this._flowDriverId = setInterval(function () {
|
|
204
|
+
if (!_this._shouldRunFlowDriver()) {
|
|
205
|
+
_this._stopFlowDriver();
|
|
206
|
+
if (_this.map && _this.show && _this.vectorLayer.getVisible()) {
|
|
207
|
+
_this.map.render();
|
|
208
|
+
}
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
_this.map.render();
|
|
212
|
+
}, this.flowRenderMinIntervalMs);
|
|
213
|
+
}
|
|
214
|
+
}, {
|
|
215
|
+
key: "_stopFlowDriver",
|
|
216
|
+
value: function _stopFlowDriver() {
|
|
217
|
+
if (this._flowDriverId != null) {
|
|
218
|
+
clearInterval(this._flowDriverId);
|
|
219
|
+
this._flowDriverId = null;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}, {
|
|
223
|
+
key: "_restartFlowDriver",
|
|
224
|
+
value: function _restartFlowDriver() {
|
|
225
|
+
this._stopFlowDriver();
|
|
226
|
+
this._syncFlowDriverToZoom();
|
|
227
|
+
}
|
|
228
|
+
}, {
|
|
229
|
+
key: "getSource",
|
|
230
|
+
value: function getSource() {
|
|
231
|
+
return this.vectorLayer.getSource();
|
|
232
|
+
}
|
|
233
|
+
}, {
|
|
234
|
+
key: "setVisible",
|
|
235
|
+
value: function setVisible(value) {
|
|
236
|
+
this.vectorLayer.setVisible(value);
|
|
237
|
+
}
|
|
238
|
+
}, {
|
|
239
|
+
key: "getVisible",
|
|
240
|
+
value: function getVisible() {
|
|
241
|
+
return this.vectorLayer.getVisible();
|
|
242
|
+
}
|
|
243
|
+
}, {
|
|
244
|
+
key: "_loadArrowImageFromStyle",
|
|
245
|
+
value: function _loadArrowImageFromStyle(arrowStyle) {
|
|
246
|
+
var _this2 = this;
|
|
247
|
+
var src = resolveArrowBitmapSrc(arrowStyle || {});
|
|
248
|
+
if (!src) {
|
|
249
|
+
this._arrowImage = null;
|
|
250
|
+
this._arrowImageSrc = null;
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
if (src === this._arrowImageSrc) {
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
this._arrowImageSrc = src;
|
|
257
|
+
this._arrowImage = null;
|
|
258
|
+
var img = new Image();
|
|
259
|
+
img.crossOrigin = 'anonymous';
|
|
260
|
+
img.onload = function () {
|
|
261
|
+
_this2._arrowImage = img;
|
|
262
|
+
if (_this2.map) {
|
|
263
|
+
_this2.map.render();
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
img.onerror = function () {
|
|
267
|
+
_this2._arrowImage = null;
|
|
268
|
+
};
|
|
269
|
+
img.src = src;
|
|
270
|
+
}
|
|
271
|
+
}, {
|
|
272
|
+
key: "setShow",
|
|
273
|
+
value: function setShow(value) {
|
|
274
|
+
this.show = value;
|
|
275
|
+
this.vectorLayer.show = value;
|
|
276
|
+
this.vectorLayer.setVisible(value);
|
|
277
|
+
if (!value) {
|
|
278
|
+
this._flowPerfOrigin = null;
|
|
279
|
+
this._stopFlowDriver();
|
|
280
|
+
} else {
|
|
281
|
+
this._syncFlowDriverToZoom();
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}, {
|
|
285
|
+
key: "setLineStyle",
|
|
286
|
+
value: function setLineStyle(lineStyle) {
|
|
287
|
+
this._lineStyleOptions = lineStyle || {};
|
|
288
|
+
this.vectorLayer.setStyle(new _Style["default"]({
|
|
289
|
+
stroke: new _Stroke["default"](_objectSpread(_objectSpread({}, defaultLineStroke), this._lineStyleOptions))
|
|
290
|
+
}));
|
|
291
|
+
}
|
|
292
|
+
}, {
|
|
293
|
+
key: "setArrowStyle",
|
|
294
|
+
value: function setArrowStyle(arrowStyle) {
|
|
295
|
+
this._arrowStyle = arrowStyle || {};
|
|
296
|
+
if (arrowStyle) {
|
|
297
|
+
if (arrowStyle.spacingPx != null || arrowStyle.spacing != null) {
|
|
298
|
+
var _ref2, _arrowStyle$spacingPx2;
|
|
299
|
+
this.spacingPx = (_ref2 = (_arrowStyle$spacingPx2 = arrowStyle.spacingPx) !== null && _arrowStyle$spacingPx2 !== void 0 ? _arrowStyle$spacingPx2 : arrowStyle.spacing) !== null && _ref2 !== void 0 ? _ref2 : this.spacingPx;
|
|
300
|
+
}
|
|
301
|
+
if (arrowStyle.flowSpeed != null) {
|
|
302
|
+
this.flowSpeed = arrowStyle.flowSpeed;
|
|
303
|
+
}
|
|
304
|
+
if (arrowStyle.flowCycleSeconds !== undefined) {
|
|
305
|
+
this.flowCycleSeconds = arrowStyle.flowCycleSeconds;
|
|
306
|
+
}
|
|
307
|
+
if (arrowStyle.flowRenderMinIntervalMs != null) {
|
|
308
|
+
this.flowRenderMinIntervalMs = arrowStyle.flowRenderMinIntervalMs;
|
|
309
|
+
this._restartFlowDriver();
|
|
310
|
+
}
|
|
311
|
+
if (arrowStyle.minZoomForFlow !== undefined) {
|
|
312
|
+
this.minZoomForFlow = arrowStyle.minZoomForFlow;
|
|
313
|
+
this._syncFlowDriverToZoom();
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
this._loadArrowImageFromStyle(arrowStyle || {});
|
|
317
|
+
}
|
|
318
|
+
}, {
|
|
319
|
+
key: "loadData",
|
|
320
|
+
value: function loadData(data) {
|
|
321
|
+
this.getSource().clear();
|
|
322
|
+
var fs = (0, _createFeatureCollection.createGeoJson)(data);
|
|
323
|
+
if (fs && fs.length) {
|
|
324
|
+
this.getSource().addFeatures(fs);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}, {
|
|
328
|
+
key: "loadFeatures",
|
|
329
|
+
value: function loadFeatures(featureList) {
|
|
330
|
+
this.getSource().clear();
|
|
331
|
+
if (featureList && featureList.length) {
|
|
332
|
+
this.getSource().addFeatures(featureList);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}, {
|
|
336
|
+
key: "onPostRender",
|
|
337
|
+
value: function onPostRender(event) {
|
|
338
|
+
var _as$headLength, _as$headWidth, _as$lineWidth;
|
|
339
|
+
var ctx = event.context;
|
|
340
|
+
if (!ctx || typeof ctx.save !== 'function') {
|
|
341
|
+
return;
|
|
342
|
+
}
|
|
343
|
+
if (!this.vectorLayer.getVisible()) {
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
if (!this._flowZoomSufficient()) {
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
var frameState = event.frameState;
|
|
350
|
+
if (!frameState || !frameState.viewState) {
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
var resolution = frameState.viewState.resolution;
|
|
354
|
+
var extent = frameState.extent;
|
|
355
|
+
var stepWorld = this.spacingPx * resolution;
|
|
356
|
+
if (stepWorld <= 0) {
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
if (this._flowPerfOrigin == null) {
|
|
360
|
+
this._flowPerfOrigin = performance.now();
|
|
361
|
+
}
|
|
362
|
+
var elapsedMs = performance.now() - this._flowPerfOrigin;
|
|
363
|
+
var cycleSec;
|
|
364
|
+
if (this.flowCycleSeconds != null && this.flowCycleSeconds > 0) {
|
|
365
|
+
cycleSec = this.flowCycleSeconds;
|
|
366
|
+
} else {
|
|
367
|
+
cycleSec = DEFAULT_BASE_CYCLE_SEC / Math.max(0.05, this.flowSpeed);
|
|
368
|
+
}
|
|
369
|
+
var phase = elapsedMs / 1000 % cycleSec / cycleSec * stepWorld;
|
|
370
|
+
var transform = (0, _transform.multiply)(event.inversePixelTransform.slice(), frameState.coordinateToPixelTransform.slice());
|
|
371
|
+
var as = this._arrowStyle || {};
|
|
372
|
+
var color = as.color || '#ffffff';
|
|
373
|
+
var headLen = (_as$headLength = as.headLength) !== null && _as$headLength !== void 0 ? _as$headLength : 10;
|
|
374
|
+
var headWidth = (_as$headWidth = as.headWidth) !== null && _as$headWidth !== void 0 ? _as$headWidth : 7;
|
|
375
|
+
var lineW = (_as$lineWidth = as.lineWidth) !== null && _as$lineWidth !== void 0 ? _as$lineWidth : 1;
|
|
376
|
+
var strokeWidth = as.strokeWidth;
|
|
377
|
+
var opacity = as.opacity != null ? as.opacity : 1;
|
|
378
|
+
var bitmapSrc = resolveArrowBitmapSrc(as);
|
|
379
|
+
var imgScale = as.scale != null ? as.scale : 1;
|
|
380
|
+
var imgWidth = as.imgWidth;
|
|
381
|
+
var imgHeight = as.imgHeight;
|
|
382
|
+
ctx.save();
|
|
383
|
+
ctx.globalAlpha = opacity;
|
|
384
|
+
var features = this.getSource().getFeatures();
|
|
385
|
+
for (var fi = 0; fi < features.length; fi++) {
|
|
386
|
+
var geom = features[fi].getGeometry();
|
|
387
|
+
var lines = (0, _sampleArrowsAlongLine.flattenLineStrings)(geom);
|
|
388
|
+
for (var li = 0; li < lines.length; li++) {
|
|
389
|
+
var line = lines[li];
|
|
390
|
+
var samples = (0, _sampleArrowsAlongLine.sampleArrowsForLineString)(line, extent, {
|
|
391
|
+
stepWorld: stepWorld,
|
|
392
|
+
phase: phase,
|
|
393
|
+
maxArrows: this.maxArrowsPerLine
|
|
394
|
+
});
|
|
395
|
+
for (var si = 0; si < samples.length; si++) {
|
|
396
|
+
var s = samples[si];
|
|
397
|
+
var angle = (0, _sampleArrowsAlongLine.getPixelAngle)(transform, s.c0, s.c1);
|
|
398
|
+
var pt = s.coord.slice();
|
|
399
|
+
(0, _transform.apply)(transform, pt);
|
|
400
|
+
var x = pt[0];
|
|
401
|
+
var y = pt[1];
|
|
402
|
+
if (bitmapSrc && this._arrowImage && this._arrowImage.complete) {
|
|
403
|
+
var w = (imgWidth || this._arrowImage.width) * imgScale;
|
|
404
|
+
var h = (imgHeight || this._arrowImage.height) * imgScale;
|
|
405
|
+
ctx.save();
|
|
406
|
+
ctx.translate(x, y);
|
|
407
|
+
ctx.rotate(angle);
|
|
408
|
+
ctx.drawImage(this._arrowImage, -w / 2, -h / 2, w, h);
|
|
409
|
+
ctx.restore();
|
|
410
|
+
} else if (!bitmapSrc) {
|
|
411
|
+
ctx.save();
|
|
412
|
+
ctx.translate(x, y);
|
|
413
|
+
ctx.rotate(angle);
|
|
414
|
+
drawChevronArrow(ctx, color, headLen, headWidth, lineW, strokeWidth);
|
|
415
|
+
ctx.restore();
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
ctx.restore();
|
|
421
|
+
// 不在此处 map.render():会与定时器叠加重绘整图。由 _startFlowDriver 按 flowRenderMinIntervalMs 触发 render。
|
|
422
|
+
}
|
|
423
|
+
}, {
|
|
424
|
+
key: "destroy",
|
|
425
|
+
value: function destroy() {
|
|
426
|
+
this._stopFlowDriver();
|
|
427
|
+
this._flowPerfOrigin = null;
|
|
428
|
+
if (this.map) {
|
|
429
|
+
var view = this.map.getView();
|
|
430
|
+
if (view) {
|
|
431
|
+
view.un('change:resolution', this._onViewResolutionChange);
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
this.vectorLayer.un('postrender', this._onPostRender);
|
|
435
|
+
}
|
|
436
|
+
}]);
|
|
437
|
+
}();
|
|
438
|
+
//# sourceMappingURL=ArrowFlowLayer.js.map
|