@vtx/ol-map 2.0.0-beta.1 → 2.0.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/_util/EventEmitter.js +78 -0
- package/lib/_util/EventEmitter.js.map +1 -0
- package/lib/_util/StyleCache.js +46 -0
- package/lib/_util/StyleCache.js.map +1 -0
- package/lib/_util/encryptParams.js +60 -0
- package/lib/_util/encryptParams.js.map +1 -0
- package/lib/_util/filterSpecialCharacters.js +90 -0
- package/lib/_util/filterSpecialCharacters.js.map +1 -0
- package/lib/_util/getComponentProps.js +14 -0
- package/lib/_util/getComponentProps.js.map +1 -0
- package/lib/_util/getCookie.js +24 -0
- package/lib/_util/getCookie.js.map +1 -0
- package/lib/_util/getDefaultMapInfo.js +50 -0
- package/lib/_util/getDefaultMapInfo.js.map +1 -0
- package/lib/_util/getSystemInfo.js +26 -0
- package/lib/_util/getSystemInfo.js.map +1 -0
- package/lib/_util/getToken.js +27 -0
- package/lib/_util/getToken.js.map +1 -0
- package/lib/_util/http.js +176 -0
- package/lib/_util/http.js.map +1 -0
- package/lib/_util/isFunction.js +10 -0
- package/lib/_util/isFunction.js.map +1 -0
- package/lib/_util/isObject.js +10 -0
- package/lib/_util/isObject.js.map +1 -0
- package/lib/_util/layer.js +152 -0
- package/lib/_util/layer.js.map +1 -0
- package/lib/_util/mapTool.js +188 -0
- package/lib/_util/mapTool.js.map +1 -0
- package/lib/_util/projection.js +44 -0
- package/lib/_util/projection.js.map +1 -0
- package/lib/_util/projzh/datum/bd-09.js +44 -0
- package/lib/_util/projzh/datum/bd-09.js.map +1 -0
- package/lib/_util/projzh/datum/gcj-02.js +72 -0
- package/lib/_util/projzh/datum/gcj-02.js.map +1 -0
- package/lib/_util/projzh/datum/index.js +14 -0
- package/lib/_util/projzh/datum/index.js.map +1 -0
- package/lib/_util/projzh/index.js +40 -0
- package/lib/_util/projzh/index.js.map +1 -0
- package/lib/_util/projzh/projection/baidu-mercator.js +74 -0
- package/lib/_util/projzh/projection/baidu-mercator.js.map +1 -0
- package/lib/_util/projzh/projection/index.js +14 -0
- package/lib/_util/projzh/projection/index.js.map +1 -0
- package/lib/_util/projzh/projection/spherical-mercator.js +25 -0
- package/lib/_util/projzh/projection/spherical-mercator.js.map +1 -0
- package/lib/_util/projzh/util.js +27 -0
- package/lib/_util/projzh/util.js.map +1 -0
- package/lib/_util/search.js +124 -0
- package/lib/_util/search.js.map +1 -0
- package/lib/_util/setCookie.js +15 -0
- package/lib/_util/setCookie.js.map +1 -0
- package/lib/_util/stringToFun.js +25 -0
- package/lib/_util/stringToFun.js.map +1 -0
- package/lib/_util/transform.js +169 -0
- package/lib/_util/transform.js.map +1 -0
- package/lib/_util/useColSize.js +28 -0
- package/lib/_util/useColSize.js.map +1 -0
- package/lib/_util/useInterval.js +19 -0
- package/lib/_util/useInterval.js.map +1 -0
- package/lib/_util/useSet.js +44 -0
- package/lib/_util/useSet.js.map +1 -0
- package/lib/analysis-layer/index.js +461 -0
- package/lib/analysis-layer/index.js.map +1 -0
- package/lib/analysis-layer/style/css.js +2 -0
- package/lib/analysis-layer/style/css.js.map +1 -0
- package/lib/analysis-layer/style/index.js +2 -0
- package/lib/analysis-layer/style/index.js.map +1 -0
- 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/assets/arrow.png +0 -0
- package/lib/assets/base-img-1.png +0 -0
- package/lib/assets/base-img-2.png +0 -0
- package/lib/assets/base-img-3.png +0 -0
- package/lib/assets/base-img-4.png +0 -0
- package/lib/assets/base-img-5.png +0 -0
- package/lib/assets/base-img-6.png +0 -0
- package/lib/assets/base-img.png +0 -0
- package/lib/assets/bz.png +0 -0
- package/lib/assets/img.png +0 -0
- package/lib/assets/kz.png +0 -0
- package/lib/assets/ll.png +0 -0
- package/lib/assets/location.png +0 -0
- package/lib/assets/noLocation.png +0 -0
- package/lib/assets/people.png +0 -0
- package/lib/assets/qd.png +0 -0
- package/lib/assets/sw.png +0 -0
- package/lib/assets/yl.png +0 -0
- package/lib/assets/zd.png +0 -0
- package/lib/buffer-draw/BufferDraw.js +399 -0
- package/lib/buffer-draw/BufferDraw.js.map +1 -0
- package/lib/buffer-draw/index.js +58 -0
- package/lib/buffer-draw/index.js.map +1 -0
- package/lib/buffer-draw/style/css.js +2 -0
- package/lib/buffer-draw/style/css.js.map +1 -0
- package/lib/buffer-draw/style/index.js +2 -0
- package/lib/buffer-draw/style/index.js.map +1 -0
- package/lib/circle/Circle.js +51 -0
- package/lib/circle/Circle.js.map +1 -0
- package/lib/circle/index.js +64 -0
- package/lib/circle/index.js.map +1 -0
- package/lib/circle/style/css.js +2 -0
- package/lib/circle/style/css.js.map +1 -0
- package/lib/circle/style/index.js +2 -0
- package/lib/circle/style/index.js.map +1 -0
- package/lib/config.js +12 -0
- package/lib/config.js.map +1 -0
- package/lib/convertCamelToCSS.js +23 -0
- package/lib/convertCamelToCSS.js.map +1 -0
- package/lib/dom/Dom.js +39 -0
- package/lib/dom/Dom.js.map +1 -0
- package/lib/dom/index.js +82 -0
- package/lib/dom/index.js.map +1 -0
- package/lib/dom/style/css.js +2 -0
- package/lib/dom/style/css.js.map +1 -0
- package/lib/dom/style/index.js +2 -0
- package/lib/dom/style/index.js.map +1 -0
- package/lib/dom-layer/index.js +249 -0
- package/lib/dom-layer/index.js.map +1 -0
- package/lib/dom-layer/style/css.js +4 -0
- package/lib/dom-layer/style/css.js.map +1 -0
- package/lib/dom-layer/style/index.css +3 -0
- package/lib/dom-layer/style/index.js +4 -0
- package/lib/dom-layer/style/index.js.map +1 -0
- package/lib/dom-layer/style/index.less +3 -0
- package/lib/events/index.js +25 -0
- package/lib/events/index.js.map +1 -0
- package/lib/feature-draw/FeatureDraw.js +231 -0
- package/lib/feature-draw/FeatureDraw.js.map +1 -0
- package/lib/feature-draw/index.js +76 -0
- package/lib/feature-draw/index.js.map +1 -0
- package/lib/feature-draw/style/css.js +2 -0
- package/lib/feature-draw/style/css.js.map +1 -0
- package/lib/feature-draw/style/index.js +2 -0
- package/lib/feature-draw/style/index.js.map +1 -0
- package/lib/feature-layer/FeatureLayer.js +1093 -0
- package/lib/feature-layer/FeatureLayer.js.map +1 -0
- package/lib/feature-layer/MyCluster.js +150 -0
- package/lib/feature-layer/MyCluster.js.map +1 -0
- package/lib/feature-layer/createFeatureCollection.js +167 -0
- package/lib/feature-layer/createFeatureCollection.js.map +1 -0
- package/lib/feature-layer/index.js +154 -0
- package/lib/feature-layer/index.js.map +1 -0
- package/lib/feature-layer/style/css.js +4 -0
- package/lib/feature-layer/style/css.js.map +1 -0
- package/lib/feature-layer/style/index.css +0 -0
- package/lib/feature-layer/style/index.js +4 -0
- package/lib/feature-layer/style/index.js.map +1 -0
- package/lib/feature-layer/style/index.less +0 -0
- package/lib/flow-line-layer/FlowLineLayer.js +197 -0
- package/lib/flow-line-layer/FlowLineLayer.js.map +1 -0
- package/lib/flow-line-layer/index.js +126 -0
- package/lib/flow-line-layer/index.js.map +1 -0
- package/lib/flow-line-layer/style/css.js +4 -0
- package/lib/flow-line-layer/style/css.js.map +1 -0
- package/lib/flow-line-layer/style/index.css +0 -0
- package/lib/flow-line-layer/style/index.js +4 -0
- package/lib/flow-line-layer/style/index.js.map +1 -0
- package/lib/flow-line-layer/style/index.less +0 -0
- package/lib/fly-line-layer/FlyLineLayer.js +218 -0
- package/lib/fly-line-layer/FlyLineLayer.js.map +1 -0
- package/lib/fly-line-layer/index.js +109 -0
- package/lib/fly-line-layer/index.js.map +1 -0
- package/lib/fly-line-layer/style/css.js +4 -0
- package/lib/fly-line-layer/style/css.js.map +1 -0
- package/lib/fly-line-layer/style/index.css +0 -0
- package/lib/fly-line-layer/style/index.js +4 -0
- package/lib/fly-line-layer/style/index.js.map +1 -0
- package/lib/fly-line-layer/style/index.less +0 -0
- package/lib/group-layer/GroupLayer.js +134 -0
- package/lib/group-layer/GroupLayer.js.map +1 -0
- package/lib/group-layer/index.js +73 -0
- package/lib/group-layer/index.js.map +1 -0
- package/lib/group-layer/style/css.js +4 -0
- package/lib/group-layer/style/css.js.map +1 -0
- package/lib/group-layer/style/index.css +0 -0
- package/lib/group-layer/style/index.js +4 -0
- package/lib/group-layer/style/index.js.map +1 -0
- package/lib/group-layer/style/index.less +0 -0
- package/lib/heatmap-layer/HeatmapLayer.js +191 -0
- package/lib/heatmap-layer/HeatmapLayer.js.map +1 -0
- package/lib/heatmap-layer/index.js +102 -0
- package/lib/heatmap-layer/index.js.map +1 -0
- package/lib/heatmap-layer/style/css.js +4 -0
- package/lib/heatmap-layer/style/css.js.map +1 -0
- package/lib/heatmap-layer/style/index.css +0 -0
- package/lib/heatmap-layer/style/index.js +4 -0
- package/lib/heatmap-layer/style/index.js.map +1 -0
- package/lib/heatmap-layer/style/index.less +0 -0
- package/lib/high-layer/HighLayer.js +201 -0
- package/lib/high-layer/HighLayer.js.map +1 -0
- package/lib/high-layer/index.js +46 -0
- package/lib/high-layer/index.js.map +1 -0
- package/lib/high-layer/style/css.js +2 -0
- package/lib/high-layer/style/css.js.map +1 -0
- package/lib/high-layer/style/index.js +2 -0
- package/lib/high-layer/style/index.js.map +1 -0
- package/lib/image-layer/ImageLayer.js +330 -0
- package/lib/image-layer/ImageLayer.js.map +1 -0
- package/lib/image-layer/ImageTileLayer.js +332 -0
- package/lib/image-layer/ImageTileLayer.js.map +1 -0
- package/lib/image-layer/index.js +100 -0
- package/lib/image-layer/index.js.map +1 -0
- package/lib/image-layer/style/css.js +4 -0
- package/lib/image-layer/style/css.js.map +1 -0
- package/lib/image-layer/style/index.css +0 -0
- package/lib/image-layer/style/index.js +4 -0
- package/lib/image-layer/style/index.js.map +1 -0
- package/lib/image-layer/style/index.less +0 -0
- package/lib/index.js +215 -0
- package/lib/index.js.map +1 -0
- package/lib/legend/index.js +254 -0
- package/lib/legend/index.js.map +1 -0
- package/lib/legend/style/css.js +4 -0
- package/lib/legend/style/css.js.map +1 -0
- package/lib/legend/style/index.css +109 -0
- package/lib/legend/style/index.js +4 -0
- package/lib/legend/style/index.js.map +1 -0
- package/lib/legend/style/index.less +100 -0
- package/lib/map/Analysis.js +148 -0
- package/lib/map/Analysis.js.map +1 -0
- package/lib/map/Layers.js +338 -0
- package/lib/map/Layers.js.map +1 -0
- package/lib/map/Popup.js +386 -0
- package/lib/map/Popup.js.map +1 -0
- package/lib/map/ScaleDenominator.js +68 -0
- package/lib/map/ScaleDenominator.js.map +1 -0
- package/lib/map/Test.js +144 -0
- package/lib/map/Test.js.map +1 -0
- package/lib/map/defaultTextEnum.js +165 -0
- package/lib/map/defaultTextEnum.js.map +1 -0
- package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js +163 -0
- package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js.map +1 -0
- package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js +84 -0
- package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js.map +1 -0
- package/lib/map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js +65 -0
- package/lib/map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js.map +1 -0
- package/lib/map/getBaseLayers/imagery/tdt/TdtImageryProvider.js +84 -0
- package/lib/map/getBaseLayers/imagery/tdt/TdtImageryProvider.js.map +1 -0
- package/lib/map/getBaseLayers/index.js +46 -0
- package/lib/map/getBaseLayers/index.js.map +1 -0
- package/lib/map/index.js +841 -0
- package/lib/map/index.js.map +1 -0
- package/lib/map/style/css.js +5 -0
- package/lib/map/style/css.js.map +1 -0
- package/lib/map/style/index.css +171 -0
- package/lib/map/style/index.js +5 -0
- package/lib/map/style/index.js.map +1 -0
- package/lib/map/style/index.less +152 -0
- package/lib/map-icon/svg/index.js +81 -0
- package/lib/map-icon/svg/index.js.map +1 -0
- package/lib/map-icon/svg/tuceng.svg.js +2 -0
- package/lib/map-icon/svg/tuceng.svg.js.map +1 -0
- package/lib/marker/Marker.js +105 -0
- package/lib/marker/Marker.js.map +1 -0
- package/lib/marker/index.js +61 -0
- package/lib/marker/index.js.map +1 -0
- package/lib/marker/style/css.js +2 -0
- package/lib/marker/style/css.js.map +1 -0
- package/lib/marker/style/index.js +2 -0
- package/lib/marker/style/index.js.map +1 -0
- package/lib/path-line-layer/PathLineLayer.js +45 -0
- package/lib/path-line-layer/PathLineLayer.js.map +1 -0
- package/lib/path-line-layer/getPathLineStyles.js +71 -0
- package/lib/path-line-layer/getPathLineStyles.js.map +1 -0
- package/lib/path-line-layer/index.js +151 -0
- package/lib/path-line-layer/index.js.map +1 -0
- package/lib/path-line-layer/style/css.js +4 -0
- package/lib/path-line-layer/style/css.js.map +1 -0
- package/lib/path-line-layer/style/index.css +0 -0
- package/lib/path-line-layer/style/index.js +4 -0
- package/lib/path-line-layer/style/index.js.map +1 -0
- package/lib/path-line-layer/style/index.less +0 -0
- package/lib/path-play-back/PathPlayBack.js +700 -0
- package/lib/path-play-back/PathPlayBack.js.map +1 -0
- package/lib/path-play-back/index.js +83 -0
- package/lib/path-play-back/index.js.map +1 -0
- package/lib/path-play-back/style/css.js +2 -0
- package/lib/path-play-back/style/css.js.map +1 -0
- package/lib/path-play-back/style/index.js +2 -0
- package/lib/path-play-back/style/index.js.map +1 -0
- package/lib/poi-search/Location.js +62 -0
- package/lib/poi-search/Location.js.map +1 -0
- package/lib/poi-search/PoiList.js +123 -0
- package/lib/poi-search/PoiList.js.map +1 -0
- package/lib/poi-search/Search.js +213 -0
- package/lib/poi-search/Search.js.map +1 -0
- package/lib/poi-search/index.js +178 -0
- package/lib/poi-search/index.js.map +1 -0
- package/lib/poi-search/style/css.js +4 -0
- package/lib/poi-search/style/css.js.map +1 -0
- package/lib/poi-search/style/index.css +96 -0
- package/lib/poi-search/style/index.js +4 -0
- package/lib/poi-search/style/index.js.map +1 -0
- package/lib/poi-search/style/index.less +97 -0
- package/lib/point/Point.js +57 -0
- package/lib/point/Point.js.map +1 -0
- package/lib/point/index.js +61 -0
- package/lib/point/index.js.map +1 -0
- package/lib/point/style/css.js +2 -0
- package/lib/point/style/css.js.map +1 -0
- package/lib/point/style/index.js +2 -0
- package/lib/point/style/index.js.map +1 -0
- package/lib/polygon/Polygon.js +51 -0
- package/lib/polygon/Polygon.js.map +1 -0
- package/lib/polygon/index.js +61 -0
- package/lib/polygon/index.js.map +1 -0
- package/lib/polygon/style/css.js +2 -0
- package/lib/polygon/style/css.js.map +1 -0
- package/lib/polygon/style/index.js +2 -0
- package/lib/polygon/style/index.js.map +1 -0
- package/lib/polyline/Polyline.js +51 -0
- package/lib/polyline/Polyline.js.map +1 -0
- package/lib/polyline/index.js +61 -0
- package/lib/polyline/index.js.map +1 -0
- package/lib/polyline/style/css.js +2 -0
- package/lib/polyline/style/css.js.map +1 -0
- package/lib/polyline/style/index.js +2 -0
- package/lib/polyline/style/index.js.map +1 -0
- package/lib/popup/index.js +202 -0
- package/lib/popup/index.js.map +1 -0
- package/lib/popup/style/css.js +4 -0
- package/lib/popup/style/css.js.map +1 -0
- package/lib/popup/style/index.css +131 -0
- package/lib/popup/style/index.js +4 -0
- package/lib/popup/style/index.js.map +1 -0
- package/lib/popup/style/index.less +129 -0
- package/lib/provider/index.js +12 -0
- package/lib/provider/index.js.map +1 -0
- package/lib/provider/style/css.js +2 -0
- package/lib/provider/style/css.js.map +1 -0
- package/lib/provider/style/index.js +2 -0
- package/lib/provider/style/index.js.map +1 -0
- package/lib/renderer/Fill.js +37 -0
- package/lib/renderer/Fill.js.map +1 -0
- package/lib/renderer/Stroke.js +39 -0
- package/lib/renderer/Stroke.js.map +1 -0
- package/lib/renderer/index.js +137 -0
- package/lib/renderer/index.js.map +1 -0
- package/lib/renderer/style/css.js +4 -0
- package/lib/renderer/style/css.js.map +1 -0
- package/lib/renderer/style/index.css +0 -0
- package/lib/renderer/style/index.js +4 -0
- package/lib/renderer/style/index.js.map +1 -0
- package/lib/renderer/style/index.less +0 -0
- package/lib/renderer/transformRgb.js +33 -0
- package/lib/renderer/transformRgb.js.map +1 -0
- package/lib/search-map/VtxModal.js +209 -0
- package/lib/search-map/VtxModal.js.map +1 -0
- package/lib/search-map/index.js +542 -0
- package/lib/search-map/index.js.map +1 -0
- package/lib/search-map/style/css.js +6 -0
- package/lib/search-map/style/css.js.map +1 -0
- package/lib/search-map/style/index.css +86 -0
- package/lib/search-map/style/index.js +6 -0
- package/lib/search-map/style/index.js.map +1 -0
- package/lib/search-map/style/index.less +97 -0
- package/lib/search-map/style/modal.css +56 -0
- package/lib/search-map/style/modal.less +66 -0
- package/lib/style/index.css +0 -0
- package/lib/style/index.less +2 -0
- package/lib/style/themes/compact.css +0 -0
- package/lib/style/themes/compact.less +1 -0
- package/lib/style/themes/dark.css +0 -0
- package/lib/style/themes/dark.less +7 -0
- package/lib/style/themes/default.css +0 -0
- package/lib/style/themes/default.less +7 -0
- package/lib/style/themes/index.css +0 -0
- package/lib/style/themes/index.less +1 -0
- package/lib/style/themes/variable.css +0 -0
- package/lib/style/themes/variable.less +5 -0
- package/lib/tile-layer/TileLayer.js +85 -0
- package/lib/tile-layer/TileLayer.js.map +1 -0
- package/lib/tile-layer/index.js +54 -0
- package/lib/tile-layer/index.js.map +1 -0
- package/lib/tile-layer/style/css.js +4 -0
- package/lib/tile-layer/style/css.js.map +1 -0
- package/lib/tile-layer/style/index.css +0 -0
- package/lib/tile-layer/style/index.js +4 -0
- package/lib/tile-layer/style/index.js.map +1 -0
- package/lib/tile-layer/style/index.less +0 -0
- package/lib/tools/Layer/LayerService.js +182 -0
- package/lib/tools/Layer/LayerService.js.map +1 -0
- package/lib/tools/Layer/LayersCheckService.js +188 -0
- package/lib/tools/Layer/LayersCheckService.js.map +1 -0
- package/lib/tools/Layer/index.css +50 -0
- package/lib/tools/Layer/index.js +225 -0
- package/lib/tools/Layer/index.js.map +1 -0
- package/lib/tools/Layer/index.less +43 -0
- package/lib/tools/Search/index.js +305 -0
- package/lib/tools/Search/index.js.map +1 -0
- package/lib/tools/Toolbox/BoxSelect/index.js +22 -0
- package/lib/tools/Toolbox/BoxSelect/index.js.map +1 -0
- package/lib/tools/Toolbox/CircleSelect/index.js +22 -0
- package/lib/tools/Toolbox/CircleSelect/index.js.map +1 -0
- package/lib/tools/Toolbox/EagleEye/index.js +56 -0
- package/lib/tools/Toolbox/EagleEye/index.js.map +1 -0
- package/lib/tools/Toolbox/MapBookmark/Bookmark.js +147 -0
- package/lib/tools/Toolbox/MapBookmark/Bookmark.js.map +1 -0
- package/lib/tools/Toolbox/MapBookmark/index.css +18 -0
- package/lib/tools/Toolbox/MapBookmark/index.js +429 -0
- package/lib/tools/Toolbox/MapBookmark/index.js.map +1 -0
- package/lib/tools/Toolbox/MapBookmark/index.less +20 -0
- package/lib/tools/Toolbox/MapDownload/index.js +16 -0
- package/lib/tools/Toolbox/MapDownload/index.js.map +1 -0
- package/lib/tools/Toolbox/MapPrint/index.css +4 -0
- package/lib/tools/Toolbox/MapPrint/index.js +233 -0
- package/lib/tools/Toolbox/MapPrint/index.js.map +1 -0
- package/lib/tools/Toolbox/MapPrint/index.less +4 -0
- package/lib/tools/Toolbox/Measure/Area/index.js +16 -0
- package/lib/tools/Toolbox/Measure/Area/index.js.map +1 -0
- package/lib/tools/Toolbox/Measure/Distance/index.js +16 -0
- package/lib/tools/Toolbox/Measure/Distance/index.js.map +1 -0
- package/lib/tools/Toolbox/Measure/Measure.js +236 -0
- package/lib/tools/Toolbox/Measure/Measure.js.map +1 -0
- package/lib/tools/Toolbox/Measure/index.js +77 -0
- package/lib/tools/Toolbox/Measure/index.js.map +1 -0
- package/lib/tools/Toolbox/PolygonSelect/index.js +19 -0
- package/lib/tools/Toolbox/PolygonSelect/index.js.map +1 -0
- package/lib/tools/Toolbox/ScaleLine/index.js +58 -0
- package/lib/tools/Toolbox/ScaleLine/index.js.map +1 -0
- package/lib/tools/Toolbox/SelectTools/index.css +103 -0
- package/lib/tools/Toolbox/SelectTools/index.js +788 -0
- package/lib/tools/Toolbox/SelectTools/index.js.map +1 -0
- package/lib/tools/Toolbox/SelectTools/index.less +87 -0
- package/lib/tools/Toolbox/SpaceQuery/index.css +19 -0
- package/lib/tools/Toolbox/SpaceQuery/index.js +597 -0
- package/lib/tools/Toolbox/SpaceQuery/index.js.map +1 -0
- package/lib/tools/Toolbox/SpaceQuery/index.less +16 -0
- package/lib/tools/Toolbox/ZoomInput/index.css +6 -0
- package/lib/tools/Toolbox/ZoomInput/index.js +50 -0
- package/lib/tools/Toolbox/ZoomInput/index.js.map +1 -0
- package/lib/tools/Toolbox/ZoomInput/index.less +6 -0
- package/lib/tools/Toolbox/draftingPrint/index.css +26 -0
- package/lib/tools/Toolbox/draftingPrint/index.js +365 -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.css +0 -0
- package/lib/tools/Toolbox/index.js +206 -0
- package/lib/tools/Toolbox/index.js.map +1 -0
- package/lib/tools/Toolbox/index.less +2 -0
- package/lib/tools/Utils/CreateOverlay.js +46 -0
- package/lib/tools/Utils/CreateOverlay.js.map +1 -0
- package/lib/tools/Utils/Draw.js +127 -0
- package/lib/tools/Utils/Draw.js.map +1 -0
- package/lib/tools/Utils/HighLayer.js +212 -0
- package/lib/tools/Utils/HighLayer.js.map +1 -0
- package/lib/tools/Utils/measure.js +246 -0
- package/lib/tools/Utils/measure.js.map +1 -0
- package/lib/tools/Utils/utils.js +263 -0
- package/lib/tools/Utils/utils.js.map +1 -0
- package/lib/tools/View/index.css +35 -0
- package/lib/tools/View/index.js +179 -0
- package/lib/tools/View/index.js.map +1 -0
- package/lib/tools/View/index.less +28 -0
- package/lib/tools/analysis-tool/index.js +111 -0
- package/lib/tools/analysis-tool/index.js.map +1 -0
- package/lib/tools/base-map-switch/index.js +168 -0
- package/lib/tools/base-map-switch/index.js.map +1 -0
- package/lib/tools/components/Chart/index.js +821 -0
- package/lib/tools/components/Chart/index.js.map +1 -0
- package/lib/tools/components/Icon/index.js +31 -0
- package/lib/tools/components/Icon/index.js.map +1 -0
- package/lib/tools/components/Info/index.css +39 -0
- package/lib/tools/components/Info/index.js +34 -0
- package/lib/tools/components/Info/index.js.map +1 -0
- package/lib/tools/components/Info/index.less +26 -0
- package/lib/tools/components/ItemWrap/index.css +43 -0
- package/lib/tools/components/ItemWrap/index.js +46 -0
- package/lib/tools/components/ItemWrap/index.js.map +1 -0
- package/lib/tools/components/ItemWrap/index.less +41 -0
- package/lib/tools/components/Modal/index.css +42 -0
- package/lib/tools/components/Modal/index.js +45 -0
- package/lib/tools/components/Modal/index.js.map +1 -0
- package/lib/tools/components/Modal/index.less +33 -0
- package/lib/tools/components/MyTabs/index.js +22 -0
- package/lib/tools/components/MyTabs/index.js.map +1 -0
- package/lib/tools/components/RequiredLabel/index.css +5 -0
- package/lib/tools/components/RequiredLabel/index.js +32 -0
- package/lib/tools/components/RequiredLabel/index.js.map +1 -0
- package/lib/tools/components/RequiredLabel/index.less +5 -0
- package/lib/tools/components/Select/index.js +32 -0
- package/lib/tools/components/Select/index.js.map +1 -0
- package/lib/tools/components/Table/assets/tableIcon.png +0 -0
- package/lib/tools/components/Table/index.css +10 -0
- package/lib/tools/components/Table/index.js +92 -0
- package/lib/tools/components/Table/index.js.map +1 -0
- package/lib/tools/components/Table/index.less +13 -0
- package/lib/tools/components/ToolItem/index.css +30 -0
- package/lib/tools/components/ToolItem/index.js +28 -0
- package/lib/tools/components/ToolItem/index.js.map +1 -0
- package/lib/tools/components/ToolItem/index.less +27 -0
- package/lib/tools/components/ToolsSelect/index.css +15 -0
- package/lib/tools/components/ToolsSelect/index.js +44 -0
- package/lib/tools/components/ToolsSelect/index.js.map +1 -0
- package/lib/tools/components/ToolsSelect/index.less +10 -0
- package/lib/tools/full-screen/index.js +45 -0
- package/lib/tools/full-screen/index.js.map +1 -0
- package/lib/tools/index.js +161 -0
- package/lib/tools/index.js.map +1 -0
- package/lib/tools/layer-control/index.js +170 -0
- package/lib/tools/layer-control/index.js.map +1 -0
- package/lib/tools/refresh/index.js +39 -0
- package/lib/tools/refresh/index.js.map +1 -0
- package/lib/tools/style/css.js +13 -0
- package/lib/tools/style/css.js.map +1 -0
- package/lib/tools/style/index.css +136 -0
- package/lib/tools/style/index.js +13 -0
- package/lib/tools/style/index.js.map +1 -0
- package/lib/tools/style/index.less +154 -0
- package/lib/tools-item/index.js +65 -0
- package/lib/tools-item/index.js.map +1 -0
- package/lib/use-props/index.js +14 -0
- package/lib/use-props/index.js.map +1 -0
- package/lib/use-props/style/css.js +2 -0
- package/lib/use-props/style/css.js.map +1 -0
- package/lib/use-props/style/index.js +2 -0
- package/lib/use-props/style/index.js.map +1 -0
- package/lib/wms-layer/WmsLayer.js +313 -0
- package/lib/wms-layer/WmsLayer.js.map +1 -0
- package/lib/wms-layer/index.js +97 -0
- package/lib/wms-layer/index.js.map +1 -0
- package/lib/wms-layer/style/css.js +4 -0
- package/lib/wms-layer/style/css.js.map +1 -0
- package/lib/wms-layer/style/index.css +0 -0
- package/lib/wms-layer/style/index.js +4 -0
- package/lib/wms-layer/style/index.js.map +1 -0
- package/lib/wms-layer/style/index.less +0 -0
- package/package.json +26 -16
|
@@ -0,0 +1,249 @@
|
|
|
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"] = _default;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _ahooks = require("ahooks");
|
|
10
|
+
var _useProps2 = _interopRequireDefault(require("../use-props"));
|
|
11
|
+
require("./style");
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
13
|
+
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); }
|
|
14
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
15
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
16
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
17
|
+
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; } }
|
|
18
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
19
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
20
|
+
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; }
|
|
21
|
+
function _default(props) {
|
|
22
|
+
var children = props.children,
|
|
23
|
+
_props$show = props.show,
|
|
24
|
+
show = _props$show === void 0 ? true : _props$show,
|
|
25
|
+
_props$avoid = props.avoid,
|
|
26
|
+
avoid = _props$avoid === void 0 ? true : _props$avoid;
|
|
27
|
+
var _useProps = (0, _useProps2["default"])(),
|
|
28
|
+
map = _useProps.map;
|
|
29
|
+
var domRef = (0, _react.useRef)();
|
|
30
|
+
var domElementsRef = (0, _react.useRef)([]);
|
|
31
|
+
var lastExecutionTimeRef = (0, _react.useRef)(0);
|
|
32
|
+
|
|
33
|
+
// 注册DOM元素
|
|
34
|
+
var registerDomElement = (0, _react.useCallback)(function (element) {
|
|
35
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
36
|
+
var _options$avoid = options.avoid,
|
|
37
|
+
avoid = _options$avoid === void 0 ? true : _options$avoid;
|
|
38
|
+
var id = Math.random().toString(36).substr(2, 9); // 简单ID生成
|
|
39
|
+
var elementInfo = {
|
|
40
|
+
id: id,
|
|
41
|
+
element: element,
|
|
42
|
+
avoid: avoid
|
|
43
|
+
};
|
|
44
|
+
domElementsRef.current = [].concat(_toConsumableArray(domElementsRef.current), [elementInfo]);
|
|
45
|
+
return function () {
|
|
46
|
+
domElementsRef.current = domElementsRef.current.filter(function (el) {
|
|
47
|
+
return el.id !== id;
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
}, []);
|
|
51
|
+
|
|
52
|
+
// 碰撞检测函数
|
|
53
|
+
var isColliding = function isColliding(rect1, rect2) {
|
|
54
|
+
return !(rect1.right < rect2.left || rect1.left > rect2.right || rect1.bottom < rect2.top || rect1.top > rect2.bottom);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
// 避让处理函数
|
|
58
|
+
var handleAvoidance = (0, _react.useCallback)(function () {
|
|
59
|
+
// 限制执行频率,至少间隔50ms
|
|
60
|
+
var now = Date.now();
|
|
61
|
+
if (now - lastExecutionTimeRef.current < 50) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
lastExecutionTimeRef.current = now;
|
|
65
|
+
if (!avoid) {
|
|
66
|
+
// 如果避免功能关闭,显示所有元素
|
|
67
|
+
domElementsRef.current.forEach(function (_ref) {
|
|
68
|
+
var element = _ref.element;
|
|
69
|
+
if (element) {
|
|
70
|
+
element.style.visibility = 'visible';
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// 获取所有DOM元素的位置信息
|
|
77
|
+
var allElements = [];
|
|
78
|
+
domElementsRef.current.forEach(function (_ref2) {
|
|
79
|
+
var id = _ref2.id,
|
|
80
|
+
element = _ref2.element,
|
|
81
|
+
avoid = _ref2.avoid;
|
|
82
|
+
if (element) {
|
|
83
|
+
// 不管当前显示状态如何,都参与计算
|
|
84
|
+
var rect = element.getBoundingClientRect();
|
|
85
|
+
var elementInfo = {
|
|
86
|
+
id: id,
|
|
87
|
+
element: element,
|
|
88
|
+
rect: rect,
|
|
89
|
+
area: rect.width * rect.height,
|
|
90
|
+
avoid: avoid
|
|
91
|
+
};
|
|
92
|
+
allElements.push(elementInfo);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
// 如果元素数量小于2,不需要避让,确保所有元素都显示
|
|
97
|
+
if (allElements.length < 2) {
|
|
98
|
+
allElements.forEach(function (_ref3) {
|
|
99
|
+
var element = _ref3.element;
|
|
100
|
+
element.style.visibility = 'visible';
|
|
101
|
+
});
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// 分离必须显示的元素和可避让的元素
|
|
106
|
+
var unavoidableElements = allElements.filter(function (el) {
|
|
107
|
+
return !el.avoid;
|
|
108
|
+
}); // avoid=false的元素
|
|
109
|
+
var avoidableElements = allElements.filter(function (el) {
|
|
110
|
+
return el.avoid;
|
|
111
|
+
}); // avoid=true的元素
|
|
112
|
+
|
|
113
|
+
// 标记需要隐藏的元素
|
|
114
|
+
var toHide = new Set();
|
|
115
|
+
|
|
116
|
+
// 检查所有元素之间的碰撞
|
|
117
|
+
// 1. 必须显示的元素优先,与所有其他元素比较
|
|
118
|
+
var _iterator = _createForOfIteratorHelper(unavoidableElements),
|
|
119
|
+
_step;
|
|
120
|
+
try {
|
|
121
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
122
|
+
var unavoidable = _step.value;
|
|
123
|
+
// 必须显示的元素与可避让元素碰撞时,隐藏可避让元素
|
|
124
|
+
var _iterator2 = _createForOfIteratorHelper(avoidableElements),
|
|
125
|
+
_step2;
|
|
126
|
+
try {
|
|
127
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
128
|
+
var avoidable = _step2.value;
|
|
129
|
+
if (isColliding(unavoidable.rect, avoidable.rect)) {
|
|
130
|
+
toHide.add(avoidable.id);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
} catch (err) {
|
|
134
|
+
_iterator2.e(err);
|
|
135
|
+
} finally {
|
|
136
|
+
_iterator2.f();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// 2. 可避让元素之间按面积排序,面积大的优先显示
|
|
141
|
+
} catch (err) {
|
|
142
|
+
_iterator.e(err);
|
|
143
|
+
} finally {
|
|
144
|
+
_iterator.f();
|
|
145
|
+
}
|
|
146
|
+
avoidableElements.sort(function (a, b) {
|
|
147
|
+
return b.area - a.area;
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
// 3. 检查所有可避让元素之间的碰撞关系
|
|
151
|
+
for (var i = 0; i < avoidableElements.length; i++) {
|
|
152
|
+
// 如果当前元素已经被标记为隐藏,则跳过
|
|
153
|
+
if (toHide.has(avoidableElements[i].id)) continue;
|
|
154
|
+
|
|
155
|
+
// 检查与所有后续元素的碰撞
|
|
156
|
+
for (var j = i + 1; j < avoidableElements.length; j++) {
|
|
157
|
+
// 如果比较的元素已经被标记为隐藏,则跳过
|
|
158
|
+
if (toHide.has(avoidableElements[j].id)) continue;
|
|
159
|
+
if (isColliding(avoidableElements[i].rect, avoidableElements[j].rect)) {
|
|
160
|
+
// 隐藏面积较小的元素(即j位置的元素)
|
|
161
|
+
toHide.add(avoidableElements[j].id);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// 应用显示/隐藏
|
|
167
|
+
allElements.forEach(function (_ref4) {
|
|
168
|
+
var id = _ref4.id,
|
|
169
|
+
element = _ref4.element,
|
|
170
|
+
elementAvoid = _ref4.avoid;
|
|
171
|
+
if (!elementAvoid) {
|
|
172
|
+
// avoid=false的元素始终显示
|
|
173
|
+
element.style.visibility = 'visible';
|
|
174
|
+
} else {
|
|
175
|
+
// avoid=true的元素根据碰撞检测结果决定显示或隐藏
|
|
176
|
+
element.style.visibility = toHide.has(id) ? 'hidden' : 'visible';
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}, [avoid]);
|
|
180
|
+
|
|
181
|
+
// 控制显示/隐藏
|
|
182
|
+
(0, _ahooks.useUpdateEffect)(function () {
|
|
183
|
+
if (domRef.current) {
|
|
184
|
+
domRef.current.style.visibility = show ? 'visible' : 'hidden';
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// 当显示状态改变时重新计算避让
|
|
188
|
+
if (show && avoid) {
|
|
189
|
+
setTimeout(handleAvoidance, 10);
|
|
190
|
+
}
|
|
191
|
+
}, [show, avoid]);
|
|
192
|
+
|
|
193
|
+
// 监听地图事件
|
|
194
|
+
(0, _react.useEffect)(function () {
|
|
195
|
+
if (!map) return;
|
|
196
|
+
var avoidanceTimer = null;
|
|
197
|
+
|
|
198
|
+
// 处理地图变化
|
|
199
|
+
var handleMapChange = function handleMapChange() {
|
|
200
|
+
// 清除之前的定时器
|
|
201
|
+
if (avoidanceTimer) {
|
|
202
|
+
clearTimeout(avoidanceTimer);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// 延迟执行避让处理,确保DOM已经更新位置
|
|
206
|
+
avoidanceTimer = setTimeout(function () {
|
|
207
|
+
if (avoid) {
|
|
208
|
+
handleAvoidance();
|
|
209
|
+
}
|
|
210
|
+
}, 100);
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
// 监听地图移动事件
|
|
214
|
+
map.getView().on('change:resolution', handleMapChange);
|
|
215
|
+
|
|
216
|
+
// 初始计算一次
|
|
217
|
+
setTimeout(function () {
|
|
218
|
+
if (avoid) {
|
|
219
|
+
handleAvoidance();
|
|
220
|
+
}
|
|
221
|
+
}, 200);
|
|
222
|
+
return function () {
|
|
223
|
+
if (map) {
|
|
224
|
+
map.getView().un('change:resolution', handleMapChange);
|
|
225
|
+
}
|
|
226
|
+
if (avoidanceTimer) {
|
|
227
|
+
clearTimeout(avoidanceTimer);
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
}, [handleAvoidance, avoid]);
|
|
231
|
+
|
|
232
|
+
// 向子组件传递上下文
|
|
233
|
+
var childrenWithProps = _react["default"].Children.map(children, function (child) {
|
|
234
|
+
if (/*#__PURE__*/_react["default"].isValidElement(child)) {
|
|
235
|
+
return /*#__PURE__*/_react["default"].cloneElement(child, {
|
|
236
|
+
_registerDomLayer: registerDomElement
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
return child;
|
|
240
|
+
});
|
|
241
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
242
|
+
className: "ol-map-dom-layer",
|
|
243
|
+
ref: domRef,
|
|
244
|
+
style: {
|
|
245
|
+
display: show ? 'block' : 'none'
|
|
246
|
+
}
|
|
247
|
+
}, childrenWithProps);
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_ahooks","_useProps2","_interopRequireDefault","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","done","value","TypeError","a","u","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","constructor","name","from","test","_default","props","children","_props$show","show","_props$avoid","avoid","_useProps","useProps","map","domRef","useRef","domElementsRef","lastExecutionTimeRef","registerDomElement","useCallback","element","options","arguments","undefined","_options$avoid","id","Math","random","substr","elementInfo","current","concat","filter","el","isColliding","rect1","rect2","right","left","bottom","top","handleAvoidance","now","Date","forEach","_ref","style","visibility","allElements","_ref2","rect","getBoundingClientRect","area","width","height","push","_ref3","unavoidableElements","avoidableElements","toHide","Set","_iterator","_step","unavoidable","_iterator2","_step2","avoidable","add","err","sort","b","j","_ref4","elementAvoid","useUpdateEffect","setTimeout","useEffect","avoidanceTimer","handleMapChange","clearTimeout","getView","on","un","childrenWithProps","React","Children","child","isValidElement","cloneElement","_registerDomLayer","createElement","className","ref","display"],"sources":["dom-layer/index.jsx"],"sourcesContent":["import React, { useRef, useEffect, useState, useCallback } from 'react';\nimport { useUpdateEffect } from 'ahooks';\nimport useProps from '../use-props';\nimport './style';\n\nexport default function (props) {\n const { children, show = true, avoid = true } = props;\n const { map } = useProps();\n const domRef = useRef();\n const domElementsRef = useRef([]);\n const lastExecutionTimeRef = useRef(0);\n\n // 注册DOM元素\n const registerDomElement = useCallback((element, options = {}) => {\n const { avoid = true } = options;\n const id = Math.random().toString(36).substr(2, 9); // 简单ID生成\n const elementInfo = { id, element, avoid };\n\n domElementsRef.current = [...domElementsRef.current, elementInfo];\n\n return () => {\n domElementsRef.current = domElementsRef.current.filter(el => el.id !== id);\n };\n }, []);\n\n // 碰撞检测函数\n const isColliding = (rect1, rect2) => {\n return !(rect1.right < rect2.left ||\n rect1.left > rect2.right ||\n rect1.bottom < rect2.top ||\n rect1.top > rect2.bottom);\n };\n\n // 避让处理函数\n const handleAvoidance = useCallback(() => {\n // 限制执行频率,至少间隔50ms\n const now = Date.now();\n if (now - lastExecutionTimeRef.current < 50) {\n return;\n }\n lastExecutionTimeRef.current = now;\n\n if (!avoid) {\n // 如果避免功能关闭,显示所有元素\n domElementsRef.current.forEach(({ element }) => {\n if (element) {\n element.style.visibility = 'visible';\n }\n });\n return;\n }\n\n // 获取所有DOM元素的位置信息\n const allElements = [];\n\n domElementsRef.current.forEach(({ id, element, avoid }) => {\n if (element) { // 不管当前显示状态如何,都参与计算\n const rect = element.getBoundingClientRect();\n\n const elementInfo = {\n id,\n element: element,\n rect: rect,\n area: rect.width * rect.height,\n avoid: avoid\n };\n\n allElements.push(elementInfo);\n }\n });\n\n // 如果元素数量小于2,不需要避让,确保所有元素都显示\n if (allElements.length < 2) {\n allElements.forEach(({ element }) => {\n element.style.visibility = 'visible';\n });\n return;\n }\n\n // 分离必须显示的元素和可避让的元素\n const unavoidableElements = allElements.filter(el => !el.avoid); // avoid=false的元素\n const avoidableElements = allElements.filter(el => el.avoid); // avoid=true的元素\n\n // 标记需要隐藏的元素\n const toHide = new Set();\n\n // 检查所有元素之间的碰撞\n // 1. 必须显示的元素优先,与所有其他元素比较\n for (const unavoidable of unavoidableElements) {\n // 必须显示的元素与可避让元素碰撞时,隐藏可避让元素\n for (const avoidable of avoidableElements) {\n if (isColliding(unavoidable.rect, avoidable.rect)) {\n toHide.add(avoidable.id);\n }\n }\n }\n\n // 2. 可避让元素之间按面积排序,面积大的优先显示\n avoidableElements.sort((a, b) => b.area - a.area);\n\n // 3. 检查所有可避让元素之间的碰撞关系\n for (let i = 0; i < avoidableElements.length; i++) {\n // 如果当前元素已经被标记为隐藏,则跳过\n if (toHide.has(avoidableElements[i].id)) continue;\n\n // 检查与所有后续元素的碰撞\n for (let j = i + 1; j < avoidableElements.length; j++) {\n // 如果比较的元素已经被标记为隐藏,则跳过\n if (toHide.has(avoidableElements[j].id)) continue;\n\n\n if (isColliding(avoidableElements[i].rect, avoidableElements[j].rect)) {\n // 隐藏面积较小的元素(即j位置的元素)\n toHide.add(avoidableElements[j].id);\n }\n }\n }\n\n // 应用显示/隐藏\n allElements.forEach(({ id, element, avoid: elementAvoid }) => {\n if (!elementAvoid) {\n // avoid=false的元素始终显示\n element.style.visibility = 'visible';\n } else {\n // avoid=true的元素根据碰撞检测结果决定显示或隐藏\n element.style.visibility = toHide.has(id) ? 'hidden' : 'visible';\n }\n });\n }, [avoid]);\n\n // 控制显示/隐藏\n useUpdateEffect(() => {\n if (domRef.current) {\n domRef.current.style.visibility = show ? 'visible' : 'hidden';\n }\n\n // 当显示状态改变时重新计算避让\n if (show && avoid) {\n setTimeout(handleAvoidance, 10);\n }\n }, [show, avoid]);\n\n // 监听地图事件\n useEffect(() => {\n if (!map) return;\n\n let avoidanceTimer = null;\n\n // 处理地图变化\n const handleMapChange = () => {\n // 清除之前的定时器\n if (avoidanceTimer) {\n clearTimeout(avoidanceTimer);\n }\n\n // 延迟执行避让处理,确保DOM已经更新位置\n avoidanceTimer = setTimeout(() => {\n if (avoid) {\n handleAvoidance();\n }\n }, 100);\n };\n\n\n // 监听地图移动事件\n map.getView().on('change:resolution', handleMapChange);\n\n // 初始计算一次\n setTimeout(() => {\n if (avoid) {\n handleAvoidance();\n }\n }, 200);\n\n return () => {\n if (map) {\n map.getView().un('change:resolution', handleMapChange);\n }\n if (avoidanceTimer) {\n clearTimeout(avoidanceTimer);\n }\n };\n }, [handleAvoidance, avoid]);\n\n // 向子组件传递上下文\n const childrenWithProps = React.Children.map(children, child => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n _registerDomLayer: registerDomElement\n });\n }\n return child;\n });\n\n return (\n <div className=\"ol-map-dom-layer\" ref={domRef} style={{ display: show ? 'block' : 'none' }}>\n {childrenWithProps}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","names":["require"],"sources":["dom-layer/style/index.js"],"sourcesContent":["import './index.less';\n"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["require"],"sources":["dom-layer/style/index.js"],"sourcesContent":["import './index.less';\n"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.registerEventLayer = exports.registerEventGeometry = void 0;
|
|
7
|
+
var EVENT = ['onClick', 'onDoubleClick', 'onMouseEnter', 'onMouseMove', 'onMouseLeave'];
|
|
8
|
+
|
|
9
|
+
// 注册鼠标事件
|
|
10
|
+
var registerEventGeometry = exports.registerEventGeometry = function registerEventGeometry(layer, props) {
|
|
11
|
+
EVENT.map(function (v) {
|
|
12
|
+
layer[v] = function () {
|
|
13
|
+
var options = layer.getProperties();
|
|
14
|
+
props[v] && props[v](options);
|
|
15
|
+
};
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
var registerEventLayer = exports.registerEventLayer = function registerEventLayer(layer, props) {
|
|
19
|
+
EVENT.map(function (v) {
|
|
20
|
+
layer[v] = function (e, a) {
|
|
21
|
+
props[v] && props[v](e, a);
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["EVENT","registerEventGeometry","exports","layer","props","map","v","options","getProperties","registerEventLayer","e","a"],"sources":["events/index.js"],"sourcesContent":["const EVENT = ['onClick', 'onDoubleClick', 'onMouseEnter', 'onMouseMove', 'onMouseLeave'];\n\n// 注册鼠标事件\nexport const registerEventGeometry = (layer, props) => {\n EVENT.map(v => {\n layer[v] = () => {\n let options = layer.getProperties();\n props[v] && props[v](options);\n };\n });\n};\n\nexport const registerEventLayer = (layer, props) => {\n EVENT.map(v => {\n layer[v] = (e, a) => {\n props[v] && props[v](e, a);\n };\n });\n};\n"],"mappings":";;;;;;AAAA,IAAMA,KAAK,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,CAAC;;AAEzF;AACO,IAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,SAAxBA,qBAAqBA,CAAIE,KAAK,EAAEC,KAAK,EAAK;EACnDJ,KAAK,CAACK,GAAG,CAAC,UAAAC,CAAC,EAAI;IACXH,KAAK,CAACG,CAAC,CAAC,GAAG,YAAM;MACb,IAAIC,OAAO,GAAGJ,KAAK,CAACK,aAAa,CAAC,CAAC;MACnCJ,KAAK,CAACE,CAAC,CAAC,IAAIF,KAAK,CAACE,CAAC,CAAC,CAACC,OAAO,CAAC;IACjC,CAAC;EACL,CAAC,CAAC;AACN,CAAC;AAEM,IAAME,kBAAkB,GAAAP,OAAA,CAAAO,kBAAA,GAAG,SAArBA,kBAAkBA,CAAIN,KAAK,EAAEC,KAAK,EAAK;EAChDJ,KAAK,CAACK,GAAG,CAAC,UAAAC,CAAC,EAAI;IACXH,KAAK,CAACG,CAAC,CAAC,GAAG,UAACI,CAAC,EAAEC,CAAC,EAAK;MACjBP,KAAK,CAACE,CAAC,CAAC,IAAIF,KAAK,CAACE,CAAC,CAAC,CAACI,CAAC,EAAEC,CAAC,CAAC;IAC9B,CAAC;EACL,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,231 @@
|
|
|
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.drawStyle = exports["default"] = void 0;
|
|
8
|
+
var _layer = require("ol/layer");
|
|
9
|
+
var _source = require("ol/source");
|
|
10
|
+
var _interaction = require("ol/interaction");
|
|
11
|
+
var _Draw2 = require("ol/interaction/Draw");
|
|
12
|
+
var _style4 = require("ol/style");
|
|
13
|
+
var _Marker = _interopRequireDefault(require("../marker/Marker"));
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
15
|
+
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; }
|
|
16
|
+
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; }
|
|
17
|
+
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; }
|
|
18
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
19
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
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 _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
22
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
23
|
+
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; }
|
|
24
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
25
|
+
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); } }
|
|
26
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), 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 _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
30
|
+
function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
|
|
31
|
+
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
32
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
33
|
+
function _superPropGet(t, o, e, r) { var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
|
|
34
|
+
function _get() { return _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { var p = _superPropBase(e, t); if (p) { var n = Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; } }, _get.apply(null, arguments); }
|
|
35
|
+
function _superPropBase(t, o) { for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t));); return t; }
|
|
36
|
+
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
37
|
+
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
38
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
39
|
+
var ModifyConstrain = /*#__PURE__*/function (_Modify) {
|
|
40
|
+
function ModifyConstrain(options) {
|
|
41
|
+
var _this;
|
|
42
|
+
_classCallCheck(this, ModifyConstrain);
|
|
43
|
+
_this = _callSuper(this, ModifyConstrain, [options]);
|
|
44
|
+
_this.constrainGeom_ = options.constrainGeom;
|
|
45
|
+
return _this;
|
|
46
|
+
}
|
|
47
|
+
_inherits(ModifyConstrain, _Modify);
|
|
48
|
+
return _createClass(ModifyConstrain, [{
|
|
49
|
+
key: "handleDragEvent",
|
|
50
|
+
value: function handleDragEvent(evt) {
|
|
51
|
+
if (this.constrainGeom_ && this.constrainGeom_.intersectsCoordinate && !this.constrainGeom_.intersectsCoordinate(evt.coordinate)) {
|
|
52
|
+
evt.coordinate = this.constrainGeom_.getClosestPoint(evt.coordinate);
|
|
53
|
+
}
|
|
54
|
+
_superPropGet(ModifyConstrain, "handleDragEvent", this, 3)([evt]);
|
|
55
|
+
}
|
|
56
|
+
}]);
|
|
57
|
+
}(_interaction.Modify);
|
|
58
|
+
var DrawConstrain = /*#__PURE__*/function (_Draw) {
|
|
59
|
+
function DrawConstrain(options) {
|
|
60
|
+
var _this2;
|
|
61
|
+
_classCallCheck(this, DrawConstrain);
|
|
62
|
+
_this2 = _callSuper(this, DrawConstrain, [options]);
|
|
63
|
+
_this2.constrainGeom_ = options.constrainGeom;
|
|
64
|
+
return _this2;
|
|
65
|
+
}
|
|
66
|
+
_inherits(DrawConstrain, _Draw);
|
|
67
|
+
return _createClass(DrawConstrain, [{
|
|
68
|
+
key: "handlePointerMove_",
|
|
69
|
+
value: function handlePointerMove_(evt) {
|
|
70
|
+
if (this.constrainGeom_ && this.constrainGeom_.intersectsCoordinate && !this.constrainGeom_.intersectsCoordinate(evt.coordinate)) {
|
|
71
|
+
evt.coordinate = this.constrainGeom_.getClosestPoint(evt.coordinate);
|
|
72
|
+
}
|
|
73
|
+
_superPropGet(DrawConstrain, "handlePointerMove_", this, 3)([evt]);
|
|
74
|
+
}
|
|
75
|
+
}]);
|
|
76
|
+
}(_interaction.Draw);
|
|
77
|
+
var drawStyle = exports.drawStyle = function drawStyle(feature, style) {
|
|
78
|
+
var _style = [];
|
|
79
|
+
var styles = [new _style4.Style({
|
|
80
|
+
fill: new _style4.Fill({
|
|
81
|
+
color: 'rgba(255, 255, 255, 0.6)'
|
|
82
|
+
}),
|
|
83
|
+
stroke: new _style4.Stroke({
|
|
84
|
+
color: '#009BFF',
|
|
85
|
+
width: 2
|
|
86
|
+
}),
|
|
87
|
+
image: new _style4.Circle({
|
|
88
|
+
radius: 4,
|
|
89
|
+
fill: new _style4.Fill({
|
|
90
|
+
color: 'rgba(0,155,255, 0.8)'
|
|
91
|
+
})
|
|
92
|
+
})
|
|
93
|
+
})];
|
|
94
|
+
if (style) {
|
|
95
|
+
var _style2;
|
|
96
|
+
if (typeof style === 'function') {
|
|
97
|
+
_style = style(feature);
|
|
98
|
+
}
|
|
99
|
+
if (Array.isArray(_style) && (_style2 = _style) !== null && _style2 !== void 0 && _style2.length) styles.push.apply(styles, _toConsumableArray(_style));
|
|
100
|
+
}
|
|
101
|
+
return styles;
|
|
102
|
+
};
|
|
103
|
+
var _default = exports["default"] = /*#__PURE__*/function () {
|
|
104
|
+
function _default(props, callback) {
|
|
105
|
+
var _this3 = this;
|
|
106
|
+
_classCallCheck(this, _default);
|
|
107
|
+
_defineProperty(this, "initModify", function () {
|
|
108
|
+
var t = _this3;
|
|
109
|
+
var modify = new ModifyConstrain({
|
|
110
|
+
source: _this3.source,
|
|
111
|
+
constrainGeom: _this3.constrainGeom
|
|
112
|
+
});
|
|
113
|
+
_this3.map.addInteraction(modify);
|
|
114
|
+
modify.on('modifyend', function (event) {
|
|
115
|
+
var features = event.features;
|
|
116
|
+
var feature = features.item(features.getLength() - 1);
|
|
117
|
+
_this3.drawFeature = feature;
|
|
118
|
+
var _feature = feature.clone();
|
|
119
|
+
t.callback && t.callback(_feature);
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
var _props$continuousDraw = props.continuousDraw,
|
|
123
|
+
continuousDraw = _props$continuousDraw === void 0 ? true : _props$continuousDraw,
|
|
124
|
+
_style3 = props.style,
|
|
125
|
+
markerStyle = props.markerStyle,
|
|
126
|
+
constrainGeom = props.constrainGeom;
|
|
127
|
+
this.map = props.map;
|
|
128
|
+
this.TextEnum = props.TextEnum;
|
|
129
|
+
this.drawTool = null;
|
|
130
|
+
this.drawFeature = null;
|
|
131
|
+
this.maxPoints = props.maxPoints;
|
|
132
|
+
this.drawType = props.drawType;
|
|
133
|
+
this.callback = callback;
|
|
134
|
+
this.continuousDraw = continuousDraw; // 连续绘制
|
|
135
|
+
this.constrainGeom = constrainGeom; // 绘制限制范围:geometry
|
|
136
|
+
this.style = _style3;
|
|
137
|
+
this.source = new _source.Vector();
|
|
138
|
+
this.layer = new _layer.Vector({
|
|
139
|
+
source: this.source,
|
|
140
|
+
zIndex: props.zIndex || 20,
|
|
141
|
+
style: function style(feature) {
|
|
142
|
+
return drawStyle(feature, _style3);
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
this.map.addLayer(this.layer);
|
|
146
|
+
if (!props.onlyDraw) {
|
|
147
|
+
this.initModify();
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* @description:
|
|
153
|
+
* @param {*} drawType DragBox-框选 Circle-圈选 Polygon-多边形选择
|
|
154
|
+
* @return {*}
|
|
155
|
+
*/
|
|
156
|
+
return _createClass(_default, [{
|
|
157
|
+
key: "init",
|
|
158
|
+
value: function init(drawType) {
|
|
159
|
+
var _this4 = this;
|
|
160
|
+
var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.callback;
|
|
161
|
+
var markerStyle = arguments.length > 2 ? arguments[2] : undefined;
|
|
162
|
+
var t = this;
|
|
163
|
+
if (drawType) {
|
|
164
|
+
var drawTool = new DrawConstrain(_objectSpread(_objectSpread({
|
|
165
|
+
type: drawType,
|
|
166
|
+
maxPoints: this.maxPoints,
|
|
167
|
+
constrainGeom: this.constrainGeom,
|
|
168
|
+
style: function style(feature) {
|
|
169
|
+
return drawStyle(feature, t.style);
|
|
170
|
+
}
|
|
171
|
+
}, drawType === 'DragBox' ? {
|
|
172
|
+
type: 'Circle',
|
|
173
|
+
geometryFunction: (0, _Draw2.createBox)()
|
|
174
|
+
} : {}), drawType === 'Marker' ? {
|
|
175
|
+
type: 'Point'
|
|
176
|
+
} : {}));
|
|
177
|
+
drawTool.on('drawstart', function () {
|
|
178
|
+
_this4.drawTool.setActive(true);
|
|
179
|
+
_this4.map.showTip(_this4.TextEnum.clickAgainToEnd);
|
|
180
|
+
_this4.clearFeatures();
|
|
181
|
+
_this4.callbackFn && _this4.callbackFn();
|
|
182
|
+
});
|
|
183
|
+
drawTool.on('drawend', function (event) {
|
|
184
|
+
_this4.map.showTip(_this4.TextEnum.leftClickToStart);
|
|
185
|
+
var drawSource = _this4.layer.getSource();
|
|
186
|
+
_this4.drawFeature = event.feature;
|
|
187
|
+
var _feature = event.feature.clone();
|
|
188
|
+
if (drawType == 'Marker') {
|
|
189
|
+
event.feature.setStyle(new _Marker["default"](markerStyle));
|
|
190
|
+
}
|
|
191
|
+
drawSource.addFeature(event.feature);
|
|
192
|
+
callback && callback(_feature);
|
|
193
|
+
_this4.drawTool.setActive(t.continuousDraw);
|
|
194
|
+
});
|
|
195
|
+
this.drawTool = drawTool;
|
|
196
|
+
this.map.showTip(this.TextEnum.leftClickToStart);
|
|
197
|
+
this.map.addInteraction(drawTool);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}, {
|
|
201
|
+
key: "clearFeatures",
|
|
202
|
+
value: function clearFeatures() {
|
|
203
|
+
this.source && this.source.clear();
|
|
204
|
+
this.map.hideTip();
|
|
205
|
+
}
|
|
206
|
+
}, {
|
|
207
|
+
key: "loadFeatures",
|
|
208
|
+
value: function loadFeatures(feature) {
|
|
209
|
+
if (this.style) {
|
|
210
|
+
feature.setStyle(drawStyle(feature, this.style));
|
|
211
|
+
}
|
|
212
|
+
// feature.setStyle(drawStyle(feature, this.style));
|
|
213
|
+
this.source && this.source.addFeatures([feature]);
|
|
214
|
+
this.drawFeature = feature;
|
|
215
|
+
}
|
|
216
|
+
}, {
|
|
217
|
+
key: "removeDrawTool",
|
|
218
|
+
value: function removeDrawTool() {
|
|
219
|
+
this.map.removeInteraction(this.drawTool);
|
|
220
|
+
}
|
|
221
|
+
}, {
|
|
222
|
+
key: "destroy",
|
|
223
|
+
value: function destroy() {
|
|
224
|
+
this.map.removeLayer(this.layer);
|
|
225
|
+
this.removeDrawTool();
|
|
226
|
+
this.drawTool && this.drawTool.setActive(false);
|
|
227
|
+
this.map.hideTip();
|
|
228
|
+
}
|
|
229
|
+
}]);
|
|
230
|
+
}();
|
|
231
|
+
//# sourceMappingURL=FeatureDraw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureDraw.js","names":["_layer","require","_source","_interaction","_Draw2","_style4","_Marker","_interopRequireDefault","e","__esModule","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","toString","call","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","n","_classCallCheck","_defineProperties","key","_createClass","prototype","i","_toPrimitive","_typeof","toPrimitive","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","_superPropGet","p","_get","get","bind","_superPropBase","hasOwnProperty","setPrototypeOf","getPrototypeOf","__proto__","_inherits","create","_setPrototypeOf","ModifyConstrain","_Modify","options","_this","constrainGeom_","constrainGeom","handleDragEvent","evt","intersectsCoordinate","coordinate","getClosestPoint","Modify","DrawConstrain","_Draw","_this2","handlePointerMove_","Draw","drawStyle","exports","feature","style","_style","styles","Style","fill","Fill","color","stroke","Stroke","width","image","CircleStyle","radius","_style2","_default","props","callback","_this3","modify","source","map","addInteraction","on","event","features","item","getLength","drawFeature","_feature","clone","_props$continuousDraw","continuousDraw","markerStyle","TextEnum","drawTool","maxPoints","drawType","VectorSource","layer","VectorLayer","zIndex","addLayer","onlyDraw","initModify","init","_this4","undefined","type","geometryFunction","createBox","setActive","showTip","clickAgainToEnd","clearFeatures","callbackFn","leftClickToStart","drawSource","getSource","setStyle","Marker","addFeature","clear","hideTip","loadFeatures","addFeatures","removeDrawTool","removeInteraction","destroy","removeLayer"],"sources":["feature-draw/FeatureDraw.js"],"sourcesContent":["import { Vector as VectorLayer } from 'ol/layer';\nimport { Vector as VectorSource } from 'ol/source';\nimport { Draw, Modify } from 'ol/interaction';\nimport { createBox } from 'ol/interaction/Draw';\nimport { Stroke, Style, Circle as CircleStyle, Fill, Icon } from 'ol/style';\nimport Marker from '../marker/Marker';\n\nclass ModifyConstrain extends Modify {\n constructor(options) {\n super(options);\n this.constrainGeom_ = options.constrainGeom;\n }\n\n handleDragEvent(evt) {\n if (\n this.constrainGeom_ &&\n this.constrainGeom_.intersectsCoordinate &&\n !this.constrainGeom_.intersectsCoordinate(evt.coordinate)\n ) {\n evt.coordinate = this.constrainGeom_.getClosestPoint(evt.coordinate);\n }\n super.handleDragEvent(evt);\n }\n}\nclass DrawConstrain extends Draw {\n constructor(options) {\n super(options);\n this.constrainGeom_ = options.constrainGeom;\n }\n\n handlePointerMove_(evt) {\n if (\n this.constrainGeom_ &&\n this.constrainGeom_.intersectsCoordinate &&\n !this.constrainGeom_.intersectsCoordinate(evt.coordinate)\n ) {\n evt.coordinate = this.constrainGeom_.getClosestPoint(evt.coordinate);\n }\n super.handlePointerMove_(evt);\n }\n}\n\nexport const drawStyle = (feature, style) => {\n let _style = [];\n\n let styles = [\n new Style({\n fill: new Fill({\n color: 'rgba(255, 255, 255, 0.6)',\n }),\n stroke: new Stroke({\n color: '#009BFF',\n width: 2,\n }),\n image: new CircleStyle({\n radius: 4,\n fill: new Fill({\n color: 'rgba(0,155,255, 0.8)',\n }),\n }),\n }),\n ];\n\n if (style) {\n if (typeof style === 'function') {\n _style = style(feature);\n }\n if (Array.isArray(_style) && _style?.length) styles.push(..._style);\n }\n return styles;\n};\nexport default class {\n constructor(props, callback) {\n const { continuousDraw = true, style, markerStyle, constrainGeom } = props;\n\n this.map = props.map;\n this.TextEnum = props.TextEnum;\n this.drawTool = null;\n this.drawFeature = null;\n this.maxPoints = props.maxPoints;\n this.drawType = props.drawType;\n this.callback = callback;\n this.continuousDraw = continuousDraw; // 连续绘制\n this.constrainGeom = constrainGeom; // 绘制限制范围:geometry\n this.style = style;\n this.source = new VectorSource();\n\n this.layer = new VectorLayer({\n source: this.source,\n zIndex: props.zIndex || 20,\n style: function (feature) {\n return drawStyle(feature, style);\n },\n });\n\n this.map.addLayer(this.layer);\n if (!props.onlyDraw) {\n this.initModify();\n }\n }\n\n /**\n * @description:\n * @param {*} drawType DragBox-框选 Circle-圈选 Polygon-多边形选择\n * @return {*}\n */\n init(drawType, callback = this.callback, markerStyle) {\n const t = this;\n if (drawType) {\n const drawTool = new DrawConstrain({\n type: drawType,\n maxPoints: this.maxPoints,\n constrainGeom: this.constrainGeom,\n style: function (feature) {\n return drawStyle(feature, t.style);\n },\n ...(drawType === 'DragBox'\n ? {\n type: 'Circle',\n geometryFunction: createBox(),\n }\n : {}),\n ...(drawType === 'Marker'\n ? {\n type: 'Point',\n }\n : {}),\n });\n drawTool.on('drawstart', () => {\n this.drawTool.setActive(true);\n this.map.showTip(this.TextEnum.clickAgainToEnd);\n this.clearFeatures();\n this.callbackFn && this.callbackFn();\n });\n drawTool.on('drawend', event => {\n this.map.showTip(this.TextEnum.leftClickToStart);\n let drawSource = this.layer.getSource();\n this.drawFeature = event.feature;\n let _feature = event.feature.clone();\n if (drawType == 'Marker') {\n event.feature.setStyle(new Marker(markerStyle));\n }\n drawSource.addFeature(event.feature);\n callback && callback(_feature);\n this.drawTool.setActive(t.continuousDraw);\n });\n this.drawTool = drawTool;\n\n this.map.showTip(this.TextEnum.leftClickToStart);\n\n this.map.addInteraction(drawTool);\n }\n }\n\n initModify = () => {\n const t = this;\n const modify = new ModifyConstrain({\n source: this.source,\n constrainGeom: this.constrainGeom,\n });\n this.map.addInteraction(modify);\n modify.on('modifyend', event => {\n let features = event.features;\n let feature = features.item(features.getLength() - 1);\n this.drawFeature = feature;\n let _feature = feature.clone();\n t.callback && t.callback(_feature);\n });\n };\n\n clearFeatures() {\n this.source && this.source.clear();\n this.map.hideTip();\n }\n loadFeatures(feature) {\n if (this.style) {\n feature.setStyle(drawStyle(feature, this.style));\n }\n // feature.setStyle(drawStyle(feature, this.style));\n this.source && this.source.addFeatures([feature]);\n this.drawFeature = feature;\n }\n\n removeDrawTool() {\n this.map.removeInteraction(this.drawTool);\n }\n destroy() {\n this.map.removeLayer(this.layer);\n this.removeDrawTool();\n this.drawTool && this.drawTool.setActive(false);\n this.map.hideTip();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|