@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArrowFlowLayer.js","names":["_layer","require","_source","_Style","_interopRequireDefault","_Stroke","_transform","_createFeatureCollection","_sampleArrowsAlongLine","_arrow","_excluded","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","call","hasOwnProperty","_classCallCheck","a","TypeError","_defineProperties","key","_createClass","_toPrimitive","toPrimitive","String","Number","defaultLineStroke","color","width","DEFAULT_BASE_CYCLE_SEC","DEFAULT_FLOW_SPEED","DEFAULT_FLOW_RENDER_MS","resolveArrowBitmapSrc","arrowStyle","defaultArrowSrc","s","src","undefined","drawChevronArrow","ctx","headLen","headWidth","lineW","strokeWidthOpt","strokeW","Math","max","tipX","backX","wingY","strokeStyle","lineWidth","lineCap","lineJoin","beginPath","moveTo","lineTo","stroke","ArrowFlowLayer","exports","options","_ref","_arrowStyle$spacingPx","data","features","name","map","_options$lineStyle","lineStyle","_options$arrowStyle","flowSpeedOption","flowSpeed","flowCycleSecondsOption","flowCycleSeconds","minZoomForFlowOption","minZoomForFlow","_options$maxArrowsPer","maxArrowsPerLine","zIndex","_options$show","show","_options$layerControl","layerControl","legend","rest","source","VectorSource","vectorLayer","VectorLayer","style","Style","Stroke","updateWhileAnimating","updateWhileInteracting","_lineStyleOptions","_arrowStyle","spacingPx","spacing","_flowPerfOrigin","flowRenderMinIntervalMs","_flowDriverId","_onViewResolutionChange","_syncFlowDriverToZoom","bind","view","getView","on","_arrowImage","_arrowImageSrc","_onPostRender","onPostRender","_loadArrowImageFromStyle","loadData","setVisible","_flowZoomSufficient","z","getZoom","isNaN","_shouldRunFlowDriver","getVisible","_startFlowDriver","_stopFlowDriver","render","_this","setInterval","clearInterval","_restartFlowDriver","getSource","_this2","img","Image","crossOrigin","onload","onerror","setShow","setLineStyle","setStyle","setArrowStyle","_ref2","_arrowStyle$spacingPx2","clear","fs","createGeoJson","addFeatures","loadFeatures","featureList","event","_as$headLength","_as$headWidth","_as$lineWidth","context","save","frameState","viewState","resolution","extent","stepWorld","performance","now","elapsedMs","cycleSec","phase","transform","multiply","inversePixelTransform","slice","coordinateToPixelTransform","as","headLength","strokeWidth","opacity","bitmapSrc","imgScale","scale","imgWidth","imgHeight","globalAlpha","getFeatures","fi","geom","getGeometry","lines","flattenLineStrings","li","line","samples","sampleArrowsForLineString","maxArrows","si","angle","getPixelAngle","c0","c1","pt","coord","x","y","complete","w","h","height","translate","rotate","drawImage","restore","destroy","un"],"sources":["arrow-flow-layer/ArrowFlowLayer.js"],"sourcesContent":["import { Vector as VectorLayer } from 'ol/layer';\r\nimport { Vector as VectorSource } from 'ol/source';\r\nimport Style from 'ol/style/Style';\r\nimport Stroke from 'ol/style/Stroke';\r\nimport { multiply, apply } from 'ol/transform';\r\nimport { createGeoJson } from '../feature-layer/createFeatureCollection';\r\nimport {\r\n flattenLineStrings,\r\n sampleArrowsForLineString,\r\n getPixelAngle,\r\n} from './sampleArrowsAlongLine';\r\nimport defaultArrowSrc from '../assets/arrow.png';\r\n\r\nconst defaultLineStroke = {\r\n color: 'rgba(36, 145, 252, 0.95)',\r\n width: 3,\r\n};\r\n\r\n/**\r\n * 未配置 flowCycleSeconds 时:周期(秒) = BASE_CYCLE_SEC / flowSpeed,flowSpeed 越大越快。\r\n */\r\nconst DEFAULT_BASE_CYCLE_SEC = 6;\r\n\r\nconst DEFAULT_FLOW_SPEED = 1;\r\n\r\n/** 流动刷新间隔(ms),整图 render 上限约 1000/此值 fps;略大更省性能 */\r\nconst DEFAULT_FLOW_RENDER_MS = 33;\r\n\r\n/** 未传 src 时与 PathLineLayer 共用 arrow.png;src 为 null / '' 则仅用 Canvas 描边箭头 */\r\nfunction resolveArrowBitmapSrc(arrowStyle) {\r\n if (!arrowStyle) {\r\n return defaultArrowSrc;\r\n }\r\n const s = arrowStyle.src;\r\n if (s === null || s === '') {\r\n return null;\r\n }\r\n if (s === undefined) {\r\n return defaultArrowSrc;\r\n }\r\n return s;\r\n}\r\n\r\n/** Canvas 描边「>」形,圆角端点与连接,形态对齐 components/assets/arrow.png */\r\nfunction drawChevronArrow(ctx, color, headLen, headWidth, lineW, strokeWidthOpt) {\r\n const strokeW =\r\n strokeWidthOpt != null\r\n ? strokeWidthOpt\r\n : lineW >= 1.5\r\n ? lineW\r\n : Math.max(2.25, headWidth * 0.52);\r\n const tipX = headLen * 0.88;\r\n const backX = -headLen * 0.38;\r\n const wingY = headWidth * 0.52;\r\n ctx.strokeStyle = color;\r\n ctx.lineWidth = strokeW;\r\n ctx.lineCap = 'round';\r\n ctx.lineJoin = 'round';\r\n ctx.beginPath();\r\n ctx.moveTo(backX, -wingY);\r\n ctx.lineTo(tipX, 0);\r\n ctx.lineTo(backX, wingY);\r\n ctx.stroke();\r\n}\r\n\r\n/**\r\n * 轨迹箭头流动图层(组合模式,对齐 FlyLineLayer):\r\n * 内部为标准 ol VectorLayer,避免「继承 VectorLayer」在部分环境下与 OL 渲染路径不一致;\r\n * OL 在 replay 为空时会跳过 postRender,普通矢量线图层与 FlyLine 一致可稳定触发 postrender。\r\n */\r\nexport default class ArrowFlowLayer {\r\n constructor(options) {\r\n const {\r\n data,\r\n features,\r\n key,\r\n name,\r\n map,\r\n lineStyle = {},\r\n arrowStyle = {},\r\n flowSpeed: flowSpeedOption,\r\n flowCycleSeconds: flowCycleSecondsOption,\r\n minZoomForFlow: minZoomForFlowOption,\r\n maxArrowsPerLine = 500,\r\n zIndex,\r\n show = true,\r\n layerControl = true,\r\n legend,\r\n ...rest\r\n } = options;\r\n\r\n const source = new VectorSource(features ? { features } : {});\r\n\r\n this.vectorLayer = new VectorLayer({\r\n ...rest,\r\n source,\r\n style: new Style({\r\n stroke: new Stroke({\r\n ...defaultLineStroke,\r\n ...lineStyle,\r\n }),\r\n }),\r\n zIndex,\r\n updateWhileAnimating: true,\r\n updateWhileInteracting: true,\r\n });\r\n\r\n this.vectorLayer.key = key;\r\n this.vectorLayer.name = name;\r\n this.vectorLayer.layerControl = layerControl;\r\n this.vectorLayer.legend = legend;\r\n this.vectorLayer.show = show;\r\n\r\n this.key = key;\r\n this.name = name;\r\n this.map = map;\r\n this.layerControl = layerControl;\r\n this.legend = legend;\r\n this.show = show;\r\n\r\n this._lineStyleOptions = lineStyle;\r\n this._arrowStyle = arrowStyle;\r\n this.maxArrowsPerLine = maxArrowsPerLine;\r\n this.spacingPx = arrowStyle.spacingPx ?? arrowStyle.spacing ?? 80;\r\n this.flowSpeed =\r\n arrowStyle.flowSpeed != null\r\n ? arrowStyle.flowSpeed\r\n : flowSpeedOption != null\r\n ? flowSpeedOption\r\n : DEFAULT_FLOW_SPEED;\r\n\r\n this._flowPerfOrigin = null;\r\n\r\n this.flowCycleSeconds =\r\n arrowStyle.flowCycleSeconds != null\r\n ? arrowStyle.flowCycleSeconds\r\n : flowCycleSecondsOption != null\r\n ? flowCycleSecondsOption\r\n : null;\r\n\r\n this.flowRenderMinIntervalMs =\r\n arrowStyle.flowRenderMinIntervalMs != null\r\n ? arrowStyle.flowRenderMinIntervalMs\r\n : DEFAULT_FLOW_RENDER_MS;\r\n\r\n this.minZoomForFlow =\r\n arrowStyle.minZoomForFlow != null\r\n ? arrowStyle.minZoomForFlow\r\n : minZoomForFlowOption != null\r\n ? minZoomForFlowOption\r\n : null;\r\n\r\n this._flowDriverId = null;\r\n\r\n this._onViewResolutionChange = this._syncFlowDriverToZoom.bind(this);\r\n if (this.map) {\r\n const view = this.map.getView();\r\n if (view) {\r\n view.on('change:resolution', this._onViewResolutionChange);\r\n }\r\n }\r\n\r\n this._arrowImage = null;\r\n this._arrowImageSrc = null;\r\n\r\n this._onPostRender = this.onPostRender.bind(this);\r\n this.vectorLayer.on('postrender', this._onPostRender);\r\n\r\n this._loadArrowImageFromStyle(arrowStyle);\r\n\r\n if (data) {\r\n this.loadData(data);\r\n }\r\n this.vectorLayer.setVisible(show);\r\n this._syncFlowDriverToZoom();\r\n }\r\n\r\n /** 当前缩放是否达到展示流动箭头的层级(未配置阈值则始终为 true) */\r\n _flowZoomSufficient() {\r\n if (this.minZoomForFlow == null) {\r\n return true;\r\n }\r\n const view = this.map && this.map.getView();\r\n if (!view) {\r\n return true;\r\n }\r\n const z = view.getZoom();\r\n if (z == null || Number.isNaN(z)) {\r\n return true;\r\n }\r\n return z >= this.minZoomForFlow;\r\n }\r\n\r\n _shouldRunFlowDriver() {\r\n return (\r\n this.show &&\r\n this.vectorLayer.getVisible() &&\r\n this._flowZoomSufficient()\r\n );\r\n }\r\n\r\n _syncFlowDriverToZoom() {\r\n if (this._shouldRunFlowDriver()) {\r\n this._startFlowDriver();\r\n } else {\r\n this._stopFlowDriver();\r\n if (this.map && this.show && this.vectorLayer.getVisible()) {\r\n this.map.render();\r\n }\r\n }\r\n }\r\n\r\n _startFlowDriver() {\r\n if (this._flowDriverId != null || !this.map) {\r\n return;\r\n }\r\n if (!this._shouldRunFlowDriver()) {\r\n return;\r\n }\r\n if (this.vectorLayer.getVisible()) {\r\n this.map.render();\r\n }\r\n this._flowDriverId = setInterval(() => {\r\n if (!this._shouldRunFlowDriver()) {\r\n this._stopFlowDriver();\r\n if (this.map && this.show && this.vectorLayer.getVisible()) {\r\n this.map.render();\r\n }\r\n return;\r\n }\r\n this.map.render();\r\n }, this.flowRenderMinIntervalMs);\r\n }\r\n\r\n _stopFlowDriver() {\r\n if (this._flowDriverId != null) {\r\n clearInterval(this._flowDriverId);\r\n this._flowDriverId = null;\r\n }\r\n }\r\n\r\n _restartFlowDriver() {\r\n this._stopFlowDriver();\r\n this._syncFlowDriverToZoom();\r\n }\r\n\r\n getSource() {\r\n return this.vectorLayer.getSource();\r\n }\r\n\r\n setVisible(value) {\r\n this.vectorLayer.setVisible(value);\r\n }\r\n\r\n getVisible() {\r\n return this.vectorLayer.getVisible();\r\n }\r\n\r\n _loadArrowImageFromStyle(arrowStyle) {\r\n const src = resolveArrowBitmapSrc(arrowStyle || {});\r\n if (!src) {\r\n this._arrowImage = null;\r\n this._arrowImageSrc = null;\r\n return;\r\n }\r\n if (src === this._arrowImageSrc) {\r\n return;\r\n }\r\n this._arrowImageSrc = src;\r\n this._arrowImage = null;\r\n const img = new Image();\r\n img.crossOrigin = 'anonymous';\r\n img.onload = () => {\r\n this._arrowImage = img;\r\n if (this.map) {\r\n this.map.render();\r\n }\r\n };\r\n img.onerror = () => {\r\n this._arrowImage = null;\r\n };\r\n img.src = src;\r\n }\r\n\r\n setShow(value) {\r\n this.show = value;\r\n this.vectorLayer.show = value;\r\n this.vectorLayer.setVisible(value);\r\n if (!value) {\r\n this._flowPerfOrigin = null;\r\n this._stopFlowDriver();\r\n } else {\r\n this._syncFlowDriverToZoom();\r\n }\r\n }\r\n\r\n setLineStyle(lineStyle) {\r\n this._lineStyleOptions = lineStyle || {};\r\n this.vectorLayer.setStyle(\r\n new Style({\r\n stroke: new Stroke({\r\n ...defaultLineStroke,\r\n ...this._lineStyleOptions,\r\n }),\r\n }),\r\n );\r\n }\r\n\r\n setArrowStyle(arrowStyle) {\r\n this._arrowStyle = arrowStyle || {};\r\n if (arrowStyle) {\r\n if (arrowStyle.spacingPx != null || arrowStyle.spacing != null) {\r\n this.spacingPx = arrowStyle.spacingPx ?? arrowStyle.spacing ?? this.spacingPx;\r\n }\r\n if (arrowStyle.flowSpeed != null) {\r\n this.flowSpeed = arrowStyle.flowSpeed;\r\n }\r\n if (arrowStyle.flowCycleSeconds !== undefined) {\r\n this.flowCycleSeconds = arrowStyle.flowCycleSeconds;\r\n }\r\n if (arrowStyle.flowRenderMinIntervalMs != null) {\r\n this.flowRenderMinIntervalMs = arrowStyle.flowRenderMinIntervalMs;\r\n this._restartFlowDriver();\r\n }\r\n if (arrowStyle.minZoomForFlow !== undefined) {\r\n this.minZoomForFlow = arrowStyle.minZoomForFlow;\r\n this._syncFlowDriverToZoom();\r\n }\r\n }\r\n this._loadArrowImageFromStyle(arrowStyle || {});\r\n }\r\n\r\n loadData(data) {\r\n this.getSource().clear();\r\n const fs = createGeoJson(data);\r\n if (fs && fs.length) {\r\n this.getSource().addFeatures(fs);\r\n }\r\n }\r\n\r\n loadFeatures(featureList) {\r\n this.getSource().clear();\r\n if (featureList && featureList.length) {\r\n this.getSource().addFeatures(featureList);\r\n }\r\n }\r\n\r\n onPostRender(event) {\r\n const ctx = event.context;\r\n if (!ctx || typeof ctx.save !== 'function') {\r\n return;\r\n }\r\n if (!this.vectorLayer.getVisible()) {\r\n return;\r\n }\r\n if (!this._flowZoomSufficient()) {\r\n return;\r\n }\r\n\r\n const frameState = event.frameState;\r\n if (!frameState || !frameState.viewState) {\r\n return;\r\n }\r\n\r\n const resolution = frameState.viewState.resolution;\r\n const extent = frameState.extent;\r\n const stepWorld = this.spacingPx * resolution;\r\n if (stepWorld <= 0) {\r\n return;\r\n }\r\n\r\n if (this._flowPerfOrigin == null) {\r\n this._flowPerfOrigin = performance.now();\r\n }\r\n const elapsedMs = performance.now() - this._flowPerfOrigin;\r\n let cycleSec;\r\n if (this.flowCycleSeconds != null && this.flowCycleSeconds > 0) {\r\n cycleSec = this.flowCycleSeconds;\r\n } else {\r\n cycleSec = DEFAULT_BASE_CYCLE_SEC / Math.max(0.05, this.flowSpeed);\r\n }\r\n const phase = (((elapsedMs / 1000) % cycleSec) / cycleSec) * stepWorld;\r\n\r\n const transform = multiply(\r\n event.inversePixelTransform.slice(),\r\n frameState.coordinateToPixelTransform.slice(),\r\n );\r\n\r\n const as = this._arrowStyle || {};\r\n const color = as.color || '#ffffff';\r\n const headLen = as.headLength ?? 10;\r\n const headWidth = as.headWidth ?? 7;\r\n const lineW = as.lineWidth ?? 1;\r\n const strokeWidth = as.strokeWidth;\r\n const opacity = as.opacity != null ? as.opacity : 1;\r\n const bitmapSrc = resolveArrowBitmapSrc(as);\r\n const imgScale = as.scale != null ? as.scale : 1;\r\n const imgWidth = as.imgWidth;\r\n const imgHeight = as.imgHeight;\r\n\r\n ctx.save();\r\n ctx.globalAlpha = opacity;\r\n\r\n const features = this.getSource().getFeatures();\r\n for (let fi = 0; fi < features.length; fi++) {\r\n const geom = features[fi].getGeometry();\r\n const lines = flattenLineStrings(geom);\r\n for (let li = 0; li < lines.length; li++) {\r\n const line = lines[li];\r\n const samples = sampleArrowsForLineString(line, extent, {\r\n stepWorld,\r\n phase,\r\n maxArrows: this.maxArrowsPerLine,\r\n });\r\n for (let si = 0; si < samples.length; si++) {\r\n const s = samples[si];\r\n const angle = getPixelAngle(transform, s.c0, s.c1);\r\n const pt = s.coord.slice();\r\n apply(transform, pt);\r\n const x = pt[0];\r\n const y = pt[1];\r\n\r\n if (\r\n bitmapSrc &&\r\n this._arrowImage &&\r\n this._arrowImage.complete\r\n ) {\r\n const w = (imgWidth || this._arrowImage.width) * imgScale;\r\n const h = (imgHeight || this._arrowImage.height) * imgScale;\r\n ctx.save();\r\n ctx.translate(x, y);\r\n ctx.rotate(angle);\r\n ctx.drawImage(this._arrowImage, -w / 2, -h / 2, w, h);\r\n ctx.restore();\r\n } else if (!bitmapSrc) {\r\n ctx.save();\r\n ctx.translate(x, y);\r\n ctx.rotate(angle);\r\n drawChevronArrow(\r\n ctx,\r\n color,\r\n headLen,\r\n headWidth,\r\n lineW,\r\n strokeWidth,\r\n );\r\n ctx.restore();\r\n }\r\n }\r\n }\r\n }\r\n\r\n ctx.restore();\r\n // 不在此处 map.render():会与定时器叠加重绘整图。由 _startFlowDriver 按 flowRenderMinIntervalMs 触发 render。\r\n }\r\n\r\n destroy() {\r\n this._stopFlowDriver();\r\n this._flowPerfOrigin = null;\r\n if (this.map) {\r\n const view = this.map.getView();\r\n if (view) {\r\n view.un('change:resolution', this._onViewResolutionChange);\r\n }\r\n }\r\n this.vectorLayer.un('postrender', this._onPostRender);\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
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); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = ArrowFlowLayerComponent;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _ArrowFlowLayer = _interopRequireDefault(require("./ArrowFlowLayer"));
|
|
10
|
+
var _ahooks = require("ahooks");
|
|
11
|
+
var _events = require("../events");
|
|
12
|
+
var _useProps2 = _interopRequireDefault(require("../use-props"));
|
|
13
|
+
var _provider = _interopRequireDefault(require("../provider"));
|
|
14
|
+
var _excluded = ["data", "features", "zIndex", "id", "_key", "name", "show", "legend", "lineStyle", "arrowStyle", "flowSpeed", "flowCycleSeconds", "minZoomForFlow", "maxArrowsPerLine", "layerControl", "children"];
|
|
15
|
+
/* eslint-disable react/prop-types */
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
17
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
18
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
19
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
20
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
21
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
22
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
23
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
24
|
+
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; }
|
|
25
|
+
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; }
|
|
26
|
+
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; }
|
|
27
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
28
|
+
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); }
|
|
29
|
+
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; }
|
|
30
|
+
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; }
|
|
31
|
+
function ArrowFlowLayerComponent(props) {
|
|
32
|
+
var data = props.data,
|
|
33
|
+
features = props.features,
|
|
34
|
+
zIndex = props.zIndex,
|
|
35
|
+
key = props.id,
|
|
36
|
+
_key = props._key,
|
|
37
|
+
name = props.name,
|
|
38
|
+
_props$show = props.show,
|
|
39
|
+
show = _props$show === void 0 ? true : _props$show,
|
|
40
|
+
legend = props.legend,
|
|
41
|
+
_props$lineStyle = props.lineStyle,
|
|
42
|
+
lineStyle = _props$lineStyle === void 0 ? {} : _props$lineStyle,
|
|
43
|
+
_props$arrowStyle = props.arrowStyle,
|
|
44
|
+
arrowStyle = _props$arrowStyle === void 0 ? {} : _props$arrowStyle,
|
|
45
|
+
flowSpeed = props.flowSpeed,
|
|
46
|
+
flowCycleSeconds = props.flowCycleSeconds,
|
|
47
|
+
minZoomForFlow = props.minZoomForFlow,
|
|
48
|
+
maxArrowsPerLine = props.maxArrowsPerLine,
|
|
49
|
+
_props$layerControl = props.layerControl,
|
|
50
|
+
layerControl = _props$layerControl === void 0 ? true : _props$layerControl,
|
|
51
|
+
children = props.children,
|
|
52
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
53
|
+
var mergedArrowStyle = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, arrowStyle), flowSpeed != null && arrowStyle.flowSpeed == null ? {
|
|
54
|
+
flowSpeed: flowSpeed
|
|
55
|
+
} : {}), flowCycleSeconds != null && arrowStyle.flowCycleSeconds == null ? {
|
|
56
|
+
flowCycleSeconds: flowCycleSeconds
|
|
57
|
+
} : {}), minZoomForFlow != null && arrowStyle.minZoomForFlow == null ? {
|
|
58
|
+
minZoomForFlow: minZoomForFlow
|
|
59
|
+
} : {});
|
|
60
|
+
var _useState = (0, _react.useState)(false),
|
|
61
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
62
|
+
layerLoad = _useState2[0],
|
|
63
|
+
setLayerLoad = _useState2[1];
|
|
64
|
+
var _useProps = (0, _useProps2["default"])(),
|
|
65
|
+
map = _useProps.map,
|
|
66
|
+
groupLayer = _useProps.groupLayer;
|
|
67
|
+
var layerRef = (0, _react.useRef)();
|
|
68
|
+
(0, _react.useEffect)(function () {
|
|
69
|
+
var layer = new _ArrowFlowLayer["default"](_objectSpread({
|
|
70
|
+
data: data,
|
|
71
|
+
features: features,
|
|
72
|
+
zIndex: zIndex,
|
|
73
|
+
key: key || _key,
|
|
74
|
+
name: name,
|
|
75
|
+
show: show,
|
|
76
|
+
legend: legend,
|
|
77
|
+
map: map,
|
|
78
|
+
lineStyle: lineStyle,
|
|
79
|
+
arrowStyle: mergedArrowStyle,
|
|
80
|
+
flowSpeed: flowSpeed,
|
|
81
|
+
flowCycleSeconds: flowCycleSeconds,
|
|
82
|
+
minZoomForFlow: minZoomForFlow,
|
|
83
|
+
maxArrowsPerLine: maxArrowsPerLine,
|
|
84
|
+
layerControl: layerControl
|
|
85
|
+
}, rest));
|
|
86
|
+
(0, _events.registerEventLayer)(layer, props);
|
|
87
|
+
setLayerLoad(true);
|
|
88
|
+
if (groupLayer) {
|
|
89
|
+
groupLayer.addLayer(layer);
|
|
90
|
+
} else {
|
|
91
|
+
map.layers.addLayer(layer);
|
|
92
|
+
}
|
|
93
|
+
layerRef.current = layer;
|
|
94
|
+
return function () {
|
|
95
|
+
layer.destroy();
|
|
96
|
+
if (groupLayer) {
|
|
97
|
+
groupLayer.removeLayer(layer);
|
|
98
|
+
} else {
|
|
99
|
+
map.layers.removeLayer(layer);
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
}, []);
|
|
103
|
+
(0, _ahooks.useUpdateEffect)(function () {
|
|
104
|
+
if (layerRef.current && data) {
|
|
105
|
+
layerRef.current.loadData(data);
|
|
106
|
+
}
|
|
107
|
+
}, [data]);
|
|
108
|
+
(0, _ahooks.useUpdateEffect)(function () {
|
|
109
|
+
if (layerRef.current && features) {
|
|
110
|
+
layerRef.current.loadFeatures(features);
|
|
111
|
+
}
|
|
112
|
+
}, [features]);
|
|
113
|
+
(0, _ahooks.useUpdateEffect)(function () {
|
|
114
|
+
if (layerRef.current) {
|
|
115
|
+
layerRef.current.setShow(show);
|
|
116
|
+
}
|
|
117
|
+
}, [show]);
|
|
118
|
+
(0, _ahooks.useUpdateEffect)(function () {
|
|
119
|
+
if (layerRef.current && lineStyle) {
|
|
120
|
+
layerRef.current.setLineStyle(lineStyle);
|
|
121
|
+
}
|
|
122
|
+
}, [JSON.stringify(lineStyle)]);
|
|
123
|
+
(0, _ahooks.useUpdateEffect)(function () {
|
|
124
|
+
if (layerRef.current) {
|
|
125
|
+
layerRef.current.setArrowStyle(mergedArrowStyle);
|
|
126
|
+
}
|
|
127
|
+
}, [JSON.stringify(mergedArrowStyle)]);
|
|
128
|
+
(0, _ahooks.useUpdateEffect)(function () {
|
|
129
|
+
if (layerRef.current && maxArrowsPerLine != null) {
|
|
130
|
+
layerRef.current.maxArrowsPerLine = maxArrowsPerLine;
|
|
131
|
+
}
|
|
132
|
+
}, [maxArrowsPerLine]);
|
|
133
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, layerLoad && /*#__PURE__*/_react["default"].createElement(_provider["default"], {
|
|
134
|
+
value: {
|
|
135
|
+
map: map,
|
|
136
|
+
featureLayer: layerRef.current.vectorLayer
|
|
137
|
+
}
|
|
138
|
+
}, children));
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_ArrowFlowLayer","_interopRequireDefault","_ahooks","_events","_useProps2","_provider","_excluded","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","isArray","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","_toPrimitive","toPrimitive","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","ArrowFlowLayerComponent","props","data","features","zIndex","key","id","_key","_props$show","show","legend","_props$lineStyle","lineStyle","_props$arrowStyle","arrowStyle","flowSpeed","flowCycleSeconds","minZoomForFlow","maxArrowsPerLine","_props$layerControl","layerControl","children","rest","mergedArrowStyle","_useState","useState","_useState2","layerLoad","setLayerLoad","_useProps","useProps","map","groupLayer","layerRef","useRef","useEffect","layer","ArrowFlowLayer","registerEventLayer","addLayer","layers","current","destroy","removeLayer","useUpdateEffect","loadData","loadFeatures","setShow","setLineStyle","JSON","stringify","setArrowStyle","createElement","Fragment","featureLayer","vectorLayer"],"sources":["arrow-flow-layer/index.js"],"sourcesContent":["/* eslint-disable react/prop-types */\r\nimport React, { useState, useRef, useEffect } from 'react';\r\nimport ArrowFlowLayer from './ArrowFlowLayer';\r\nimport { useUpdateEffect } from 'ahooks';\r\nimport { registerEventLayer } from '../events';\r\nimport useProps from '../use-props';\r\nimport Provider from '../provider';\r\n\r\nexport default function ArrowFlowLayerComponent(props) {\r\n const {\r\n data,\r\n features,\r\n zIndex,\r\n id: key,\r\n _key,\r\n name,\r\n show = true,\r\n legend,\r\n lineStyle = {},\r\n arrowStyle = {},\r\n flowSpeed,\r\n flowCycleSeconds,\r\n minZoomForFlow,\r\n maxArrowsPerLine,\r\n layerControl = true,\r\n children,\r\n ...rest\r\n } = props;\r\n\r\n const mergedArrowStyle = {\r\n ...arrowStyle,\r\n ...(flowSpeed != null && arrowStyle.flowSpeed == null ? { flowSpeed } : {}),\r\n ...(flowCycleSeconds != null && arrowStyle.flowCycleSeconds == null\r\n ? { flowCycleSeconds }\r\n : {}),\r\n ...(minZoomForFlow != null && arrowStyle.minZoomForFlow == null\r\n ? { minZoomForFlow }\r\n : {}),\r\n };\r\n const [layerLoad, setLayerLoad] = useState(false);\r\n const { map, groupLayer } = useProps();\r\n const layerRef = useRef();\r\n\r\n useEffect(() => {\r\n const layer = new ArrowFlowLayer({\r\n data,\r\n features,\r\n zIndex,\r\n key: key || _key,\r\n name,\r\n show,\r\n legend,\r\n map,\r\n lineStyle,\r\n arrowStyle: mergedArrowStyle,\r\n flowSpeed,\r\n flowCycleSeconds,\r\n minZoomForFlow,\r\n maxArrowsPerLine,\r\n layerControl,\r\n ...rest,\r\n });\r\n\r\n registerEventLayer(layer, props);\r\n\r\n setLayerLoad(true);\r\n\r\n if (groupLayer) {\r\n groupLayer.addLayer(layer);\r\n } else {\r\n map.layers.addLayer(layer);\r\n }\r\n\r\n layerRef.current = layer;\r\n\r\n return () => {\r\n layer.destroy();\r\n if (groupLayer) {\r\n groupLayer.removeLayer(layer);\r\n } else {\r\n map.layers.removeLayer(layer);\r\n }\r\n };\r\n }, []);\r\n\r\n useUpdateEffect(() => {\r\n if (layerRef.current && data) {\r\n layerRef.current.loadData(data);\r\n }\r\n }, [data]);\r\n\r\n useUpdateEffect(() => {\r\n if (layerRef.current && features) {\r\n layerRef.current.loadFeatures(features);\r\n }\r\n }, [features]);\r\n\r\n useUpdateEffect(() => {\r\n if (layerRef.current) {\r\n layerRef.current.setShow(show);\r\n }\r\n }, [show]);\r\n\r\n useUpdateEffect(() => {\r\n if (layerRef.current && lineStyle) {\r\n layerRef.current.setLineStyle(lineStyle);\r\n }\r\n }, [JSON.stringify(lineStyle)]);\r\n\r\n useUpdateEffect(() => {\r\n if (layerRef.current) {\r\n layerRef.current.setArrowStyle(mergedArrowStyle);\r\n }\r\n }, [JSON.stringify(mergedArrowStyle)]);\r\n\r\n useUpdateEffect(() => {\r\n if (layerRef.current && maxArrowsPerLine != null) {\r\n layerRef.current.maxArrowsPerLine = maxArrowsPerLine;\r\n }\r\n }, [maxArrowsPerLine]);\r\n\r\n return (\r\n <>\r\n {layerLoad && (\r\n <Provider\r\n value={{\r\n map,\r\n featureLayer: layerRef.current.vectorLayer,\r\n }}\r\n >\r\n {children}\r\n </Provider>\r\n )}\r\n </>\r\n );\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.flattenLineStrings = flattenLineStrings;
|
|
7
|
+
exports.getPixelAngle = getPixelAngle;
|
|
8
|
+
exports.sampleArrowsForLineString = sampleArrowsForLineString;
|
|
9
|
+
var _transform = require("ol/transform");
|
|
10
|
+
/**
|
|
11
|
+
* 将线几何拆成若干 LineString(MultiLineString 按段独立采样,避免跨段插值)。
|
|
12
|
+
* @param {import('ol/geom').Geometry} geometry
|
|
13
|
+
* @returns {import('ol/geom/LineString').default[]}
|
|
14
|
+
*/
|
|
15
|
+
function flattenLineStrings(geometry) {
|
|
16
|
+
if (!geometry) return [];
|
|
17
|
+
var t = geometry.getType();
|
|
18
|
+
if (t === 'LineString') {
|
|
19
|
+
return [geometry];
|
|
20
|
+
}
|
|
21
|
+
if (t === 'MultiLineString') {
|
|
22
|
+
return geometry.getLineStrings();
|
|
23
|
+
}
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* 沿一条 LineString 按弧长等距采样箭头位置;step 可被 maxArrows 放大以控性能。
|
|
29
|
+
* @param {import('ol/geom/LineString').default} lineString
|
|
30
|
+
* @param {import('ol/extent').Extent} extent 当前帧范围,用于裁剪
|
|
31
|
+
* @param {{ stepWorld: number, phase: number, maxArrows: number }} opts
|
|
32
|
+
* @returns {Array<{ coord: number[], frac: number }>}
|
|
33
|
+
*/
|
|
34
|
+
function sampleArrowsForLineString(lineString, extent, opts) {
|
|
35
|
+
var stepWorld = opts.stepWorld,
|
|
36
|
+
phase = opts.phase,
|
|
37
|
+
maxArrows = opts.maxArrows;
|
|
38
|
+
if (!lineString.intersectsExtent(extent)) {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
var len = lineString.getLength();
|
|
42
|
+
if (len <= 0) {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
var step = stepWorld;
|
|
46
|
+
var count = Math.ceil(len / step);
|
|
47
|
+
if (count > maxArrows) {
|
|
48
|
+
step = len / maxArrows;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// 流动相位:短线(弧长 < 一个屏幕间距)时把相位映射到 [0,len),否则 phaseMod 常 ≥ len 导致无采样
|
|
52
|
+
var phaseNorm = (phase % stepWorld + stepWorld) % stepWorld;
|
|
53
|
+
var phaseMod = len > 0 && len < stepWorld ? phaseNorm / stepWorld * len : phaseNorm;
|
|
54
|
+
var samples = [];
|
|
55
|
+
var eps = 1e-6;
|
|
56
|
+
for (var d = phaseMod; d < len; d += step) {
|
|
57
|
+
var frac = d / len;
|
|
58
|
+
var coord = lineString.getCoordinateAt(frac);
|
|
59
|
+
var f0 = Math.max(0, frac - eps);
|
|
60
|
+
var f1 = Math.min(1, frac + eps);
|
|
61
|
+
var c0 = lineString.getCoordinateAt(f0);
|
|
62
|
+
var c1 = lineString.getCoordinateAt(f1);
|
|
63
|
+
samples.push({
|
|
64
|
+
coord: coord.slice(),
|
|
65
|
+
frac: frac,
|
|
66
|
+
c0: c0.slice(),
|
|
67
|
+
c1: c1.slice()
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return samples;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* 在像素空间计算箭头朝向(与地图旋转一致)。
|
|
75
|
+
* @param {import('ol/transform').Transform} transform inversePixel * coordinateToPixel
|
|
76
|
+
* @param {number[]} c0 地图坐标
|
|
77
|
+
* @param {number[]} c1 地图坐标
|
|
78
|
+
* @returns {number}
|
|
79
|
+
*/
|
|
80
|
+
function getPixelAngle(transform, c0, c1) {
|
|
81
|
+
var p0 = [c0[0], c0[1]];
|
|
82
|
+
var p1 = [c1[0], c1[1]];
|
|
83
|
+
(0, _transform.apply)(transform, p0);
|
|
84
|
+
(0, _transform.apply)(transform, p1);
|
|
85
|
+
return Math.atan2(p1[1] - p0[1], p1[0] - p0[0]);
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=sampleArrowsAlongLine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sampleArrowsAlongLine.js","names":["_transform","require","flattenLineStrings","geometry","t","getType","getLineStrings","sampleArrowsForLineString","lineString","extent","opts","stepWorld","phase","maxArrows","intersectsExtent","len","getLength","step","count","Math","ceil","phaseNorm","phaseMod","samples","eps","d","frac","coord","getCoordinateAt","f0","max","f1","min","c0","c1","push","slice","getPixelAngle","transform","p0","p1","apply","atan2"],"sources":["arrow-flow-layer/sampleArrowsAlongLine.js"],"sourcesContent":["import { apply } from 'ol/transform';\r\n\r\n/**\r\n * 将线几何拆成若干 LineString(MultiLineString 按段独立采样,避免跨段插值)。\r\n * @param {import('ol/geom').Geometry} geometry\r\n * @returns {import('ol/geom/LineString').default[]}\r\n */\r\nexport function flattenLineStrings(geometry) {\r\n if (!geometry) return [];\r\n const t = geometry.getType();\r\n if (t === 'LineString') {\r\n return [geometry];\r\n }\r\n if (t === 'MultiLineString') {\r\n return geometry.getLineStrings();\r\n }\r\n return [];\r\n}\r\n\r\n/**\r\n * 沿一条 LineString 按弧长等距采样箭头位置;step 可被 maxArrows 放大以控性能。\r\n * @param {import('ol/geom/LineString').default} lineString\r\n * @param {import('ol/extent').Extent} extent 当前帧范围,用于裁剪\r\n * @param {{ stepWorld: number, phase: number, maxArrows: number }} opts\r\n * @returns {Array<{ coord: number[], frac: number }>}\r\n */\r\nexport function sampleArrowsForLineString(lineString, extent, opts) {\r\n const { stepWorld, phase, maxArrows } = opts;\r\n if (!lineString.intersectsExtent(extent)) {\r\n return [];\r\n }\r\n const len = lineString.getLength();\r\n if (len <= 0) {\r\n return [];\r\n }\r\n\r\n let step = stepWorld;\r\n const count = Math.ceil(len / step);\r\n if (count > maxArrows) {\r\n step = len / maxArrows;\r\n }\r\n\r\n // 流动相位:短线(弧长 < 一个屏幕间距)时把相位映射到 [0,len),否则 phaseMod 常 ≥ len 导致无采样\r\n const phaseNorm = ((phase % stepWorld) + stepWorld) % stepWorld;\r\n const phaseMod =\r\n len > 0 && len < stepWorld ? (phaseNorm / stepWorld) * len : phaseNorm;\r\n const samples = [];\r\n const eps = 1e-6;\r\n\r\n for (let d = phaseMod; d < len; d += step) {\r\n const frac = d / len;\r\n const coord = lineString.getCoordinateAt(frac);\r\n const f0 = Math.max(0, frac - eps);\r\n const f1 = Math.min(1, frac + eps);\r\n const c0 = lineString.getCoordinateAt(f0);\r\n const c1 = lineString.getCoordinateAt(f1);\r\n samples.push({\r\n coord: coord.slice(),\r\n frac,\r\n c0: c0.slice(),\r\n c1: c1.slice(),\r\n });\r\n }\r\n\r\n return samples;\r\n}\r\n\r\n/**\r\n * 在像素空间计算箭头朝向(与地图旋转一致)。\r\n * @param {import('ol/transform').Transform} transform inversePixel * coordinateToPixel\r\n * @param {number[]} c0 地图坐标\r\n * @param {number[]} c1 地图坐标\r\n * @returns {number}\r\n */\r\nexport function getPixelAngle(transform, c0, c1) {\r\n const p0 = [c0[0], c0[1]];\r\n const p1 = [c1[0], c1[1]];\r\n apply(transform, p0);\r\n apply(transform, p1);\r\n return Math.atan2(p1[1] - p0[1], p1[0] - p0[0]);\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","names":["require"],"sources":["arrow-flow-layer/style/index.js"],"sourcesContent":["import './index.less';\r\n"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["require"],"sources":["arrow-flow-layer/style/index.js"],"sourcesContent":["import './index.less';\r\n"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
|
|
File without changes
|
|
@@ -95,7 +95,7 @@ var _default = exports["default"] = /*#__PURE__*/function () {
|
|
|
95
95
|
t.addCancelTextLayer(topRightCorner);
|
|
96
96
|
var distance = feature.get('distance');
|
|
97
97
|
t.distance = distance;
|
|
98
|
-
var text = Number(distance) < 1 ? Number(distance * 1000).toFixed(0) +
|
|
98
|
+
var text = Number(distance) < 1 ? Number(distance * 1000).toFixed(0) + _this.TextEnum.meter : Number(distance).toFixed(2) + _this.TextEnum.kilometer;
|
|
99
99
|
var drawFeature = t.source.getFeatures()[0].getGeometry();
|
|
100
100
|
var _getCoordinateAndType = getCoordinateAndType(drawFeature),
|
|
101
101
|
coordinates = _getCoordinateAndType.coordinates,
|
|
@@ -280,6 +280,7 @@ var _default = exports["default"] = /*#__PURE__*/function () {
|
|
|
280
280
|
var _options$isFit = options.isFit,
|
|
281
281
|
isFit = _options$isFit === void 0 ? true : _options$isFit;
|
|
282
282
|
this.map = options.map;
|
|
283
|
+
this.TextEnum = options.TextEnum;
|
|
283
284
|
this.cancelTextLayer = null;
|
|
284
285
|
this.drawTool = null;
|
|
285
286
|
this.modifyTool = null;
|
|
@@ -340,7 +341,7 @@ var _default = exports["default"] = /*#__PURE__*/function () {
|
|
|
340
341
|
// 创建文本 Feature
|
|
341
342
|
var cancelTextFeature = new _ol.Feature({
|
|
342
343
|
geometry: new _geom.Point(topRightCorner),
|
|
343
|
-
name:
|
|
344
|
+
name: this.TextEnum.cancelBoxSelect
|
|
344
345
|
});
|
|
345
346
|
cancelTextFeature.setId(CANCEL_TEXT_FEATURE_ID);
|
|
346
347
|
cancelTextFeature.onClick = function () {
|
|
@@ -351,7 +352,7 @@ var _default = exports["default"] = /*#__PURE__*/function () {
|
|
|
351
352
|
var style = new _style2.Style({
|
|
352
353
|
geometry: new _geom.Point(topRightCorner),
|
|
353
354
|
text: new _style2.Text({
|
|
354
|
-
text:
|
|
355
|
+
text: this.TextEnum.cancelBoxSelect,
|
|
355
356
|
font: '12px Calibri,sans-serif',
|
|
356
357
|
fill: new _style2.Fill({
|
|
357
358
|
color: '#0080FF'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BufferDraw.js","names":["_style2","require","_interaction","_geom","_source","_layer","_format","_ol","_condition","_turf","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_classCallCheck","a","n","TypeError","_defineProperties","configurable","writable","_toPropertyKey","key","_createClass","value","i","_toPrimitive","toPrimitive","call","String","Number","createBox","Draw","format","GeoJSON","getCoordinateAndType","geometry","coordinates","type","Point","getCoordinates","Polygon","LineString","Circle","flatCoordinates","getTopRightCorner","topRightCorner","coordinate","CANCEL_TEXT_FEATURE_ID","_default","exports","options","callback","_this","map","removeInteraction","drawTool","addInteractions","source","VectorSource","modifySource","style","Style","feature","modifyGeometry","get","getGeometry","fill","Fill","color","stroke","Stroke","width","vector","VectorLayer","zIndex","styles","addCancelTextLayer","distance","text","toFixed","drawFeature","getFeatures","_getCoordinateAndType","topRightCorner_modify","image","Icon","src","Text","font","backgroundFill","backgroundStroke","padding","justify","textBaseline","offsetX","modifyLayer","addLayer","defaultStyle","Modify","getOverlay","getStyleFunction","modify","maxDistance","condition","event","primaryAction","platformModifierKeyOnly","deleteCondition","never","insertVertexCondition","modifyFeature","point","_getCoordinateAndType2","from","TurfPoint","to","TurfDistance","units","setProperties","bufferFeature","getBufferFeature","on","features","set","clone","setGeometry","unset","_feature","isFit","fitView","addInteraction","modifyTool","draw","drawType","geometryFunction","onClear","addFeature","g","TurfPolygon","TurfLineString","center","getCenter","radius","getRadius","TurfCircle","buffered","TurfBuffer","readFeature","getView","fit","getExtent","maxZoom","duration","clear","_options$isFit","cancelTextLayer","showCancel","layer","CircleStyle","modifyInit","removeCancelTextLayer","removeLayer","_this2","cancelTextFeature","Feature","name","setId","onClick","drawInit","offsetY","setStyle","removeDrawTool","destroy","setActive","hideTip"],"sources":["buffer-draw/BufferDraw.js"],"sourcesContent":["import { Circle as CircleStyle, Fill, Stroke, Style, Text, Icon } from 'ol/style';\nimport { Draw, Modify } from 'ol/interaction';\nimport { Point, Polygon, LineString, Circle } from 'ol/geom';\nimport { Vector as VectorSource } from 'ol/source';\nimport { Vector as VectorLayer } from 'ol/layer';\nimport { GeoJSON } from 'ol/format';\nimport { Feature } from 'ol';\nimport { never, platformModifierKeyOnly, primaryAction } from 'ol/events/condition';\nimport {\n point as TurfPoint,\n distance as TurfDistance,\n polygon as TurfPolygon,\n lineString as TurfLineString,\n circle as TurfCircle,\n buffer as TurfBuffer,\n} from '@turf/turf';\n\nconst { createBox } = Draw;\nlet format = new GeoJSON();\n\nconst getCoordinateAndType = geometry => {\n let coordinates, type;\n if (geometry instanceof Point) {\n coordinates = [geometry.getCoordinates()];\n } else if (geometry instanceof Polygon) {\n coordinates = geometry.getCoordinates()[0];\n } else if (geometry instanceof LineString) {\n coordinates = geometry.getCoordinates();\n } else if (geometry instanceof Circle) {\n coordinates = geometry.flatCoordinates;\n type = 'circle';\n }\n return { coordinates, type };\n};\n\nconst getTopRightCorner = (coordinates, type) => {\n let topRightCorner = [0, 0];\n\n if (type === 'circle') {\n topRightCorner = [coordinates?.[0], coordinates?.[1]];\n } else {\n for (let i = 0; i < coordinates.length; i++) {\n let coordinate = coordinates[i];\n if (\n coordinate[0] > topRightCorner[0] ||\n (coordinate[0] === topRightCorner[0] && coordinate[1] < topRightCorner[1])\n ) {\n topRightCorner = coordinate;\n }\n }\n }\n\n return topRightCorner;\n};\n\nconst CANCEL_TEXT_FEATURE_ID = 'cancelTextFeatureKey';\n\nexport default class {\n constructor(options, callback) {\n const { isFit = true } = options;\n this.map = options.map;\n this.cancelTextLayer = null;\n this.drawTool = null;\n this.modifyTool = null;\n this.drawFeature = null;\n this.distance = 500;\n this.showCancel = options.showCancel;\n this.maxDistance = options.maxDistance;\n this.drawType = options.drawType;\n this.callback = callback;\n this.isFit = isFit;\n this.source = new VectorSource();\n this.layer = new VectorLayer({\n source: this.source,\n zIndex: 4,\n style: new Style({\n fill: new Fill({\n color: 'rgba(0,128,255, 0.7)',\n }),\n stroke: new Stroke({\n color: 'rgba(0,128,255, 0.7)',\n width: 2,\n }),\n image: new CircleStyle({\n radius: 6,\n fill: new Fill({\n // color: '#ffcc33',\n color: '#1890FF',\n }),\n stroke: new Stroke({\n color: '#FFF',\n width: 2,\n }),\n }),\n }),\n });\n this.map.addLayer(this.layer);\n\n this.modifySource = null;\n this.modifyLayer = null;\n\n this.modifyInit();\n }\n\n drawInit = () => {\n this.map.removeInteraction(this.drawTool);\n this.addInteractions();\n };\n\n removeCancelTextLayer() {\n if (this.cancelTextLayer) {\n this.map.removeLayer(this.cancelTextLayer);\n this.cancelTextLayer = null;\n }\n }\n\n addCancelTextLayer(topRightCorner) {\n if (!this.showCancel) {\n return;\n }\n\n this.removeCancelTextLayer();\n\n // 创建文本 Feature\n const cancelTextFeature = new Feature({\n geometry: new Point(topRightCorner),\n name: '取消框选',\n });\n\n cancelTextFeature.setId(CANCEL_TEXT_FEATURE_ID);\n\n cancelTextFeature.onClick = () => {\n this.onClear();\n this.drawInit();\n this.removeCancelTextLayer();\n };\n\n const style = new Style({\n geometry: new Point(topRightCorner),\n text: new Text({\n text: '取消框选',\n font: '12px Calibri,sans-serif',\n fill: new Fill({\n color: '#0080FF',\n }),\n backgroundFill: new Fill({\n color: '#FFF',\n }),\n backgroundStroke: new Stroke({\n color: '#FFF',\n width: 1,\n }),\n padding: [3, 2, 2, 4],\n justify: 'right',\n offsetX: 40,\n offsetY: 24,\n }),\n });\n cancelTextFeature.setStyle(style);\n\n this.cancelTextLayer = new VectorLayer({\n source: new VectorSource({\n features: [cancelTextFeature],\n }),\n });\n\n this.map.addLayer(this.cancelTextLayer);\n }\n\n modifyInit = () => {\n const t = this;\n const source = new VectorSource();\n this.modifySource = source;\n\n // 绘制完成的样式\n const style = new Style({\n geometry: function(feature) {\n const modifyGeometry = feature.get('modifyGeometry');\n return modifyGeometry ? modifyGeometry.geometry : feature.getGeometry();\n },\n fill: new Fill({\n color: 'rgba(0,128,255, 0.3)',\n }),\n stroke: new Stroke({\n color: 'rgba(0,128,255, 0.3)',\n width: 2,\n }),\n });\n\n const vector = new VectorLayer({\n source: this.modifySource,\n zIndex: 3,\n style: function(feature) {\n const styles = [style];\n const modifyGeometry = feature.get('modifyGeometry');\n const geometry = modifyGeometry ? modifyGeometry.geometry : feature.getGeometry();\n let topRightCorner = getTopRightCorner(geometry.getCoordinates()[0]);\n\n if (topRightCorner) {\n t.addCancelTextLayer(topRightCorner);\n let distance = feature.get('distance');\n t.distance = distance;\n let text =\n Number(distance) < 1\n ? Number(distance * 1000).toFixed(0) + '米'\n : Number(distance).toFixed(2) + '公里';\n\n let drawFeature = t.source.getFeatures()[0].getGeometry();\n let { coordinates, type } = getCoordinateAndType(drawFeature);\n let topRightCorner_modify = getTopRightCorner(coordinates, type);\n // 待带修改的样式\n styles.push(\n new Style({\n geometry: new LineString([topRightCorner, topRightCorner_modify]),\n stroke: new Stroke({\n color: '#0084FF',\n width: 2,\n }),\n }),\n );\n\n styles.push(\n new Style({\n geometry: new Point(topRightCorner),\n // 修改了点位的样式\n image: new Icon({\n src: require('../assets/kz.png'),\n }),\n // image: new CircleStyle({\n // radius: 6,\n // fill: new Fill({\n // color: '#0080FF',\n // }),\n // stroke: new Stroke({\n // color: '#FFF',\n // width: 2,\n // }),\n // }),\n text: new Text({\n text: text,\n font: '12px Calibri,sans-serif',\n fill: new Fill({\n color: '#FFF',\n }),\n backgroundFill: new Fill({\n color: '#0080FF',\n }),\n backgroundStroke: new Stroke({\n color: '#0080FF',\n width: 1,\n }),\n padding: [3, 2, 2, 4],\n justify: 'right',\n textBaseline: 'middle',\n offsetX: 40,\n }),\n }),\n );\n }\n\n return styles;\n },\n });\n this.modifyLayer = vector;\n this.map.addLayer(vector);\n\n const defaultStyle = new Modify({ source: this.modifySource })\n .getOverlay()\n .getStyleFunction();\n\n const modify = new Modify({\n source: this.modifySource,\n maxDistance: this.maxDistance,\n condition: function(event) {\n return primaryAction(event) && !platformModifierKeyOnly(event);\n },\n deleteCondition: never,\n insertVertexCondition: never,\n style: function(feature) {\n feature.get('features').forEach(function(modifyFeature) {\n const modifyGeometry = modifyFeature.get('modifyGeometry');\n if (modifyGeometry) {\n const point = feature.getGeometry().getCoordinates();\n\n const geometry = t.source.getFeatures()[0].getGeometry();\n let { coordinates, type } = getCoordinateAndType(geometry);\n let topRightCorner = getTopRightCorner(coordinates, type);\n\n let from = TurfPoint(point);\n let to = TurfPoint(topRightCorner);\n let distance = TurfDistance(from, to, { units: 'kilometers' });\n\n // 限制拖动长度\n if (t.maxDistance && distance && distance * 1000 > t.maxDistance) {\n modifyFeature.setProperties({ distance: t.maxDistance / 1000 });\n\n return defaultStyle(feature);\n }\n\n modifyFeature.setProperties({ distance: distance });\n\n let bufferFeature = t.getBufferFeature(t.source.getFeatures()[0], distance);\n modifyGeometry.geometry = bufferFeature.getGeometry();\n }\n });\n return defaultStyle(feature);\n },\n });\n\n modify.on('modifystart', function(event) {\n event.features.forEach(function(feature) {\n feature.set('modifyGeometry', { geometry: feature.getGeometry().clone() }, true);\n });\n });\n\n modify.on('modifyend', function(event) {\n event.features.forEach(function(feature) {\n const modifyGeometry = feature.get('modifyGeometry');\n if (modifyGeometry) {\n feature.setGeometry(modifyGeometry.geometry);\n feature.unset('modifyGeometry', true);\n t.drawFeature = feature;\n let _feature = feature?.clone();\n t.callback(_feature, t.distance * 1000);\n }\n t.isFit && t.fitView(feature);\n });\n });\n this.map.addInteraction(modify);\n this.modifyTool = modify;\n };\n\n addInteractions = () => {\n let t = this;\n const draw = new Draw({\n source: this.source,\n type: this.drawType,\n ...(this.drawType === 'DragBox'\n ? {\n type: 'Circle',\n // 用于在绘制过程中创建或修改几何对象。这个函数允许开发者自定义绘制逻辑,以满足特定的需求。如果未提供此函数,则使用默认的几何创建逻辑\n geometryFunction: createBox(),\n }\n : {}),\n });\n\n draw.on('drawstart', function() {\n t.onClear();\n });\n\n draw.on('drawend', function(event) {\n const distance = 500 / 1000;\n const feature = t.getBufferFeature(event.feature, distance);\n feature.setProperties({ distance: distance });\n t.modifySource.addFeature(feature);\n t.drawFeature = feature;\n let _feature = feature?.clone();\n t.callback(_feature, distance * 1000);\n t.isFit && t.fitView(feature);\n });\n\n this.map.addInteraction(draw);\n this.drawTool = draw;\n };\n\n getBufferFeature = (feature, distance) => {\n let coordinates = feature.getGeometry().getCoordinates();\n const g = feature.getGeometry();\n\n let geometry;\n if (g instanceof Point) {\n geometry = TurfPoint(coordinates);\n } else if (g instanceof Polygon) {\n geometry = TurfPolygon(coordinates);\n } else if (g instanceof LineString) {\n geometry = TurfLineString(coordinates);\n } else if (g instanceof Circle) {\n let center = g?.getCenter();\n let radius = g?.getRadius();\n this.distance = radius;\n geometry = TurfCircle(center, radius);\n }\n\n let buffered = TurfBuffer(geometry, distance, { units: 'kilometers' });\n\n return format.readFeature(buffered);\n };\n\n fitView = feature => {\n this.map.getView().fit(feature.getGeometry().getExtent(), {\n padding: [100, 400, 100, 400],\n maxZoom: 18,\n duration: 500,\n });\n };\n\n onClear = () => {\n this.source.clear();\n this.modifySource.clear();\n };\n\n removeDrawTool() {\n this.map.removeInteraction(this.drawTool);\n this.map.removeInteraction(this.modifyTool);\n }\n\n destroy() {\n this.map.removeLayer(this.layer);\n this.map.removeLayer(this.modifyLayer);\n this.removeCancelTextLayer();\n this.removeDrawTool();\n this.drawTool && this.drawTool.setActive(false);\n this.map.hideTip();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BufferDraw.js","names":["_style2","require","_interaction","_geom","_source","_layer","_format","_ol","_condition","_turf","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_classCallCheck","a","n","TypeError","_defineProperties","configurable","writable","_toPropertyKey","key","_createClass","value","i","_toPrimitive","toPrimitive","call","String","Number","createBox","Draw","format","GeoJSON","getCoordinateAndType","geometry","coordinates","type","Point","getCoordinates","Polygon","LineString","Circle","flatCoordinates","getTopRightCorner","topRightCorner","coordinate","CANCEL_TEXT_FEATURE_ID","_default","exports","options","callback","_this","map","removeInteraction","drawTool","addInteractions","source","VectorSource","modifySource","style","Style","feature","modifyGeometry","get","getGeometry","fill","Fill","color","stroke","Stroke","width","vector","VectorLayer","zIndex","styles","addCancelTextLayer","distance","text","toFixed","TextEnum","meter","kilometer","drawFeature","getFeatures","_getCoordinateAndType","topRightCorner_modify","image","Icon","src","Text","font","backgroundFill","backgroundStroke","padding","justify","textBaseline","offsetX","modifyLayer","addLayer","defaultStyle","Modify","getOverlay","getStyleFunction","modify","maxDistance","condition","event","primaryAction","platformModifierKeyOnly","deleteCondition","never","insertVertexCondition","modifyFeature","point","_getCoordinateAndType2","from","TurfPoint","to","TurfDistance","units","setProperties","bufferFeature","getBufferFeature","on","features","set","clone","setGeometry","unset","_feature","isFit","fitView","addInteraction","modifyTool","draw","drawType","geometryFunction","onClear","addFeature","g","TurfPolygon","TurfLineString","center","getCenter","radius","getRadius","TurfCircle","buffered","TurfBuffer","readFeature","getView","fit","getExtent","maxZoom","duration","clear","_options$isFit","cancelTextLayer","showCancel","layer","CircleStyle","modifyInit","removeCancelTextLayer","removeLayer","_this2","cancelTextFeature","Feature","name","cancelBoxSelect","setId","onClick","drawInit","offsetY","setStyle","removeDrawTool","destroy","setActive","hideTip"],"sources":["buffer-draw/BufferDraw.js"],"sourcesContent":["import { Circle as CircleStyle, Fill, Stroke, Style, Text, Icon } from 'ol/style';\r\nimport { Draw, Modify } from 'ol/interaction';\r\nimport { Point, Polygon, LineString, Circle } from 'ol/geom';\r\nimport { Vector as VectorSource } from 'ol/source';\r\nimport { Vector as VectorLayer } from 'ol/layer';\r\nimport { GeoJSON } from 'ol/format';\r\nimport { Feature } from 'ol';\r\nimport { never, platformModifierKeyOnly, primaryAction } from 'ol/events/condition';\r\nimport {\r\n point as TurfPoint,\r\n distance as TurfDistance,\r\n polygon as TurfPolygon,\r\n lineString as TurfLineString,\r\n circle as TurfCircle,\r\n buffer as TurfBuffer,\r\n} from '@turf/turf';\r\n\r\nconst { createBox } = Draw;\r\nlet format = new GeoJSON();\r\n\r\nconst getCoordinateAndType = geometry => {\r\n let coordinates, type;\r\n if (geometry instanceof Point) {\r\n coordinates = [geometry.getCoordinates()];\r\n } else if (geometry instanceof Polygon) {\r\n coordinates = geometry.getCoordinates()[0];\r\n } else if (geometry instanceof LineString) {\r\n coordinates = geometry.getCoordinates();\r\n } else if (geometry instanceof Circle) {\r\n coordinates = geometry.flatCoordinates;\r\n type = 'circle';\r\n }\r\n return { coordinates, type };\r\n};\r\n\r\nconst getTopRightCorner = (coordinates, type) => {\r\n let topRightCorner = [0, 0];\r\n\r\n if (type === 'circle') {\r\n topRightCorner = [coordinates?.[0], coordinates?.[1]];\r\n } else {\r\n for (let i = 0; i < coordinates.length; i++) {\r\n let coordinate = coordinates[i];\r\n if (\r\n coordinate[0] > topRightCorner[0] ||\r\n (coordinate[0] === topRightCorner[0] && coordinate[1] < topRightCorner[1])\r\n ) {\r\n topRightCorner = coordinate;\r\n }\r\n }\r\n }\r\n\r\n return topRightCorner;\r\n};\r\n\r\nconst CANCEL_TEXT_FEATURE_ID = 'cancelTextFeatureKey';\r\n\r\nexport default class {\r\n constructor(options, callback) {\r\n const { isFit = true } = options;\r\n this.map = options.map;\r\n this.TextEnum = options.TextEnum;\r\n this.cancelTextLayer = null;\r\n this.drawTool = null;\r\n this.modifyTool = null;\r\n this.drawFeature = null;\r\n this.distance = 500;\r\n this.showCancel = options.showCancel;\r\n this.maxDistance = options.maxDistance;\r\n this.drawType = options.drawType;\r\n this.callback = callback;\r\n this.isFit = isFit;\r\n this.source = new VectorSource();\r\n this.layer = new VectorLayer({\r\n source: this.source,\r\n zIndex: 4,\r\n style: new Style({\r\n fill: new Fill({\r\n color: 'rgba(0,128,255, 0.7)',\r\n }),\r\n stroke: new Stroke({\r\n color: 'rgba(0,128,255, 0.7)',\r\n width: 2,\r\n }),\r\n image: new CircleStyle({\r\n radius: 6,\r\n fill: new Fill({\r\n // color: '#ffcc33',\r\n color: '#1890FF',\r\n }),\r\n stroke: new Stroke({\r\n color: '#FFF',\r\n width: 2,\r\n }),\r\n }),\r\n }),\r\n });\r\n this.map.addLayer(this.layer);\r\n\r\n this.modifySource = null;\r\n this.modifyLayer = null;\r\n\r\n this.modifyInit();\r\n }\r\n\r\n drawInit = () => {\r\n this.map.removeInteraction(this.drawTool);\r\n this.addInteractions();\r\n };\r\n\r\n removeCancelTextLayer() {\r\n if (this.cancelTextLayer) {\r\n this.map.removeLayer(this.cancelTextLayer);\r\n this.cancelTextLayer = null;\r\n }\r\n }\r\n\r\n addCancelTextLayer(topRightCorner) {\r\n if (!this.showCancel) {\r\n return;\r\n }\r\n\r\n this.removeCancelTextLayer();\r\n\r\n // 创建文本 Feature\r\n const cancelTextFeature = new Feature({\r\n geometry: new Point(topRightCorner),\r\n name: this.TextEnum.cancelBoxSelect,\r\n });\r\n\r\n cancelTextFeature.setId(CANCEL_TEXT_FEATURE_ID);\r\n\r\n cancelTextFeature.onClick = () => {\r\n this.onClear();\r\n this.drawInit();\r\n this.removeCancelTextLayer();\r\n };\r\n\r\n const style = new Style({\r\n geometry: new Point(topRightCorner),\r\n text: new Text({\r\n text: this.TextEnum.cancelBoxSelect,\r\n font: '12px Calibri,sans-serif',\r\n fill: new Fill({\r\n color: '#0080FF',\r\n }),\r\n backgroundFill: new Fill({\r\n color: '#FFF',\r\n }),\r\n backgroundStroke: new Stroke({\r\n color: '#FFF',\r\n width: 1,\r\n }),\r\n padding: [3, 2, 2, 4],\r\n justify: 'right',\r\n offsetX: 40,\r\n offsetY: 24,\r\n }),\r\n });\r\n cancelTextFeature.setStyle(style);\r\n\r\n this.cancelTextLayer = new VectorLayer({\r\n source: new VectorSource({\r\n features: [cancelTextFeature],\r\n }),\r\n });\r\n\r\n this.map.addLayer(this.cancelTextLayer);\r\n }\r\n\r\n modifyInit = () => {\r\n const t = this;\r\n const source = new VectorSource();\r\n this.modifySource = source;\r\n\r\n // 绘制完成的样式\r\n const style = new Style({\r\n geometry: function (feature) {\r\n const modifyGeometry = feature.get('modifyGeometry');\r\n return modifyGeometry ? modifyGeometry.geometry : feature.getGeometry();\r\n },\r\n fill: new Fill({\r\n color: 'rgba(0,128,255, 0.3)',\r\n }),\r\n stroke: new Stroke({\r\n color: 'rgba(0,128,255, 0.3)',\r\n width: 2,\r\n }),\r\n });\r\n\r\n const vector = new VectorLayer({\r\n source: this.modifySource,\r\n zIndex: 3,\r\n style: (feature) => {\r\n const styles = [style];\r\n const modifyGeometry = feature.get('modifyGeometry');\r\n const geometry = modifyGeometry ? modifyGeometry.geometry : feature.getGeometry();\r\n let topRightCorner = getTopRightCorner(geometry.getCoordinates()[0]);\r\n\r\n if (topRightCorner) {\r\n t.addCancelTextLayer(topRightCorner);\r\n let distance = feature.get('distance');\r\n t.distance = distance;\r\n let text =\r\n Number(distance) < 1\r\n ? Number(distance * 1000).toFixed(0) + this.TextEnum.meter\r\n : Number(distance).toFixed(2) + this.TextEnum.kilometer\r\n\r\n let drawFeature = t.source.getFeatures()[0].getGeometry();\r\n let { coordinates, type } = getCoordinateAndType(drawFeature);\r\n let topRightCorner_modify = getTopRightCorner(coordinates, type);\r\n // 待带修改的样式\r\n styles.push(\r\n new Style({\r\n geometry: new LineString([topRightCorner, topRightCorner_modify]),\r\n stroke: new Stroke({\r\n color: '#0084FF',\r\n width: 2,\r\n }),\r\n }),\r\n );\r\n\r\n styles.push(\r\n new Style({\r\n geometry: new Point(topRightCorner),\r\n // 修改了点位的样式\r\n image: new Icon({\r\n src: require('../assets/kz.png'),\r\n }),\r\n // image: new CircleStyle({\r\n // radius: 6,\r\n // fill: new Fill({\r\n // color: '#0080FF',\r\n // }),\r\n // stroke: new Stroke({\r\n // color: '#FFF',\r\n // width: 2,\r\n // }),\r\n // }),\r\n text: new Text({\r\n text: text,\r\n font: '12px Calibri,sans-serif',\r\n fill: new Fill({\r\n color: '#FFF',\r\n }),\r\n backgroundFill: new Fill({\r\n color: '#0080FF',\r\n }),\r\n backgroundStroke: new Stroke({\r\n color: '#0080FF',\r\n width: 1,\r\n }),\r\n padding: [3, 2, 2, 4],\r\n justify: 'right',\r\n textBaseline: 'middle',\r\n offsetX: 40,\r\n }),\r\n }),\r\n );\r\n }\r\n\r\n return styles;\r\n },\r\n });\r\n this.modifyLayer = vector;\r\n this.map.addLayer(vector);\r\n\r\n const defaultStyle = new Modify({ source: this.modifySource })\r\n .getOverlay()\r\n .getStyleFunction();\r\n\r\n const modify = new Modify({\r\n source: this.modifySource,\r\n maxDistance: this.maxDistance,\r\n condition: function (event) {\r\n return primaryAction(event) && !platformModifierKeyOnly(event);\r\n },\r\n deleteCondition: never,\r\n insertVertexCondition: never,\r\n style: function (feature) {\r\n feature.get('features').forEach(function (modifyFeature) {\r\n const modifyGeometry = modifyFeature.get('modifyGeometry');\r\n if (modifyGeometry) {\r\n const point = feature.getGeometry().getCoordinates();\r\n\r\n const geometry = t.source.getFeatures()[0].getGeometry();\r\n let { coordinates, type } = getCoordinateAndType(geometry);\r\n let topRightCorner = getTopRightCorner(coordinates, type);\r\n\r\n let from = TurfPoint(point);\r\n let to = TurfPoint(topRightCorner);\r\n let distance = TurfDistance(from, to, { units: 'kilometers' });\r\n\r\n // 限制拖动长度\r\n if (t.maxDistance && distance && distance * 1000 > t.maxDistance) {\r\n modifyFeature.setProperties({ distance: t.maxDistance / 1000 });\r\n\r\n return defaultStyle(feature);\r\n }\r\n\r\n modifyFeature.setProperties({ distance: distance });\r\n\r\n let bufferFeature = t.getBufferFeature(t.source.getFeatures()[0], distance);\r\n modifyGeometry.geometry = bufferFeature.getGeometry();\r\n }\r\n });\r\n return defaultStyle(feature);\r\n },\r\n });\r\n\r\n modify.on('modifystart', function (event) {\r\n event.features.forEach(function (feature) {\r\n feature.set('modifyGeometry', { geometry: feature.getGeometry().clone() }, true);\r\n });\r\n });\r\n\r\n modify.on('modifyend', function (event) {\r\n event.features.forEach(function (feature) {\r\n const modifyGeometry = feature.get('modifyGeometry');\r\n if (modifyGeometry) {\r\n feature.setGeometry(modifyGeometry.geometry);\r\n feature.unset('modifyGeometry', true);\r\n t.drawFeature = feature;\r\n let _feature = feature?.clone();\r\n t.callback(_feature, t.distance * 1000);\r\n }\r\n t.isFit && t.fitView(feature);\r\n });\r\n });\r\n this.map.addInteraction(modify);\r\n this.modifyTool = modify;\r\n };\r\n\r\n addInteractions = () => {\r\n let t = this;\r\n const draw = new Draw({\r\n source: this.source,\r\n type: this.drawType,\r\n ...(this.drawType === 'DragBox'\r\n ? {\r\n type: 'Circle',\r\n // 用于在绘制过程中创建或修改几何对象。这个函数允许开发者自定义绘制逻辑,以满足特定的需求。如果未提供此函数,则使用默认的几何创建逻辑\r\n geometryFunction: createBox(),\r\n }\r\n : {}),\r\n });\r\n\r\n draw.on('drawstart', function () {\r\n t.onClear();\r\n });\r\n\r\n draw.on('drawend', function (event) {\r\n const distance = 500 / 1000;\r\n const feature = t.getBufferFeature(event.feature, distance);\r\n feature.setProperties({ distance: distance });\r\n t.modifySource.addFeature(feature);\r\n t.drawFeature = feature;\r\n let _feature = feature?.clone();\r\n t.callback(_feature, distance * 1000);\r\n t.isFit && t.fitView(feature);\r\n });\r\n\r\n this.map.addInteraction(draw);\r\n this.drawTool = draw;\r\n };\r\n\r\n getBufferFeature = (feature, distance) => {\r\n let coordinates = feature.getGeometry().getCoordinates();\r\n const g = feature.getGeometry();\r\n\r\n let geometry;\r\n if (g instanceof Point) {\r\n geometry = TurfPoint(coordinates);\r\n } else if (g instanceof Polygon) {\r\n geometry = TurfPolygon(coordinates);\r\n } else if (g instanceof LineString) {\r\n geometry = TurfLineString(coordinates);\r\n } else if (g instanceof Circle) {\r\n let center = g?.getCenter();\r\n let radius = g?.getRadius();\r\n this.distance = radius;\r\n geometry = TurfCircle(center, radius);\r\n }\r\n\r\n let buffered = TurfBuffer(geometry, distance, { units: 'kilometers' });\r\n\r\n return format.readFeature(buffered);\r\n };\r\n\r\n fitView = feature => {\r\n this.map.getView().fit(feature.getGeometry().getExtent(), {\r\n padding: [100, 400, 100, 400],\r\n maxZoom: 18,\r\n duration: 500,\r\n });\r\n };\r\n\r\n onClear = () => {\r\n this.source.clear();\r\n this.modifySource.clear();\r\n };\r\n\r\n removeDrawTool() {\r\n this.map.removeInteraction(this.drawTool);\r\n this.map.removeInteraction(this.modifyTool);\r\n }\r\n\r\n destroy() {\r\n this.map.removeLayer(this.layer);\r\n this.map.removeLayer(this.modifyLayer);\r\n this.removeCancelTextLayer();\r\n this.removeDrawTool();\r\n this.drawTool && this.drawTool.setActive(false);\r\n this.map.hideTip();\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|