@vtx/ol-map 1.0.76 → 1.0.77
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 +1 -1
- 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/getSystemInfo.js.map +1 -1
- package/lib/_util/getToken.js.map +1 -1
- package/lib/_util/getUrlParam.js.map +1 -1
- package/lib/_util/http.js +18 -18
- 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/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.map +1 -1
- package/lib/_util/setCookie.js +4 -4
- package/lib/_util/setCookie.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 +20 -20
- package/lib/analysis-layer/index.js.map +1 -1
- package/lib/buffer-draw/BufferDraw.js.map +1 -1
- package/lib/buffer-draw/index.js.map +1 -1
- package/lib/config.js.map +1 -1
- package/lib/dom/Dom.js.map +1 -1
- package/lib/dom/index.js.map +1 -1
- package/lib/events/index.js.map +1 -1
- package/lib/feature-draw/FeatureDraw.js +4 -4
- package/lib/feature-draw/FeatureDraw.js.map +1 -1
- package/lib/feature-draw/index.js.map +1 -1
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/feature-layer/createFeatureCollection.js +11 -11
- package/lib/feature-layer/createFeatureCollection.js.map +1 -1
- 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.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.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 +2 -2
- package/lib/high-layer/HighLayer.js.map +1 -1
- package/lib/high-layer/index.js.map +1 -1
- package/lib/image-layer/ImageLayer.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.map +1 -1
- 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 +60 -60
- package/lib/map/Analysis.js.map +1 -1
- package/lib/map/Layers.js.map +1 -1
- package/lib/map/Popup.js +134 -41
- package/lib/map/Popup.js.map +1 -1
- 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 +37 -27
- 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 +99 -99
- 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.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.map +1 -1
- 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.map +1 -1
- package/lib/poi-search/Search.js.map +1 -1
- 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 +128 -128
- 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.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.map +1 -1
- 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.js.map +1 -1
- package/lib/search-map/style/index.less +71 -71
- package/lib/search-map/style/modal.less +58 -58
- package/lib/style/index.less +2 -2
- package/lib/style/themes/compact.less +1 -1
- package/lib/style/themes/dark.less +9 -9
- 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.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.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 +15 -35
- package/lib/tools/Search/index.js.map +1 -1
- package/lib/tools/Toolbox/BoxSelect/index.js +2 -2
- package/lib/tools/Toolbox/BoxSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/CircleSelect/index.js +2 -2
- package/lib/tools/Toolbox/CircleSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/EagleEye/index.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/Bookmark.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/index.js +2 -2
- 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.js +4 -4
- package/lib/tools/Toolbox/MapPrint/index.js.map +1 -1
- package/lib/tools/Toolbox/MapPrint/index.less +4 -4
- 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.map +1 -1
- 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.map +1 -1
- package/lib/tools/Toolbox/SelectTools/index.js +23 -18
- package/lib/tools/Toolbox/SelectTools/index.js.map +1 -1
- package/lib/tools/Toolbox/SelectTools/index.less +20 -20
- 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.map +1 -1
- package/lib/tools/Toolbox/ZoomInput/index.less +5 -5
- package/lib/tools/Toolbox/index.js +23 -26
- 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 +8 -8
- 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.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.map +1 -1
- package/lib/tools/components/Icon/index.js.map +1 -1
- package/lib/tools/components/ItemWrap/index.js +11 -3
- 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 +12 -7
- 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 +2 -2
- 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 +47 -0
- package/lib/tools/full-screen/index.js.map +1 -0
- package/lib/tools/index.js +19 -36
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/layer-control/index.js.map +1 -1
- package/lib/tools/refresh/index.js +41 -0
- package/lib/tools/refresh/index.js.map +1 -0
- package/lib/tools/style/css.js.map +1 -1
- package/lib/tools/style/index.js.map +1 -1
- package/lib/tools/style/index.less +144 -144
- package/lib/tools-item/index.js.map +1 -1
- package/lib/use-props/index.js.map +1 -1
- package/package.json +1 -1
package/lib/map/Layers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layers.js","names":["_EventEmitter2","_interopRequireDefault","require","_GroupLayer","_ImageLayer","_FeatureLayer","_lodash","_FlowLineLayer","obj","__esModule","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","Number","_inherits","subClass","superClass","create","constructor","value","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","getPrototypeOf","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","iter","iterator","isArray","len","arr2","getLayersVisibleKeys","data","map","visible","keys","loop","v","_v$layers","layer","layers","getLayerByKey","GroupLayer","_layer$group","group","f","hasOwnProperty","show","push","getAllKeys","_v$layers2","getLayers","_keys","_v$layers3","isVisible","displayName","getVisible","includes","newLayer","Layers","_EventEmitter","_super","options","_this","onChange","emit","addLayer","FeatureLayer","ImageLayer","FlowLineLayer","layerControl","removeLayer","filter","clearLayers","_this$layers","_this$getAllLayers","getAllLayers","find","item","_item$layers","getShowKeys","getHiddenKeys","getImageLayers","getFeatureLayers","setShowByKeys","a","_layer$group2","cloneDeep","forEach","JSON","stringify","setGroup","setVisible","setHideByKeys","_layer$group3","isEqual","EventEmitter","exports"],"sources":["map/Layers.js"],"sourcesContent":["import EventEmitter from '../_util/EventEmitter';\nimport GroupLayer from '../group-layer/GroupLayer';\nimport ImageLayer from '../image-layer/ImageLayer';\nimport FeatureLayer from '../feature-layer/FeatureLayer';\nimport {cloneDeep, isEqual} from 'lodash';\nimport FlowLineLayer from \"../flow-line-layer/FlowLineLayer\";\n\n// 获取显示或隐藏的keys\nconst getLayersVisibleKeys = (data, map, visible = true) => {\n let keys = [];\n function loop(data, map, visible) {\n data.map(v => {\n if (v.key) {\n let layer = map.layers.getLayerByKey(v.key);\n if (layer && !(layer instanceof GroupLayer)) {\n if (layer.group?.length) {\n if (visible) {\n layer.group.map(f => {\n if (!f.hasOwnProperty('show') || f.show) {\n keys.push(f.key);\n }\n });\n } else {\n layer.group.map(f => {\n if (!f.show) {\n keys.push(f.key);\n }\n });\n }\n } else if (layer.show === visible) {\n keys.push(v.key);\n }\n\n // 如果group的显示的长度和layer的不一致 则不显示\n // if (\n // layer.show === visible &&\n // layer.group?.filter(v => v.show)?.length == layer.group?.length\n // ) {\n // keys.push(v.key);\n // }\n }\n }\n if (v.layers?.length) {\n loop(v.layers, map, visible);\n }\n });\n }\n loop(data, map, visible);\n return keys;\n};\n// 获取所有keys\nconst getAllKeys = data => {\n let keys = [];\n data.map(v => {\n if (v.layers?.length) {\n keys.push(...getAllKeys(v.layers));\n }\n keys.push(v.key);\n });\n\n return keys;\n};\n// 获取图层\nconst getLayers = (data, layer, _keys, visible) => {\n const layers = [];\n // 判断查询 全部的 or 隐藏的 or 显示的\n function loop(data, layer, _keys, visible) {\n data.map(v => {\n const isVisible =\n typeof visible !== 'boolean'\n ? true\n : v.displayName !== 'GroupLayer'\n ? v?.getVisible() === visible\n : false;\n\n if (v.key && v instanceof layer && isVisible) {\n if (_keys) {\n const keys = Array.isArray(_keys) ? _keys : [_keys];\n\n if (keys.includes(v.key)) {\n layers.push(v);\n }\n } else {\n layers.push(v);\n }\n }\n if (v.layers?.length) {\n let newLayer = loop(v.layers, layer, _keys, visible);\n if (newLayer?.length) {\n layers.push(newLayer);\n }\n }\n });\n }\n loop(data, layer, _keys, visible);\n\n return layers;\n};\n\nexport default class Layers extends EventEmitter {\n constructor(options) {\n super();\n\n this.map = options.map;\n\n this.layers = [];\n }\n // 图层改变的时候\n onChange() {\n this.emit('change', this.layers);\n }\n addLayer(layer) {\n const map = this.map;\n if (layer instanceof FeatureLayer || layer instanceof ImageLayer || layer instanceof FlowLineLayer) {\n map.addLayer(layer);\n }\n if (layer.name && layer.layerControl) {\n this.layers.push(layer);\n this.emit('add', layer);\n this.onChange();\n }\n }\n removeLayer(layer) {\n const map = this.map;\n if (layer instanceof FeatureLayer || layer instanceof ImageLayer || layer instanceof FlowLineLayer) {\n map.removeLayer(layer);\n }\n if (layer.name && layer.layerControl) {\n this.layers = this.layers.filter(v => v !== layer);\n this.emit('remove', layer);\n this.onChange();\n }\n }\n // 图层清空\n clearLayers() {\n const map = this.map;\n this.layers?.map(layer => {\n if (layer instanceof FeatureLayer || layer instanceof ImageLayer || layer instanceof FlowLineLayer) {\n map.removeLayer(layer);\n }\n });\n this.layers = [];\n this.emit('clear');\n this.onChange();\n }\n getLayerByKey(_keys) {\n return this.getAllLayers()?.find(layer => {\n return _keys && layer.key && layer.key === _keys;\n });\n }\n getAllLayers() {\n let layers = [];\n function loop(data) {\n data.map(item => {\n layers.push(item);\n if (item?.layers?.length) {\n loop(item.layers);\n }\n });\n }\n loop(this.layers);\n return layers;\n }\n // 获取 layers 里面的 key 集合\n getAllKeys() {\n return getAllKeys(this.layers);\n }\n\n // 获取当前展示的 keys\n getShowKeys() {\n return getLayersVisibleKeys(this.layers, this.map, true);\n }\n\n // 获取当前隐藏的 keys\n getHiddenKeys() {\n return getLayersVisibleKeys(this.layers, this.map, false);\n }\n\n // 获取 ImageLayer 图层\n getImageLayers(_keys, visible) {\n return getLayers(this.layers, ImageLayer, _keys, visible);\n }\n\n // 获取 FeatureLayer 图层\n getFeatureLayers(_keys, visible) {\n return getLayers(this.layers, FeatureLayer, _keys, visible);\n }\n\n // 根据 keys 设置图层的显示,其他的隐藏\n setShowByKeys(_keys) {\n const map = this.map;\n const keys = Array.isArray(_keys) ? _keys : [_keys];\n this.getAllKeys().map(a => {\n let layer = map.layers.getLayerByKey(a);\n if (layer && !(layer instanceof GroupLayer)) {\n if (layer.group?.length) {\n let group = cloneDeep(layer.group);\n\n let show = false;\n group.forEach(v => {\n v.show = _keys.includes(v.key);\n\n if (_keys.includes(v.key)) {\n show = true;\n }\n });\n\n if (JSON.stringify(group) !== JSON.stringify(layer.group)) {\n layer.setGroup(group);\n }\n\n layer.show = show;\n layer.setVisible(show);\n } else {\n let show = keys.includes(a);\n if (show !== layer.show) {\n layer.show = show;\n layer.setVisible(show);\n }\n }\n }\n });\n map.layers.onChange();\n }\n\n // 根据 keys 设置图层的隐藏,其他的显示\n setHideByKeys(_keys) {\n const map = this.map;\n const keys = Array.isArray(_keys) ? _keys : [_keys];\n this.getAllKeys().map(a => {\n let layer = map.layers.getLayerByKey(a);\n if (layer) {\n if (layer.group?.length) {\n let group = cloneDeep(layer.group);\n group.forEach(v => {\n v.show = !_keys.includes(v.key);\n });\n\n if (!isEqual(group, layer.group)) {\n layer.setGroup(group);\n }\n } else {\n let show = !keys.includes(a);\n if (show !== layer.show) {\n layer.show = show;\n layer.setVisible(show);\n }\n }\n }\n });\n map.layers.onChange();\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Layers.js","names":["_EventEmitter2","_interopRequireDefault","require","_GroupLayer","_ImageLayer","_FeatureLayer","_lodash","_FlowLineLayer","obj","__esModule","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","Number","_inherits","subClass","superClass","create","constructor","value","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","getPrototypeOf","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","iter","iterator","isArray","len","arr2","getLayersVisibleKeys","data","map","visible","keys","loop","v","_v$layers","layer","layers","getLayerByKey","GroupLayer","_layer$group","group","f","hasOwnProperty","show","push","getAllKeys","_v$layers2","getLayers","_keys","_v$layers3","isVisible","displayName","getVisible","includes","newLayer","Layers","_EventEmitter","_super","options","_this","onChange","emit","addLayer","FeatureLayer","ImageLayer","FlowLineLayer","layerControl","removeLayer","filter","clearLayers","_this$layers","_this$getAllLayers","getAllLayers","find","item","_item$layers","getShowKeys","getHiddenKeys","getImageLayers","getFeatureLayers","setShowByKeys","a","_layer$group2","cloneDeep","forEach","JSON","stringify","setGroup","setVisible","setHideByKeys","_layer$group3","isEqual","EventEmitter","exports"],"sources":["map/Layers.js"],"sourcesContent":["import EventEmitter from '../_util/EventEmitter';\r\nimport GroupLayer from '../group-layer/GroupLayer';\r\nimport ImageLayer from '../image-layer/ImageLayer';\r\nimport FeatureLayer from '../feature-layer/FeatureLayer';\r\nimport {cloneDeep, isEqual} from 'lodash';\r\nimport FlowLineLayer from \"../flow-line-layer/FlowLineLayer\";\r\n\r\n// 获取显示或隐藏的keys\r\nconst getLayersVisibleKeys = (data, map, visible = true) => {\r\n let keys = [];\r\n function loop(data, map, visible) {\r\n data.map(v => {\r\n if (v.key) {\r\n let layer = map.layers.getLayerByKey(v.key);\r\n if (layer && !(layer instanceof GroupLayer)) {\r\n if (layer.group?.length) {\r\n if (visible) {\r\n layer.group.map(f => {\r\n if (!f.hasOwnProperty('show') || f.show) {\r\n keys.push(f.key);\r\n }\r\n });\r\n } else {\r\n layer.group.map(f => {\r\n if (!f.show) {\r\n keys.push(f.key);\r\n }\r\n });\r\n }\r\n } else if (layer.show === visible) {\r\n keys.push(v.key);\r\n }\r\n\r\n // 如果group的显示的长度和layer的不一致 则不显示\r\n // if (\r\n // layer.show === visible &&\r\n // layer.group?.filter(v => v.show)?.length == layer.group?.length\r\n // ) {\r\n // keys.push(v.key);\r\n // }\r\n }\r\n }\r\n if (v.layers?.length) {\r\n loop(v.layers, map, visible);\r\n }\r\n });\r\n }\r\n loop(data, map, visible);\r\n return keys;\r\n};\r\n// 获取所有keys\r\nconst getAllKeys = data => {\r\n let keys = [];\r\n data.map(v => {\r\n if (v.layers?.length) {\r\n keys.push(...getAllKeys(v.layers));\r\n }\r\n keys.push(v.key);\r\n });\r\n\r\n return keys;\r\n};\r\n// 获取图层\r\nconst getLayers = (data, layer, _keys, visible) => {\r\n const layers = [];\r\n // 判断查询 全部的 or 隐藏的 or 显示的\r\n function loop(data, layer, _keys, visible) {\r\n data.map(v => {\r\n const isVisible =\r\n typeof visible !== 'boolean'\r\n ? true\r\n : v.displayName !== 'GroupLayer'\r\n ? v?.getVisible() === visible\r\n : false;\r\n\r\n if (v.key && v instanceof layer && isVisible) {\r\n if (_keys) {\r\n const keys = Array.isArray(_keys) ? _keys : [_keys];\r\n\r\n if (keys.includes(v.key)) {\r\n layers.push(v);\r\n }\r\n } else {\r\n layers.push(v);\r\n }\r\n }\r\n if (v.layers?.length) {\r\n let newLayer = loop(v.layers, layer, _keys, visible);\r\n if (newLayer?.length) {\r\n layers.push(newLayer);\r\n }\r\n }\r\n });\r\n }\r\n loop(data, layer, _keys, visible);\r\n\r\n return layers;\r\n};\r\n\r\nexport default class Layers extends EventEmitter {\r\n constructor(options) {\r\n super();\r\n\r\n this.map = options.map;\r\n\r\n this.layers = [];\r\n }\r\n // 图层改变的时候\r\n onChange() {\r\n this.emit('change', this.layers);\r\n }\r\n addLayer(layer) {\r\n const map = this.map;\r\n if (layer instanceof FeatureLayer || layer instanceof ImageLayer || layer instanceof FlowLineLayer) {\r\n map.addLayer(layer);\r\n }\r\n if (layer.name && layer.layerControl) {\r\n this.layers.push(layer);\r\n this.emit('add', layer);\r\n this.onChange();\r\n }\r\n }\r\n removeLayer(layer) {\r\n const map = this.map;\r\n if (layer instanceof FeatureLayer || layer instanceof ImageLayer || layer instanceof FlowLineLayer) {\r\n map.removeLayer(layer);\r\n }\r\n if (layer.name && layer.layerControl) {\r\n this.layers = this.layers.filter(v => v !== layer);\r\n this.emit('remove', layer);\r\n this.onChange();\r\n }\r\n }\r\n // 图层清空\r\n clearLayers() {\r\n const map = this.map;\r\n this.layers?.map(layer => {\r\n if (layer instanceof FeatureLayer || layer instanceof ImageLayer || layer instanceof FlowLineLayer) {\r\n map.removeLayer(layer);\r\n }\r\n });\r\n this.layers = [];\r\n this.emit('clear');\r\n this.onChange();\r\n }\r\n getLayerByKey(_keys) {\r\n return this.getAllLayers()?.find(layer => {\r\n return _keys && layer.key && layer.key === _keys;\r\n });\r\n }\r\n getAllLayers() {\r\n let layers = [];\r\n function loop(data) {\r\n data.map(item => {\r\n layers.push(item);\r\n if (item?.layers?.length) {\r\n loop(item.layers);\r\n }\r\n });\r\n }\r\n loop(this.layers);\r\n return layers;\r\n }\r\n // 获取 layers 里面的 key 集合\r\n getAllKeys() {\r\n return getAllKeys(this.layers);\r\n }\r\n\r\n // 获取当前展示的 keys\r\n getShowKeys() {\r\n return getLayersVisibleKeys(this.layers, this.map, true);\r\n }\r\n\r\n // 获取当前隐藏的 keys\r\n getHiddenKeys() {\r\n return getLayersVisibleKeys(this.layers, this.map, false);\r\n }\r\n\r\n // 获取 ImageLayer 图层\r\n getImageLayers(_keys, visible) {\r\n return getLayers(this.layers, ImageLayer, _keys, visible);\r\n }\r\n\r\n // 获取 FeatureLayer 图层\r\n getFeatureLayers(_keys, visible) {\r\n return getLayers(this.layers, FeatureLayer, _keys, visible);\r\n }\r\n\r\n // 根据 keys 设置图层的显示,其他的隐藏\r\n setShowByKeys(_keys) {\r\n const map = this.map;\r\n const keys = Array.isArray(_keys) ? _keys : [_keys];\r\n this.getAllKeys().map(a => {\r\n let layer = map.layers.getLayerByKey(a);\r\n if (layer && !(layer instanceof GroupLayer)) {\r\n if (layer.group?.length) {\r\n let group = cloneDeep(layer.group);\r\n\r\n let show = false;\r\n group.forEach(v => {\r\n v.show = _keys.includes(v.key);\r\n\r\n if (_keys.includes(v.key)) {\r\n show = true;\r\n }\r\n });\r\n\r\n if (JSON.stringify(group) !== JSON.stringify(layer.group)) {\r\n layer.setGroup(group);\r\n }\r\n\r\n layer.show = show;\r\n layer.setVisible(show);\r\n } else {\r\n let show = keys.includes(a);\r\n if (show !== layer.show) {\r\n layer.show = show;\r\n layer.setVisible(show);\r\n }\r\n }\r\n }\r\n });\r\n map.layers.onChange();\r\n }\r\n\r\n // 根据 keys 设置图层的隐藏,其他的显示\r\n setHideByKeys(_keys) {\r\n const map = this.map;\r\n const keys = Array.isArray(_keys) ? _keys : [_keys];\r\n this.getAllKeys().map(a => {\r\n let layer = map.layers.getLayerByKey(a);\r\n if (layer) {\r\n if (layer.group?.length) {\r\n let group = cloneDeep(layer.group);\r\n group.forEach(v => {\r\n v.show = !_keys.includes(v.key);\r\n });\r\n\r\n if (!isEqual(group, layer.group)) {\r\n layer.setGroup(group);\r\n }\r\n } else {\r\n let show = !keys.includes(a);\r\n if (show !== layer.show) {\r\n layer.show = show;\r\n layer.setVisible(show);\r\n }\r\n }\r\n }\r\n });\r\n map.layers.onChange();\r\n }\r\n}\r\n"],"mappings":"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"}
|
package/lib/map/Popup.js
CHANGED
|
@@ -80,6 +80,48 @@ var Cluster = function Cluster(props) {
|
|
|
80
80
|
}]
|
|
81
81
|
}));
|
|
82
82
|
};
|
|
83
|
+
var FeatureTable = function FeatureTable(props) {
|
|
84
|
+
var tableData = props.tableData,
|
|
85
|
+
onFeatureClick = props.onFeatureClick,
|
|
86
|
+
onFitView = props.onFitView;
|
|
87
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
88
|
+
className: (0, _classnames["default"])('ol-map-popup-cluster')
|
|
89
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
90
|
+
className: (0, _classnames["default"])('ol-map-popup-cluster-header'),
|
|
91
|
+
style: {
|
|
92
|
+
padding: '10px 0'
|
|
93
|
+
}
|
|
94
|
+
}, "\u5171 ", tableData.length, " \u4E2A\u70B9\u4F4D", /*#__PURE__*/_react["default"].createElement("a", {
|
|
95
|
+
onClick: onFitView
|
|
96
|
+
}, "\u7F29\u653E\u81F3")), /*#__PURE__*/_react["default"].createElement(_antd.Table, {
|
|
97
|
+
pagination: false,
|
|
98
|
+
size: "small",
|
|
99
|
+
dataSource: tableData,
|
|
100
|
+
scroll: {
|
|
101
|
+
y: 120
|
|
102
|
+
},
|
|
103
|
+
columns: [{
|
|
104
|
+
title: '图层',
|
|
105
|
+
dataIndex: 'layerName',
|
|
106
|
+
width: 40,
|
|
107
|
+
render: function render(text, record) {
|
|
108
|
+
return record.layer.name;
|
|
109
|
+
}
|
|
110
|
+
}, {
|
|
111
|
+
title: '名称',
|
|
112
|
+
dataIndex: 'name',
|
|
113
|
+
width: 60,
|
|
114
|
+
render: function render(text, record) {
|
|
115
|
+
var _record$layer;
|
|
116
|
+
return /*#__PURE__*/_react["default"].createElement("a", {
|
|
117
|
+
onClick: function onClick() {
|
|
118
|
+
return onFeatureClick(record);
|
|
119
|
+
}
|
|
120
|
+
}, record.feature.values_[(record === null || record === void 0 ? void 0 : (_record$layer = record.layer) === null || _record$layer === void 0 ? void 0 : _record$layer.labelField) || 'name']);
|
|
121
|
+
}
|
|
122
|
+
}]
|
|
123
|
+
}));
|
|
124
|
+
};
|
|
83
125
|
var MapPopup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
84
126
|
var _useState = (0, _react.useState)(null),
|
|
85
127
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -118,7 +160,14 @@ var MapPopup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
118
160
|
map.removeOverlay(overlay);
|
|
119
161
|
};
|
|
120
162
|
}, []);
|
|
121
|
-
var showTemplate = function showTemplate(feature) {
|
|
163
|
+
var showTemplate = function showTemplate(feature, options) {
|
|
164
|
+
var _ref = options || {},
|
|
165
|
+
fitViewOptions = _ref.fitViewOptions;
|
|
166
|
+
if (Array.isArray(feature) && feature.length >= 2) {
|
|
167
|
+
showTemplateByFeatures(feature, options);
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
feature = Array.isArray(feature) ? feature[0] : feature;
|
|
122
171
|
featureRef.current = feature;
|
|
123
172
|
if (!feature) {
|
|
124
173
|
hideTemplate();
|
|
@@ -129,27 +178,7 @@ var MapPopup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
129
178
|
// 判断是否为聚合点击
|
|
130
179
|
var features = feature.get('features');
|
|
131
180
|
if (features && features.length >= 2) {
|
|
132
|
-
|
|
133
|
-
var coordinate = feature === null || feature === void 0 ? void 0 : (_feature$getGeometry = feature.getGeometry()) === null || _feature$getGeometry === void 0 ? void 0 : _feature$getGeometry.getCoordinates();
|
|
134
|
-
overlayRef.current.setPosition(coordinate);
|
|
135
|
-
setTitle( /*#__PURE__*/_react["default"].createElement(ClusterTitle, {
|
|
136
|
-
layer: layer
|
|
137
|
-
}));
|
|
138
|
-
|
|
139
|
-
// 判断是否有自定义聚合列表模版
|
|
140
|
-
var Template = (layer === null || layer === void 0 ? void 0 : (_layer$_options = layer._options) === null || _layer$_options === void 0 ? void 0 : (_layer$_options$clust = _layer$_options.cluster) === null || _layer$_options$clust === void 0 ? void 0 : _layer$_options$clust.template) || Cluster;
|
|
141
|
-
setContent( /*#__PURE__*/_react["default"].createElement(Template, {
|
|
142
|
-
layer: layer,
|
|
143
|
-
features: features,
|
|
144
|
-
onFitView: function onFitView() {
|
|
145
|
-
map.fitView(features);
|
|
146
|
-
hideTemplate();
|
|
147
|
-
},
|
|
148
|
-
onFeatureClick: function onFeatureClick(f) {
|
|
149
|
-
map.fitView(f);
|
|
150
|
-
showTemplate(f);
|
|
151
|
-
}
|
|
152
|
-
}));
|
|
181
|
+
showTemplateByCluster(feature, layer, features);
|
|
153
182
|
return;
|
|
154
183
|
}
|
|
155
184
|
if (!(layer !== null && layer !== void 0 && layer.template)) {
|
|
@@ -158,7 +187,7 @@ var MapPopup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
158
187
|
|
|
159
188
|
// 记录放大前的视角
|
|
160
189
|
getView();
|
|
161
|
-
map.highlightLayer.addHighlightFeature(feature);
|
|
190
|
+
map.highlightLayer.addHighlightFeature(feature, fitViewOptions);
|
|
162
191
|
if (layer) {
|
|
163
192
|
var template = layer.template;
|
|
164
193
|
var labelField = layer.labelField;
|
|
@@ -171,28 +200,85 @@ var MapPopup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
171
200
|
var geometry = feature.getGeometry();
|
|
172
201
|
if (geometry) {
|
|
173
202
|
var type = geometry.getType();
|
|
174
|
-
var
|
|
203
|
+
var coordinate = geometry.getCoordinates();
|
|
175
204
|
if (['MultiLineString', 'LineString'].includes(type)) {
|
|
176
205
|
if (geometry.getFlatMidpoints) {
|
|
177
|
-
|
|
206
|
+
coordinate = geometry.getFlatMidpoints();
|
|
178
207
|
} else if (geometry.getFlatMidpoint) {
|
|
179
|
-
|
|
208
|
+
coordinate = geometry.getFlatMidpoint();
|
|
180
209
|
}
|
|
181
210
|
offset = [7, 0];
|
|
182
211
|
} else if (['MultiPolygon', 'Polygon'].includes(type)) {
|
|
183
212
|
if (geometry.getFlatInteriorPoints) {
|
|
184
|
-
|
|
213
|
+
coordinate = geometry.getFlatInteriorPoints();
|
|
185
214
|
} else if (geometry.getFlatInteriorPoint) {
|
|
186
|
-
|
|
215
|
+
coordinate = geometry.getFlatInteriorPoint();
|
|
187
216
|
}
|
|
188
217
|
offset = [10, 0];
|
|
189
218
|
}
|
|
190
|
-
overlayRef.current.setPosition(
|
|
219
|
+
overlayRef.current.setPosition(coordinate);
|
|
191
220
|
overlayRef.current.values_.offset = offset;
|
|
192
221
|
}
|
|
193
222
|
}
|
|
194
223
|
}
|
|
195
224
|
};
|
|
225
|
+
|
|
226
|
+
// 聚合点位展示
|
|
227
|
+
var showTemplateByCluster = function showTemplateByCluster(feature, layer, features) {
|
|
228
|
+
var _feature$getGeometry, _layer$_options, _layer$_options$clust;
|
|
229
|
+
var coordinate = feature === null || feature === void 0 ? void 0 : (_feature$getGeometry = feature.getGeometry()) === null || _feature$getGeometry === void 0 ? void 0 : _feature$getGeometry.getCoordinates();
|
|
230
|
+
overlayRef.current.setPosition(coordinate);
|
|
231
|
+
setTitle( /*#__PURE__*/_react["default"].createElement(ClusterTitle, {
|
|
232
|
+
layer: layer
|
|
233
|
+
}));
|
|
234
|
+
|
|
235
|
+
// 判断是否有自定义聚合列表模版
|
|
236
|
+
var Template = (layer === null || layer === void 0 ? void 0 : (_layer$_options = layer._options) === null || _layer$_options === void 0 ? void 0 : (_layer$_options$clust = _layer$_options.cluster) === null || _layer$_options$clust === void 0 ? void 0 : _layer$_options$clust.template) || Cluster;
|
|
237
|
+
setContent( /*#__PURE__*/_react["default"].createElement(Template, {
|
|
238
|
+
layer: layer,
|
|
239
|
+
features: features,
|
|
240
|
+
onFitView: function onFitView() {
|
|
241
|
+
map.fitView(features);
|
|
242
|
+
hideTemplate();
|
|
243
|
+
},
|
|
244
|
+
onFeatureClick: function onFeatureClick(f) {
|
|
245
|
+
map.fitView(f);
|
|
246
|
+
showTemplate(f);
|
|
247
|
+
}
|
|
248
|
+
}));
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
// 多个点位展示
|
|
252
|
+
var showTemplateByFeatures = function showTemplateByFeatures(features) {
|
|
253
|
+
overlayRef.current.setPosition(map._clickObject.coordinate);
|
|
254
|
+
overlayRef.current.values_.offset = [10, -10];
|
|
255
|
+
setTitle(null);
|
|
256
|
+
var tableData = [];
|
|
257
|
+
features.map(function (feature) {
|
|
258
|
+
var layer = map.getLayerByFeature(feature);
|
|
259
|
+
tableData.push({
|
|
260
|
+
layer: layer,
|
|
261
|
+
feature: feature
|
|
262
|
+
});
|
|
263
|
+
});
|
|
264
|
+
setContent( /*#__PURE__*/_react["default"].createElement(FeatureTable, {
|
|
265
|
+
tableData: tableData,
|
|
266
|
+
onFitView: function onFitView() {
|
|
267
|
+
map.fitView(features);
|
|
268
|
+
hideTemplate();
|
|
269
|
+
},
|
|
270
|
+
onFeatureClick: function onFeatureClick(record) {
|
|
271
|
+
var feature = record.feature;
|
|
272
|
+
var layer = map.getLayerByFeature(feature);
|
|
273
|
+
var properties = feature.getProperties();
|
|
274
|
+
layer === null || layer === void 0 ? void 0 : layer.onClick(properties, map._clickObject);
|
|
275
|
+
if (layer !== null && layer !== void 0 && layer.template) {
|
|
276
|
+
map.fitView(feature);
|
|
277
|
+
showTemplate(feature);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}));
|
|
281
|
+
};
|
|
196
282
|
var hideTemplate = function hideTemplate() {
|
|
197
283
|
overlayRef.current.setPosition(undefined);
|
|
198
284
|
map.highlightLayer.clearFeatures();
|
|
@@ -202,11 +288,16 @@ var MapPopup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
202
288
|
};
|
|
203
289
|
var getView = function getView() {
|
|
204
290
|
var view = map.getView();
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
291
|
+
var zoom = view.getZoom();
|
|
292
|
+
var viewParams;
|
|
293
|
+
if (zoom < 15) {
|
|
294
|
+
viewParams = {
|
|
295
|
+
extent: view.calculateExtent(map.getSize()),
|
|
296
|
+
zoom: view.getZoom(),
|
|
297
|
+
center: view.getCenter()
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
viewRef.current = viewParams;
|
|
210
301
|
};
|
|
211
302
|
var onClose = function onClose() {
|
|
212
303
|
// 回调事件
|
|
@@ -216,13 +307,15 @@ var MapPopup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
216
307
|
hideTemplate();
|
|
217
308
|
|
|
218
309
|
// 恢复打开前的视角
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
310
|
+
if (viewRef.current) {
|
|
311
|
+
var _viewRef$current = viewRef.current,
|
|
312
|
+
zoom = _viewRef$current.zoom,
|
|
313
|
+
center = _viewRef$current.center;
|
|
314
|
+
map.getView().animate({
|
|
315
|
+
zoom: zoom,
|
|
316
|
+
center: center
|
|
317
|
+
});
|
|
318
|
+
}
|
|
226
319
|
};
|
|
227
320
|
return /*#__PURE__*/_react["default"].createElement(_popup["default"], {
|
|
228
321
|
ref: popupRef,
|
package/lib/map/Popup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popup.js","names":["_react","_interopRequireWildcard","require","_antd","_ol","_layer","_classnames","_interopRequireDefault","_layerControl","_popup","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","ClusterTitle","props","layer","imgUrl","getImgUrl","createElement","className","classnames","src","alt","Cluster","features","onFeatureClick","onFitView","labelField","onClick","Table","pagination","size","dataSource","scroll","y","columns","title","dataIndex","width","render","text","record","values_","MapPopup","forwardRef","ref","_useState","useState","_useState2","content","setContent","_useState3","_useState4","setTitle","overlayRef","useRef","popupRef","featureRef","viewRef","map","useImperativeHandle","showTemplate","hideTemplate","useEffect","overlay","Overlay","element","current","wrapDom","autoPan","animation","duration","stopEvent","positioning","offset","addOverlay","removeOverlay","feature","getLayerByFeature","_feature$getGeometry","_layer$_options","_layer$_options$clust","coordinate","getGeometry","getCoordinates","setPosition","Template","_options","cluster","template","fitView","f","getView","highlightLayer","addHighlightFeature","Image","geometry","type","getType","includes","getFlatMidpoints","getFlatMidpoint","getFlatInteriorPoints","getFlatInteriorPoint","undefined","clearFeatures","view","extent","calculateExtent","getSize","zoom","getZoom","center","getCenter","onClose","onCloseTemplateBefore","_viewRef$current","animate","_default","exports"],"sources":["map/Popup.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState, useImperativeHandle, forwardRef } from 'react';\nimport { Table } from 'antd';\nimport { Overlay } from 'ol';\nimport { Image } from 'ol/layer';\nimport classnames from 'classnames';\nimport {getImgUrl} from '../tools/layer-control';\nimport Popup from '../popup';\nimport './style';\n\nconst ClusterTitle = (props) => {\n const { layer } = props;\n let { name } = layer;\n\n const imgUrl = getImgUrl(layer);\n\n return (\n <div className={classnames('ol-map-popup-cluster-title')}>\n <img src={imgUrl} alt=\"\" className={classnames('ol-map-popup-cluster-title-img')}/>\n <span className={classnames('ol-map-popup-cluster-title-text')}>{name}</span>\n </div>\n )\n}\n\nconst Cluster = props => {\n const { layer, features, onFeatureClick, onFitView } = props;\n let { labelField } = layer;\n\n return (\n <div className={classnames('ol-map-popup-cluster')}>\n <div className={classnames('ol-map-popup-cluster-header')}>\n 共 {features.length} 个点位\n <a onClick={onFitView}>缩放至</a>\n </div>\n <Table\n pagination={false}\n size=\"small\"\n dataSource={features}\n scroll={{ y: 120 }}\n columns={[\n {\n title: '名称',\n dataIndex: '名称',\n width: 60,\n render: (text, record) => {\n return (\n <a onClick={() => onFeatureClick(record)}>\n {record.values_[labelField]}\n </a>\n );\n },\n },\n {\n title: '操作',\n dataIndex: '操作',\n width: 30,\n render: (text, record) => {\n return <a onClick={() => onFeatureClick(record)}>定位</a>;\n },\n },\n ]}\n />\n </div>\n );\n};\n\nconst MapPopup = forwardRef((props, ref) => {\n const [content, setContent] = useState(null);\n const [title, setTitle] = useState(null);\n const overlayRef = useRef();\n const popupRef = useRef();\n const featureRef = useRef();\n const viewRef = useRef({});\n\n const { map } = props;\n\n useImperativeHandle(ref, () => {\n return {\n showTemplate,\n hideTemplate,\n };\n });\n\n useEffect(() => {\n const overlay = new Overlay({\n element: popupRef.current.wrapDom,\n autoPan: {\n animation: {\n duration: 250,\n },\n },\n stopEvent: true,\n positioning: 'bottom-center',\n offset: [10, -45],\n });\n overlayRef.current = overlay;\n\n map.addOverlay(overlay);\n\n return () => {\n map.removeOverlay(overlay);\n };\n }, []);\n\n const showTemplate = feature => {\n featureRef.current = feature;\n\n if (!feature) {\n hideTemplate();\n return;\n }\n\n let layer = map.getLayerByFeature(feature);\n\n // 判断是否为聚合点击\n const features = feature.get('features');\n if (features && features.length >= 2) {\n let coordinate = feature?.getGeometry()?.getCoordinates();\n overlayRef.current.setPosition(coordinate);\n\n setTitle(<ClusterTitle layer={layer}/>)\n\n // 判断是否有自定义聚合列表模版\n let Template = layer?._options?.cluster?.template || Cluster;\n setContent(\n <Template\n layer={layer}\n features={features}\n onFitView={() => {\n map.fitView(features);\n hideTemplate();\n }}\n onFeatureClick={f => {\n map.fitView(f);\n showTemplate(f);\n }}\n />,\n );\n return;\n }\n\n if (!layer?.template) {\n return;\n }\n\n // 记录放大前的视角\n getView();\n\n map.highlightLayer.addHighlightFeature(feature);\n\n if (layer) {\n let template = layer.template;\n let labelField = layer.labelField;\n if (labelField) {\n setTitle(feature.values_[labelField]);\n }\n if (template) {\n setContent(template(feature));\n\n let offset = layer instanceof Image ? [10, -10] : [10, -45];\n\n let geometry = feature.getGeometry();\n if (geometry) {\n let type = geometry.getType();\n let coordinate = geometry.getCoordinates();\n\n if (['MultiLineString', 'LineString'].includes(type)) {\n if (geometry.getFlatMidpoints) {\n coordinate = geometry.getFlatMidpoints();\n } else if (geometry.getFlatMidpoint) {\n coordinate = geometry.getFlatMidpoint();\n }\n offset = [7, 0];\n } else if (['MultiPolygon', 'Polygon'].includes(type)) {\n if (geometry.getFlatInteriorPoints) {\n coordinate = geometry.getFlatInteriorPoints();\n } else if (geometry.getFlatInteriorPoint) {\n coordinate = geometry.getFlatInteriorPoint();\n }\n offset = [10, 0];\n }\n\n overlayRef.current.setPosition(coordinate);\n overlayRef.current.values_.offset = offset;\n }\n }\n }\n };\n\n const hideTemplate = () => {\n overlayRef.current.setPosition(undefined);\n map.highlightLayer.clearFeatures();\n setContent(null);\n setTitle(null);\n featureRef.current = null;\n };\n\n const getView = () => {\n const view = map.getView();\n\n viewRef.current = {\n extent: view.calculateExtent(map.getSize()),\n zoom: view.getZoom(),\n center: view.getCenter(),\n };\n };\n\n const onClose = () => {\n // 回调事件\n map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current);\n\n // 隐藏气泡\n hideTemplate();\n\n // 恢复打开前的视角\n const {zoom, center} = viewRef.current;\n map.getView().animate({zoom, center});\n };\n return (\n <Popup ref={popupRef} title={title} onClose={onClose}>\n {content}\n </Popup>\n );\n});\n\nexport default MapPopup;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Popup.js","names":["_react","_interopRequireWildcard","require","_antd","_ol","_layer","_classnames","_interopRequireDefault","_layerControl","_popup","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","ClusterTitle","props","layer","imgUrl","getImgUrl","createElement","className","classnames","src","alt","Cluster","features","onFeatureClick","onFitView","labelField","onClick","Table","pagination","size","dataSource","scroll","y","columns","title","dataIndex","width","render","text","record","values_","FeatureTable","tableData","style","padding","_record$layer","feature","MapPopup","forwardRef","ref","_useState","useState","_useState2","content","setContent","_useState3","_useState4","setTitle","overlayRef","useRef","popupRef","featureRef","viewRef","map","useImperativeHandle","showTemplate","hideTemplate","useEffect","overlay","Overlay","element","current","wrapDom","autoPan","animation","duration","stopEvent","positioning","offset","addOverlay","removeOverlay","options","_ref","fitViewOptions","showTemplateByFeatures","getLayerByFeature","showTemplateByCluster","template","getView","highlightLayer","addHighlightFeature","Image","geometry","getGeometry","type","getType","coordinate","getCoordinates","includes","getFlatMidpoints","getFlatMidpoint","getFlatInteriorPoints","getFlatInteriorPoint","setPosition","_feature$getGeometry","_layer$_options","_layer$_options$clust","Template","_options","cluster","fitView","f","_clickObject","properties","getProperties","undefined","clearFeatures","view","zoom","getZoom","viewParams","extent","calculateExtent","getSize","center","getCenter","onClose","onCloseTemplateBefore","_viewRef$current","animate","_default","exports"],"sources":["map/Popup.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState, useImperativeHandle, forwardRef } from 'react';\r\nimport { Table } from 'antd';\r\nimport { Overlay } from 'ol';\r\nimport { Image } from 'ol/layer';\r\nimport classnames from 'classnames';\r\nimport {getImgUrl} from '../tools/layer-control';\r\nimport Popup from '../popup';\r\nimport './style';\r\n\r\nconst ClusterTitle = (props) => {\r\n const { layer } = props;\r\n let { name } = layer;\r\n\r\n const imgUrl = getImgUrl(layer);\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster-title')}>\r\n <img src={imgUrl} alt=\"\" className={classnames('ol-map-popup-cluster-title-img')}/>\r\n <span className={classnames('ol-map-popup-cluster-title-text')}>{name}</span>\r\n </div>\r\n )\r\n}\r\n\r\nconst Cluster = props => {\r\n const { layer, features, onFeatureClick, onFitView } = props;\r\n let { labelField } = layer;\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster')}>\r\n <div className={classnames('ol-map-popup-cluster-header')}>\r\n 共 {features.length} 个点位\r\n <a onClick={onFitView}>缩放至</a>\r\n </div>\r\n <Table\r\n pagination={false}\r\n size=\"small\"\r\n dataSource={features}\r\n scroll={{ y: 120 }}\r\n columns={[\r\n {\r\n title: '名称',\r\n dataIndex: '名称',\r\n width: 60,\r\n render: (text, record) => {\r\n return (\r\n <a onClick={() => onFeatureClick(record)}>\r\n {record.values_[labelField]}\r\n </a>\r\n );\r\n },\r\n },\r\n {\r\n title: '操作',\r\n dataIndex: '操作',\r\n width: 30,\r\n render: (text, record) => {\r\n return <a onClick={() => onFeatureClick(record)}>定位</a>;\r\n },\r\n },\r\n ]}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\n\r\nconst FeatureTable = props => {\r\n const { tableData, onFeatureClick, onFitView } = props;\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster')}>\r\n <div className={classnames('ol-map-popup-cluster-header')} style={{padding: '10px 0'}}>\r\n 共 {tableData.length} 个点位\r\n <a onClick={onFitView}>缩放至</a>\r\n </div>\r\n <Table\r\n pagination={false}\r\n size=\"small\"\r\n dataSource={tableData}\r\n scroll={{ y: 120 }}\r\n columns={[\r\n {\r\n title: '图层',\r\n dataIndex: 'layerName',\r\n width: 40,\r\n render: (text, record) => record.layer.name\r\n },\r\n {\r\n title: '名称',\r\n dataIndex: 'name',\r\n width: 60,\r\n render: (text, record) => {\r\n return (\r\n <a onClick={() => onFeatureClick(record)}>\r\n {record.feature.values_[record?.layer?.labelField || 'name']}\r\n </a>\r\n );\r\n },\r\n }\r\n ]}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nconst MapPopup = forwardRef((props, ref) => {\r\n const [content, setContent] = useState(null);\r\n const [title, setTitle] = useState(null);\r\n const overlayRef = useRef();\r\n const popupRef = useRef();\r\n const featureRef = useRef();\r\n const viewRef = useRef({});\r\n\r\n const { map } = props;\r\n\r\n useImperativeHandle(ref, () => {\r\n return {\r\n showTemplate,\r\n hideTemplate,\r\n };\r\n });\r\n\r\n useEffect(() => {\r\n const overlay = new Overlay({\r\n element: popupRef.current.wrapDom,\r\n autoPan: {\r\n animation: {\r\n duration: 250,\r\n },\r\n },\r\n stopEvent: true,\r\n positioning: 'bottom-center',\r\n offset: [10, -45],\r\n });\r\n overlayRef.current = overlay;\r\n\r\n map.addOverlay(overlay);\r\n\r\n return () => {\r\n map.removeOverlay(overlay);\r\n };\r\n }, []);\r\n\r\n\r\n const showTemplate = (feature, options) => {\r\n const {fitViewOptions} = options || {};\r\n\r\n if (Array.isArray(feature) && feature.length >= 2) {\r\n showTemplateByFeatures(feature, options)\r\n return;\r\n }\r\n\r\n feature = Array.isArray(feature) ? feature[0] : feature;\r\n\r\n featureRef.current = feature;\r\n\r\n if (!feature) {\r\n hideTemplate();\r\n return;\r\n }\r\n\r\n let layer = map.getLayerByFeature(feature);\r\n\r\n // 判断是否为聚合点击\r\n const features = feature.get('features');\r\n if (features && features.length >= 2) {\r\n showTemplateByCluster(feature, layer, features);\r\n return;\r\n }\r\n\r\n if (!layer?.template) {\r\n return;\r\n }\r\n\r\n // 记录放大前的视角\r\n getView();\r\n\r\n map.highlightLayer.addHighlightFeature(feature, fitViewOptions);\r\n\r\n if (layer) {\r\n let template = layer.template;\r\n let labelField = layer.labelField;\r\n if (labelField) {\r\n setTitle(feature.values_[labelField]);\r\n }\r\n if (template) {\r\n setContent(template(feature));\r\n\r\n let offset = layer instanceof Image ? [10, -10] : [10, -45];\r\n\r\n let geometry = feature.getGeometry();\r\n if (geometry) {\r\n let type = geometry.getType();\r\n let coordinate = geometry.getCoordinates();\r\n\r\n if (['MultiLineString', 'LineString'].includes(type)) {\r\n if (geometry.getFlatMidpoints) {\r\n coordinate = geometry.getFlatMidpoints();\r\n } else if (geometry.getFlatMidpoint) {\r\n coordinate = geometry.getFlatMidpoint();\r\n }\r\n offset = [7, 0];\r\n } else if (['MultiPolygon', 'Polygon'].includes(type)) {\r\n if (geometry.getFlatInteriorPoints) {\r\n coordinate = geometry.getFlatInteriorPoints();\r\n } else if (geometry.getFlatInteriorPoint) {\r\n coordinate = geometry.getFlatInteriorPoint();\r\n }\r\n offset = [10, 0];\r\n }\r\n\r\n overlayRef.current.setPosition(coordinate);\r\n overlayRef.current.values_.offset = offset;\r\n }\r\n }\r\n }\r\n };\r\n\r\n\r\n // 聚合点位展示\r\n const showTemplateByCluster = (feature, layer, features) => {\r\n let coordinate = feature?.getGeometry()?.getCoordinates();\r\n overlayRef.current.setPosition(coordinate);\r\n\r\n setTitle(<ClusterTitle layer={layer}/>)\r\n\r\n // 判断是否有自定义聚合列表模版\r\n let Template = layer?._options?.cluster?.template || Cluster;\r\n setContent(\r\n <Template\r\n layer={layer}\r\n features={features}\r\n onFitView={() => {\r\n map.fitView(features);\r\n hideTemplate();\r\n }}\r\n onFeatureClick={f => {\r\n map.fitView(f);\r\n showTemplate(f);\r\n }}\r\n />\r\n );\r\n }\r\n\r\n // 多个点位展示\r\n const showTemplateByFeatures = (features) => {\r\n overlayRef.current.setPosition(map._clickObject.coordinate);\r\n overlayRef.current.values_.offset = [10, -10];\r\n\r\n setTitle(null);\r\n\r\n const tableData = [];\r\n features.map(feature => {\r\n let layer = map.getLayerByFeature(feature);\r\n tableData.push({\r\n layer: layer,\r\n feature: feature,\r\n })\r\n })\r\n\r\n setContent(\r\n <FeatureTable\r\n tableData={tableData}\r\n onFitView={() => {\r\n map.fitView(features);\r\n hideTemplate();\r\n }}\r\n onFeatureClick={record => {\r\n let {feature} = record;\r\n let layer = map.getLayerByFeature(feature);\r\n\r\n let properties = feature.getProperties();\r\n layer?.onClick(properties, map._clickObject);\r\n\r\n if (layer?.template) {\r\n map.fitView(feature);\r\n showTemplate(feature);\r\n }\r\n }}\r\n />\r\n );\r\n }\r\n\r\n const hideTemplate = () => {\r\n overlayRef.current.setPosition(undefined);\r\n map.highlightLayer.clearFeatures();\r\n setContent(null);\r\n setTitle(null);\r\n featureRef.current = null;\r\n };\r\n\r\n const getView = () => {\r\n const view = map.getView();\r\n\r\n let zoom = view.getZoom();\r\n let viewParams;\r\n if (zoom < 15) {\r\n viewParams = {\r\n extent: view.calculateExtent(map.getSize()),\r\n zoom: view.getZoom(),\r\n center: view.getCenter(),\r\n }\r\n }\r\n viewRef.current = viewParams\r\n };\r\n\r\n const onClose = () => {\r\n // 回调事件\r\n map.onCloseTemplateBefore && map.onCloseTemplateBefore(featureRef.current);\r\n\r\n // 隐藏气泡\r\n hideTemplate();\r\n\r\n // 恢复打开前的视角\r\n if (viewRef.current) {\r\n const {zoom, center} = viewRef.current;\r\n map.getView().animate({zoom, center});\r\n }\r\n };\r\n return (\r\n <Popup\r\n ref={popupRef}\r\n title={title}\r\n onClose={onClose}\r\n >\r\n {content}\r\n </Popup>\r\n );\r\n});\r\n\r\nexport default MapPopup;\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmapImageryProvider.js","names":["_layer","require","_proj","_source","PI","Math","AXIS","OFFSET","delta","wgLon","wgLat","dLat","transformLat","dLon","transformLon","radLat","magic","sin","sqrtMagic","sqrt","cos","outOfChina","lon","lat","x","y","ret","abs","forEachPoint","func","input","opt_output","opt_dimension","len","length","dimension","output","slice","Array","offset","gcj02","toWGS84","lng","deltaD","fromWGS84","projzh","ll2smerc","getTransform","smerc2ll","ll2gmerc","gmerc2ll","smerc2gmerc","gmerc2smerc","gcj02Mecator","Projection","code","extent","units","addProjection","addCoordinateTransforms","getSource","XYZSource","projection","maxZoom","url","crossOrigin","getLayer","_ref","dark","mapLayer","TileLayer","source","className","zIndex","transform","coordinate","transformProj","_default","mercator","exports"],"sources":["map/getBaseLayers/imagery/amap/AmapImageryProvider.js"],"sourcesContent":["import { Tile as TileLayer } from 'ol/layer';\n// 导入proj控件,使用其方法注入gcj02坐标系\nimport { Projection, addProjection, addCoordinateTransforms, getTransform } from 'ol/proj';\nimport { XYZ as XYZSource } from 'ol/source';\nimport { transform as transformProj } from 'ol/proj';\n\nconst PI = Math.PI;\nconst AXIS = 6378245.0;\nconst OFFSET = 0.00669342162296594323; // (a^2 - b^2) / a^2\n\nfunction delta(wgLon, wgLat) {\n let dLat = transformLat(wgLon - 105.0, wgLat - 35.0);\n let dLon = transformLon(wgLon - 105.0, wgLat - 35.0);\n const radLat = (wgLat / 180.0) * PI;\n let magic = Math.sin(radLat);\n magic = 1 - OFFSET * magic * magic;\n const sqrtMagic = Math.sqrt(magic);\n dLat = (dLat * 180.0) / (((AXIS * (1 - OFFSET)) / (magic * sqrtMagic)) * PI);\n dLon = (dLon * 180.0) / ((AXIS / sqrtMagic) * Math.cos(radLat) * PI);\n return [dLon, dLat];\n}\n\nfunction outOfChina(lon, lat) {\n if (lon < 72.004 || lon > 137.8347) {\n return true;\n }\n if (lat < 0.8293 || lat > 55.8271) {\n return true;\n }\n return false;\n}\n\nfunction transformLat(x, y) {\n let ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x));\n ret += ((20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0) / 3.0;\n ret += ((20.0 * Math.sin(y * PI) + 40.0 * Math.sin((y / 3.0) * PI)) * 2.0) / 3.0;\n ret += ((160.0 * Math.sin((y / 12.0) * PI) + 320 * Math.sin((y * PI) / 30.0)) * 2.0) / 3.0;\n return ret;\n}\n\nfunction transformLon(x, y) {\n let ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x));\n ret += ((20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0) / 3.0;\n ret += ((20.0 * Math.sin(x * PI) + 40.0 * Math.sin((x / 3.0) * PI)) * 2.0) / 3.0;\n ret += ((150.0 * Math.sin((x / 12.0) * PI) + 300.0 * Math.sin((x / 30.0) * PI)) * 2.0) / 3.0;\n return ret;\n}\n\nconst forEachPoint = function (func) {\n return function (input, opt_output, opt_dimension) {\n const len = input.length;\n const dimension = opt_dimension || 2;\n let output;\n if (opt_output) {\n output = opt_output;\n } else if (dimension !== 2) {\n output = input.slice();\n } else {\n output = new Array(len);\n }\n for (let offset = 0; offset < len; offset += dimension) {\n func(input, output, offset);\n }\n return output;\n };\n};\n\nconst gcj02 = {\n toWGS84: forEachPoint(function (input, output, offset) {\n let lng = input[offset];\n let lat = input[offset + 1];\n if (!outOfChina(lng, lat)) {\n const deltaD = delta(lng, lat);\n lng = lng - deltaD[0];\n lat = lat - deltaD[1];\n }\n output[offset] = lng;\n output[offset + 1] = lat;\n }),\n fromWGS84: forEachPoint(function (input, output, offset) {\n let lng = input[offset];\n let lat = input[offset + 1];\n if (!outOfChina(lng, lat)) {\n const deltaD = delta(lng, lat);\n lng = lng + deltaD[0];\n lat = lat + deltaD[1];\n }\n output[offset] = lng;\n output[offset + 1] = lat;\n }),\n};\n\nconst projzh = {\n ll2smerc: getTransform('EPSG:4326', 'EPSG:3857'),\n smerc2ll: getTransform('EPSG:3857', 'EPSG:4326'),\n};\n\n// wgs84 -> gcj02\nprojzh.ll2gmerc = function (input, opt_output, opt_dimension) {\n const output = gcj02.fromWGS84(input, opt_output, opt_dimension);\n return projzh.ll2smerc(output, output, opt_dimension);\n};\n// gcj02 -> wgs84\nprojzh.gmerc2ll = function (input, opt_output, opt_dimension) {\n const output = projzh.smerc2ll(input, input, opt_dimension);\n return gcj02.toWGS84(output, opt_output, opt_dimension);\n};\n// 3857 -> gcj02\nprojzh.smerc2gmerc = function (input, opt_output, opt_dimension) {\n let output = projzh.smerc2ll(input, input, opt_dimension);\n output = gcj02.fromWGS84(output, output, opt_dimension);\n return projzh.ll2smerc(output, output, opt_dimension);\n};\n// gcj02 -> 3857\nprojzh.gmerc2smerc = function (input, opt_output, opt_dimension) {\n let output = projzh.smerc2ll(input, input, opt_dimension);\n output = gcj02.toWGS84(output, output, opt_dimension);\n return projzh.ll2smerc(output, output, opt_dimension);\n};\n\n// 定义GCJ02墨卡托投影坐标系\nconst gcj02Mecator = new Projection({\n code: 'GCJ-02',\n // extent不能缺少,OpenLayers frame 渲染的时候需要\n extent: [-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244],\n units: 'm',\n});\n\n// 将GCJ02墨卡托投影坐标系注册进OpenLayers\naddProjection(gcj02Mecator);\n\n// 覆盖默认的转换方法\naddCoordinateTransforms('EPSG:4326', gcj02Mecator, projzh.ll2gmerc, projzh.gmerc2ll);\naddCoordinateTransforms('EPSG:3857', gcj02Mecator, projzh.smerc2gmerc, projzh.gmerc2smerc);\n\nconst getSource = () => {\n return new XYZSource({\n projection: gcj02Mecator,\n maxZoom: 18,\n url:\n 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=10&x={x}&y={y}&z={z}',\n crossOrigin: 'anonymous',\n });\n};\n\nconst getLayer = ({ dark }) => {\n let mapLayer = new TileLayer({\n source: getSource(),\n className: dark && 'map-dark',\n zIndex: 0\n });\n\n return [mapLayer];\n};\n\n// 转换方法\nconst transform = coordinate => {\n return transformProj(coordinate, 'EPSG:4326', 'GCJ-02');\n};\n\nexport default {\n mercator: gcj02Mecator,\n gcj02,\n transform,\n getSource,\n getLayer,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AmapImageryProvider.js","names":["_layer","require","_proj","_source","PI","Math","AXIS","OFFSET","delta","wgLon","wgLat","dLat","transformLat","dLon","transformLon","radLat","magic","sin","sqrtMagic","sqrt","cos","outOfChina","lon","lat","x","y","ret","abs","forEachPoint","func","input","opt_output","opt_dimension","len","length","dimension","output","slice","Array","offset","gcj02","toWGS84","lng","deltaD","fromWGS84","projzh","ll2smerc","getTransform","smerc2ll","ll2gmerc","gmerc2ll","smerc2gmerc","gmerc2smerc","gcj02Mecator","Projection","code","extent","units","addProjection","addCoordinateTransforms","getSource","XYZSource","projection","maxZoom","url","crossOrigin","getLayer","_ref","dark","mapLayer","TileLayer","source","className","zIndex","transform","coordinate","transformProj","_default","mercator","exports"],"sources":["map/getBaseLayers/imagery/amap/AmapImageryProvider.js"],"sourcesContent":["import { Tile as TileLayer } from 'ol/layer';\r\n// 导入proj控件,使用其方法注入gcj02坐标系\r\nimport { Projection, addProjection, addCoordinateTransforms, getTransform } from 'ol/proj';\r\nimport { XYZ as XYZSource } from 'ol/source';\r\nimport { transform as transformProj } from 'ol/proj';\r\n\r\nconst PI = Math.PI;\r\nconst AXIS = 6378245.0;\r\nconst OFFSET = 0.00669342162296594323; // (a^2 - b^2) / a^2\r\n\r\nfunction delta(wgLon, wgLat) {\r\n let dLat = transformLat(wgLon - 105.0, wgLat - 35.0);\r\n let dLon = transformLon(wgLon - 105.0, wgLat - 35.0);\r\n const radLat = (wgLat / 180.0) * PI;\r\n let magic = Math.sin(radLat);\r\n magic = 1 - OFFSET * magic * magic;\r\n const sqrtMagic = Math.sqrt(magic);\r\n dLat = (dLat * 180.0) / (((AXIS * (1 - OFFSET)) / (magic * sqrtMagic)) * PI);\r\n dLon = (dLon * 180.0) / ((AXIS / sqrtMagic) * Math.cos(radLat) * PI);\r\n return [dLon, dLat];\r\n}\r\n\r\nfunction outOfChina(lon, lat) {\r\n if (lon < 72.004 || lon > 137.8347) {\r\n return true;\r\n }\r\n if (lat < 0.8293 || lat > 55.8271) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nfunction transformLat(x, y) {\r\n let ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x));\r\n ret += ((20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0) / 3.0;\r\n ret += ((20.0 * Math.sin(y * PI) + 40.0 * Math.sin((y / 3.0) * PI)) * 2.0) / 3.0;\r\n ret += ((160.0 * Math.sin((y / 12.0) * PI) + 320 * Math.sin((y * PI) / 30.0)) * 2.0) / 3.0;\r\n return ret;\r\n}\r\n\r\nfunction transformLon(x, y) {\r\n let ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x));\r\n ret += ((20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0) / 3.0;\r\n ret += ((20.0 * Math.sin(x * PI) + 40.0 * Math.sin((x / 3.0) * PI)) * 2.0) / 3.0;\r\n ret += ((150.0 * Math.sin((x / 12.0) * PI) + 300.0 * Math.sin((x / 30.0) * PI)) * 2.0) / 3.0;\r\n return ret;\r\n}\r\n\r\nconst forEachPoint = function (func) {\r\n return function (input, opt_output, opt_dimension) {\r\n const len = input.length;\r\n const dimension = opt_dimension || 2;\r\n let output;\r\n if (opt_output) {\r\n output = opt_output;\r\n } else if (dimension !== 2) {\r\n output = input.slice();\r\n } else {\r\n output = new Array(len);\r\n }\r\n for (let offset = 0; offset < len; offset += dimension) {\r\n func(input, output, offset);\r\n }\r\n return output;\r\n };\r\n};\r\n\r\nconst gcj02 = {\r\n toWGS84: forEachPoint(function (input, output, offset) {\r\n let lng = input[offset];\r\n let lat = input[offset + 1];\r\n if (!outOfChina(lng, lat)) {\r\n const deltaD = delta(lng, lat);\r\n lng = lng - deltaD[0];\r\n lat = lat - deltaD[1];\r\n }\r\n output[offset] = lng;\r\n output[offset + 1] = lat;\r\n }),\r\n fromWGS84: forEachPoint(function (input, output, offset) {\r\n let lng = input[offset];\r\n let lat = input[offset + 1];\r\n if (!outOfChina(lng, lat)) {\r\n const deltaD = delta(lng, lat);\r\n lng = lng + deltaD[0];\r\n lat = lat + deltaD[1];\r\n }\r\n output[offset] = lng;\r\n output[offset + 1] = lat;\r\n }),\r\n};\r\n\r\nconst projzh = {\r\n ll2smerc: getTransform('EPSG:4326', 'EPSG:3857'),\r\n smerc2ll: getTransform('EPSG:3857', 'EPSG:4326'),\r\n};\r\n\r\n// wgs84 -> gcj02\r\nprojzh.ll2gmerc = function (input, opt_output, opt_dimension) {\r\n const output = gcj02.fromWGS84(input, opt_output, opt_dimension);\r\n return projzh.ll2smerc(output, output, opt_dimension);\r\n};\r\n// gcj02 -> wgs84\r\nprojzh.gmerc2ll = function (input, opt_output, opt_dimension) {\r\n const output = projzh.smerc2ll(input, input, opt_dimension);\r\n return gcj02.toWGS84(output, opt_output, opt_dimension);\r\n};\r\n// 3857 -> gcj02\r\nprojzh.smerc2gmerc = function (input, opt_output, opt_dimension) {\r\n let output = projzh.smerc2ll(input, input, opt_dimension);\r\n output = gcj02.fromWGS84(output, output, opt_dimension);\r\n return projzh.ll2smerc(output, output, opt_dimension);\r\n};\r\n// gcj02 -> 3857\r\nprojzh.gmerc2smerc = function (input, opt_output, opt_dimension) {\r\n let output = projzh.smerc2ll(input, input, opt_dimension);\r\n output = gcj02.toWGS84(output, output, opt_dimension);\r\n return projzh.ll2smerc(output, output, opt_dimension);\r\n};\r\n\r\n// 定义GCJ02墨卡托投影坐标系\r\nconst gcj02Mecator = new Projection({\r\n code: 'GCJ-02',\r\n // extent不能缺少,OpenLayers frame 渲染的时候需要\r\n extent: [-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244],\r\n units: 'm',\r\n});\r\n\r\n// 将GCJ02墨卡托投影坐标系注册进OpenLayers\r\naddProjection(gcj02Mecator);\r\n\r\n// 覆盖默认的转换方法\r\naddCoordinateTransforms('EPSG:4326', gcj02Mecator, projzh.ll2gmerc, projzh.gmerc2ll);\r\naddCoordinateTransforms('EPSG:3857', gcj02Mecator, projzh.smerc2gmerc, projzh.gmerc2smerc);\r\n\r\nconst getSource = () => {\r\n return new XYZSource({\r\n projection: gcj02Mecator,\r\n maxZoom: 18,\r\n url:\r\n 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=10&x={x}&y={y}&z={z}',\r\n crossOrigin: 'anonymous',\r\n });\r\n};\r\n\r\nconst getLayer = ({ dark }) => {\r\n let mapLayer = new TileLayer({\r\n source: getSource(),\r\n className: dark && 'map-dark',\r\n zIndex: 0\r\n });\r\n\r\n return [mapLayer];\r\n};\r\n\r\n// 转换方法\r\nconst transform = coordinate => {\r\n return transformProj(coordinate, 'EPSG:4326', 'GCJ-02');\r\n};\r\n\r\nexport default {\r\n mercator: gcj02Mecator,\r\n gcj02,\r\n transform,\r\n getSource,\r\n getLayer,\r\n};\r\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAFA;;AAKA,IAAMG,EAAE,GAAGC,IAAI,CAACD,EAAE;AAClB,IAAME,IAAI,GAAG,SAAS;AACtB,IAAMC,MAAM,GAAG,sBAAsB,CAAC,CAAC;;AAEvC,SAASC,KAAKA,CAACC,KAAK,EAAEC,KAAK,EAAE;EACzB,IAAIC,IAAI,GAAGC,YAAY,CAACH,KAAK,GAAG,KAAK,EAAEC,KAAK,GAAG,IAAI,CAAC;EACpD,IAAIG,IAAI,GAAGC,YAAY,CAACL,KAAK,GAAG,KAAK,EAAEC,KAAK,GAAG,IAAI,CAAC;EACpD,IAAMK,MAAM,GAAIL,KAAK,GAAG,KAAK,GAAIN,EAAE;EACnC,IAAIY,KAAK,GAAGX,IAAI,CAACY,GAAG,CAACF,MAAM,CAAC;EAC5BC,KAAK,GAAG,CAAC,GAAGT,MAAM,GAAGS,KAAK,GAAGA,KAAK;EAClC,IAAME,SAAS,GAAGb,IAAI,CAACc,IAAI,CAACH,KAAK,CAAC;EAClCL,IAAI,GAAIA,IAAI,GAAG,KAAK,IAAOL,IAAI,IAAI,CAAC,GAAGC,MAAM,CAAC,IAAKS,KAAK,GAAGE,SAAS,CAAC,GAAId,EAAE,CAAC;EAC5ES,IAAI,GAAIA,IAAI,GAAG,KAAK,IAAMP,IAAI,GAAGY,SAAS,GAAIb,IAAI,CAACe,GAAG,CAACL,MAAM,CAAC,GAAGX,EAAE,CAAC;EACpE,OAAO,CAACS,IAAI,EAAEF,IAAI,CAAC;AACvB;AAEA,SAASU,UAAUA,CAACC,GAAG,EAAEC,GAAG,EAAE;EAC1B,IAAID,GAAG,GAAG,MAAM,IAAIA,GAAG,GAAG,QAAQ,EAAE;IAChC,OAAO,IAAI;EACf;EACA,IAAIC,GAAG,GAAG,MAAM,IAAIA,GAAG,GAAG,OAAO,EAAE;IAC/B,OAAO,IAAI;EACf;EACA,OAAO,KAAK;AAChB;AAEA,SAASX,YAAYA,CAACY,CAAC,EAAEC,CAAC,EAAE;EACxB,IAAIC,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,GAAGF,CAAC,GAAG,GAAG,GAAGC,CAAC,GAAG,GAAG,GAAGA,CAAC,GAAGA,CAAC,GAAG,GAAG,GAAGD,CAAC,GAAGC,CAAC,GAAG,GAAG,GAAGpB,IAAI,CAACc,IAAI,CAACd,IAAI,CAACsB,GAAG,CAACH,CAAC,CAAC,CAAC;EAC/FE,GAAG,IAAK,CAAC,IAAI,GAAGrB,IAAI,CAACY,GAAG,CAAC,GAAG,GAAGO,CAAC,GAAGpB,EAAE,CAAC,GAAG,IAAI,GAAGC,IAAI,CAACY,GAAG,CAAC,GAAG,GAAGO,CAAC,GAAGpB,EAAE,CAAC,IAAI,GAAG,GAAI,GAAG;EACpFsB,GAAG,IAAK,CAAC,IAAI,GAAGrB,IAAI,CAACY,GAAG,CAACQ,CAAC,GAAGrB,EAAE,CAAC,GAAG,IAAI,GAAGC,IAAI,CAACY,GAAG,CAAEQ,CAAC,GAAG,GAAG,GAAIrB,EAAE,CAAC,IAAI,GAAG,GAAI,GAAG;EAChFsB,GAAG,IAAK,CAAC,KAAK,GAAGrB,IAAI,CAACY,GAAG,CAAEQ,CAAC,GAAG,IAAI,GAAIrB,EAAE,CAAC,GAAG,GAAG,GAAGC,IAAI,CAACY,GAAG,CAAEQ,CAAC,GAAGrB,EAAE,GAAI,IAAI,CAAC,IAAI,GAAG,GAAI,GAAG;EAC1F,OAAOsB,GAAG;AACd;AAEA,SAASZ,YAAYA,CAACU,CAAC,EAAEC,CAAC,EAAE;EACxB,IAAIC,GAAG,GAAG,KAAK,GAAGF,CAAC,GAAG,GAAG,GAAGC,CAAC,GAAG,GAAG,GAAGD,CAAC,GAAGA,CAAC,GAAG,GAAG,GAAGA,CAAC,GAAGC,CAAC,GAAG,GAAG,GAAGpB,IAAI,CAACc,IAAI,CAACd,IAAI,CAACsB,GAAG,CAACH,CAAC,CAAC,CAAC;EACxFE,GAAG,IAAK,CAAC,IAAI,GAAGrB,IAAI,CAACY,GAAG,CAAC,GAAG,GAAGO,CAAC,GAAGpB,EAAE,CAAC,GAAG,IAAI,GAAGC,IAAI,CAACY,GAAG,CAAC,GAAG,GAAGO,CAAC,GAAGpB,EAAE,CAAC,IAAI,GAAG,GAAI,GAAG;EACpFsB,GAAG,IAAK,CAAC,IAAI,GAAGrB,IAAI,CAACY,GAAG,CAACO,CAAC,GAAGpB,EAAE,CAAC,GAAG,IAAI,GAAGC,IAAI,CAACY,GAAG,CAAEO,CAAC,GAAG,GAAG,GAAIpB,EAAE,CAAC,IAAI,GAAG,GAAI,GAAG;EAChFsB,GAAG,IAAK,CAAC,KAAK,GAAGrB,IAAI,CAACY,GAAG,CAAEO,CAAC,GAAG,IAAI,GAAIpB,EAAE,CAAC,GAAG,KAAK,GAAGC,IAAI,CAACY,GAAG,CAAEO,CAAC,GAAG,IAAI,GAAIpB,EAAE,CAAC,IAAI,GAAG,GAAI,GAAG;EAC5F,OAAOsB,GAAG;AACd;AAEA,IAAME,YAAY,GAAG,SAAfA,YAAYA,CAAaC,IAAI,EAAE;EACjC,OAAO,UAAUC,KAAK,EAAEC,UAAU,EAAEC,aAAa,EAAE;IAC/C,IAAMC,GAAG,GAAGH,KAAK,CAACI,MAAM;IACxB,IAAMC,SAAS,GAAGH,aAAa,IAAI,CAAC;IACpC,IAAII,MAAM;IACV,IAAIL,UAAU,EAAE;MACZK,MAAM,GAAGL,UAAU;IACvB,CAAC,MAAM,IAAII,SAAS,KAAK,CAAC,EAAE;MACxBC,MAAM,GAAGN,KAAK,CAACO,KAAK,CAAC,CAAC;IAC1B,CAAC,MAAM;MACHD,MAAM,GAAG,IAAIE,KAAK,CAACL,GAAG,CAAC;IAC3B;IACA,KAAK,IAAIM,MAAM,GAAG,CAAC,EAAEA,MAAM,GAAGN,GAAG,EAAEM,MAAM,IAAIJ,SAAS,EAAE;MACpDN,IAAI,CAACC,KAAK,EAAEM,MAAM,EAAEG,MAAM,CAAC;IAC/B;IACA,OAAOH,MAAM;EACjB,CAAC;AACL,CAAC;AAED,IAAMI,KAAK,GAAG;EACVC,OAAO,EAAEb,YAAY,CAAC,UAAUE,KAAK,EAAEM,MAAM,EAAEG,MAAM,EAAE;IACnD,IAAIG,GAAG,GAAGZ,KAAK,CAACS,MAAM,CAAC;IACvB,IAAIhB,GAAG,GAAGO,KAAK,CAACS,MAAM,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAClB,UAAU,CAACqB,GAAG,EAAEnB,GAAG,CAAC,EAAE;MACvB,IAAMoB,MAAM,GAAGnC,KAAK,CAACkC,GAAG,EAAEnB,GAAG,CAAC;MAC9BmB,GAAG,GAAGA,GAAG,GAAGC,MAAM,CAAC,CAAC,CAAC;MACrBpB,GAAG,GAAGA,GAAG,GAAGoB,MAAM,CAAC,CAAC,CAAC;IACzB;IACAP,MAAM,CAACG,MAAM,CAAC,GAAGG,GAAG;IACpBN,MAAM,CAACG,MAAM,GAAG,CAAC,CAAC,GAAGhB,GAAG;EAC5B,CAAC,CAAC;EACFqB,SAAS,EAAEhB,YAAY,CAAC,UAAUE,KAAK,EAAEM,MAAM,EAAEG,MAAM,EAAE;IACrD,IAAIG,GAAG,GAAGZ,KAAK,CAACS,MAAM,CAAC;IACvB,IAAIhB,GAAG,GAAGO,KAAK,CAACS,MAAM,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAClB,UAAU,CAACqB,GAAG,EAAEnB,GAAG,CAAC,EAAE;MACvB,IAAMoB,MAAM,GAAGnC,KAAK,CAACkC,GAAG,EAAEnB,GAAG,CAAC;MAC9BmB,GAAG,GAAGA,GAAG,GAAGC,MAAM,CAAC,CAAC,CAAC;MACrBpB,GAAG,GAAGA,GAAG,GAAGoB,MAAM,CAAC,CAAC,CAAC;IACzB;IACAP,MAAM,CAACG,MAAM,CAAC,GAAGG,GAAG;IACpBN,MAAM,CAACG,MAAM,GAAG,CAAC,CAAC,GAAGhB,GAAG;EAC5B,CAAC;AACL,CAAC;AAED,IAAMsB,MAAM,GAAG;EACXC,QAAQ,EAAE,IAAAC,kBAAY,EAAC,WAAW,EAAE,WAAW,CAAC;EAChDC,QAAQ,EAAE,IAAAD,kBAAY,EAAC,WAAW,EAAE,WAAW;AACnD,CAAC;;AAED;AACAF,MAAM,CAACI,QAAQ,GAAG,UAAUnB,KAAK,EAAEC,UAAU,EAAEC,aAAa,EAAE;EAC1D,IAAMI,MAAM,GAAGI,KAAK,CAACI,SAAS,CAACd,KAAK,EAAEC,UAAU,EAAEC,aAAa,CAAC;EAChE,OAAOa,MAAM,CAACC,QAAQ,CAACV,MAAM,EAAEA,MAAM,EAAEJ,aAAa,CAAC;AACzD,CAAC;AACD;AACAa,MAAM,CAACK,QAAQ,GAAG,UAAUpB,KAAK,EAAEC,UAAU,EAAEC,aAAa,EAAE;EAC1D,IAAMI,MAAM,GAAGS,MAAM,CAACG,QAAQ,CAAClB,KAAK,EAAEA,KAAK,EAAEE,aAAa,CAAC;EAC3D,OAAOQ,KAAK,CAACC,OAAO,CAACL,MAAM,EAAEL,UAAU,EAAEC,aAAa,CAAC;AAC3D,CAAC;AACD;AACAa,MAAM,CAACM,WAAW,GAAG,UAAUrB,KAAK,EAAEC,UAAU,EAAEC,aAAa,EAAE;EAC7D,IAAII,MAAM,GAAGS,MAAM,CAACG,QAAQ,CAAClB,KAAK,EAAEA,KAAK,EAAEE,aAAa,CAAC;EACzDI,MAAM,GAAGI,KAAK,CAACI,SAAS,CAACR,MAAM,EAAEA,MAAM,EAAEJ,aAAa,CAAC;EACvD,OAAOa,MAAM,CAACC,QAAQ,CAACV,MAAM,EAAEA,MAAM,EAAEJ,aAAa,CAAC;AACzD,CAAC;AACD;AACAa,MAAM,CAACO,WAAW,GAAG,UAAUtB,KAAK,EAAEC,UAAU,EAAEC,aAAa,EAAE;EAC7D,IAAII,MAAM,GAAGS,MAAM,CAACG,QAAQ,CAAClB,KAAK,EAAEA,KAAK,EAAEE,aAAa,CAAC;EACzDI,MAAM,GAAGI,KAAK,CAACC,OAAO,CAACL,MAAM,EAAEA,MAAM,EAAEJ,aAAa,CAAC;EACrD,OAAOa,MAAM,CAACC,QAAQ,CAACV,MAAM,EAAEA,MAAM,EAAEJ,aAAa,CAAC;AACzD,CAAC;;AAED;AACA,IAAMqB,YAAY,GAAG,IAAIC,gBAAU,CAAC;EAChCC,IAAI,EAAE,QAAQ;EACd;EACAC,MAAM,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;EAC1FC,KAAK,EAAE;AACX,CAAC,CAAC;;AAEF;AACA,IAAAC,mBAAa,EAACL,YAAY,CAAC;;AAE3B;AACA,IAAAM,6BAAuB,EAAC,WAAW,EAAEN,YAAY,EAAER,MAAM,CAACI,QAAQ,EAAEJ,MAAM,CAACK,QAAQ,CAAC;AACpF,IAAAS,6BAAuB,EAAC,WAAW,EAAEN,YAAY,EAAER,MAAM,CAACM,WAAW,EAAEN,MAAM,CAACO,WAAW,CAAC;AAE1F,IAAMQ,SAAS,GAAG,SAAZA,SAASA,CAAA,EAAS;EACpB,OAAO,IAAIC,WAAS,CAAC;IACjBC,UAAU,EAAET,YAAY;IACxBU,OAAO,EAAE,EAAE;IACXC,GAAG,EACC,2FAA2F;IAC/FC,WAAW,EAAE;EACjB,CAAC,CAAC;AACN,CAAC;AAED,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAAiB;EAAA,IAAXC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EACpB,IAAIC,QAAQ,GAAG,IAAIC,WAAS,CAAC;IACzBC,MAAM,EAAEX,SAAS,CAAC,CAAC;IACnBY,SAAS,EAAEJ,IAAI,IAAI,UAAU;IAC7BK,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,OAAO,CAACJ,QAAQ,CAAC;AACrB,CAAC;;AAED;AACA,IAAMK,SAAS,GAAG,SAAZA,SAASA,CAAGC,UAAU,EAAI;EAC5B,OAAO,IAAAC,eAAa,EAACD,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC;AAC3D,CAAC;AAAC,IAAAE,QAAA,GAEa;EACXC,QAAQ,EAAEzB,YAAY;EACtBb,KAAK,EAALA,KAAK;EACLkC,SAAS,EAATA,SAAS;EACTd,SAAS,EAATA,SAAS;EACTM,QAAQ,EAARA;AACJ,CAAC;AAAAa,OAAA,cAAAF,QAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaiduImageryProvider.js","names":["_layer","require","_proj","_projzh","_interopRequireDefault","_source","_TileGrid","obj","__esModule","bd09Mercator","Projection","code","extent","units","addProjection","addCoordinateTransforms","projzh","ll2bmerc","bmerc2ll","smerc2bmerc","bmerc2smerc","getSource","bmercResolutions","Array","i","Math","pow","urls","map","sub","XYZ","projection","maxZoom","crossOrigin","tileUrlFunction","tileCoord","x","y","z","hash","index","length","replace","tilePixelRatio","tileGrid","TileGrid","resolutions","origin","getLayer","_ref","dark","mapLayer","TileLayer","source","className","zIndex","transform","coordinate","transformProj","_default","mercator","exports"],"sources":["map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js"],"sourcesContent":["import { Tile as TileLayer } from 'ol/layer';\n// 导入proj控件,使用其方法注入gcj02坐标系\nimport {\n Projection,\n addProjection,\n addCoordinateTransforms,\n transform as transformProj,\n} from 'ol/proj';\nimport projzh from '../../../../_util/projzh';\nimport { XYZ } from 'ol/source';\nimport TileGrid from 'ol/tilegrid/TileGrid';\n\nlet bd09Mercator = new Projection({\n code: 'BD-09',\n extent: [-20037726.37, -12474104.17, 20037726.37, 12474104.17],\n units: 'm',\n});\n\n// 将BD09墨卡托投影坐标系注册进OpenLayers\naddProjection(bd09Mercator);\n\n// 覆盖默认的转换方法\naddCoordinateTransforms('EPSG:4326', bd09Mercator, projzh.ll2bmerc, projzh.bmerc2ll);\naddCoordinateTransforms('EPSG:3857', bd09Mercator, projzh.smerc2bmerc, projzh.bmerc2smerc);\n\nconst getSource = () => {\n let bmercResolutions = new Array(19);\n for (let i = 0; i < 19; ++i) {\n bmercResolutions[i] = Math.pow(2, 18 - i);\n }\n let urls = [0, 1, 2, 3].map(function (sub) {\n return (\n 'http://maponline' +\n sub +\n '.bdimg.com/tile/?qt=vtile&x={x}&y={y}&z={z}&styles=pl&scaler=2&udt=20210506&from=jsapi3_0'\n );\n });\n\n return new XYZ({\n projection: 'BD-09',\n maxZoom: 18,\n crossOrigin: 'anonymous',\n tileUrlFunction: function (tileCoord) {\n let x = tileCoord[1];\n let y = -tileCoord[2] - 1;\n let z = tileCoord[0];\n let hash = (x << z) + y;\n let index = hash % urls.length;\n index = index < 0 ? index + urls.length : index;\n if (x < 0) {\n x = 'M' + -x;\n }\n if (y < 0) {\n y = 'M' + -y;\n }\n return urls[index]\n .replace('{x}', x)\n .replace('{y}', y)\n .replace('{z}', z);\n },\n tilePixelRatio: 2,\n tileGrid: new TileGrid({\n resolutions: bmercResolutions,\n origin: [0, 0],\n }),\n });\n};\n\n// 获取百度底图\nconst getLayer = ({ dark }) => {\n let mapLayer = new TileLayer({\n source: getSource(),\n className: dark && 'map-dark',\n zIndex: 0\n });\n\n return [mapLayer];\n};\n\n// 转换方法\nconst transform = coordinate => {\n return transformProj(coordinate, 'EPSG:4326', 'BD-09');\n};\n\nexport default {\n mercator: bd09Mercator,\n transform,\n getSource,\n getLayer,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaiduImageryProvider.js","names":["_layer","require","_proj","_projzh","_interopRequireDefault","_source","_TileGrid","obj","__esModule","bd09Mercator","Projection","code","extent","units","addProjection","addCoordinateTransforms","projzh","ll2bmerc","bmerc2ll","smerc2bmerc","bmerc2smerc","getSource","bmercResolutions","Array","i","Math","pow","urls","map","sub","XYZ","projection","maxZoom","crossOrigin","tileUrlFunction","tileCoord","x","y","z","hash","index","length","replace","tilePixelRatio","tileGrid","TileGrid","resolutions","origin","getLayer","_ref","dark","mapLayer","TileLayer","source","className","zIndex","transform","coordinate","transformProj","_default","mercator","exports"],"sources":["map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js"],"sourcesContent":["import { Tile as TileLayer } from 'ol/layer';\r\n// 导入proj控件,使用其方法注入gcj02坐标系\r\nimport {\r\n Projection,\r\n addProjection,\r\n addCoordinateTransforms,\r\n transform as transformProj,\r\n} from 'ol/proj';\r\nimport projzh from '../../../../_util/projzh';\r\nimport { XYZ } from 'ol/source';\r\nimport TileGrid from 'ol/tilegrid/TileGrid';\r\n\r\nlet bd09Mercator = new Projection({\r\n code: 'BD-09',\r\n extent: [-20037726.37, -12474104.17, 20037726.37, 12474104.17],\r\n units: 'm',\r\n});\r\n\r\n// 将BD09墨卡托投影坐标系注册进OpenLayers\r\naddProjection(bd09Mercator);\r\n\r\n// 覆盖默认的转换方法\r\naddCoordinateTransforms('EPSG:4326', bd09Mercator, projzh.ll2bmerc, projzh.bmerc2ll);\r\naddCoordinateTransforms('EPSG:3857', bd09Mercator, projzh.smerc2bmerc, projzh.bmerc2smerc);\r\n\r\nconst getSource = () => {\r\n let bmercResolutions = new Array(19);\r\n for (let i = 0; i < 19; ++i) {\r\n bmercResolutions[i] = Math.pow(2, 18 - i);\r\n }\r\n let urls = [0, 1, 2, 3].map(function (sub) {\r\n return (\r\n 'http://maponline' +\r\n sub +\r\n '.bdimg.com/tile/?qt=vtile&x={x}&y={y}&z={z}&styles=pl&scaler=2&udt=20210506&from=jsapi3_0'\r\n );\r\n });\r\n\r\n return new XYZ({\r\n projection: 'BD-09',\r\n maxZoom: 18,\r\n crossOrigin: 'anonymous',\r\n tileUrlFunction: function (tileCoord) {\r\n let x = tileCoord[1];\r\n let y = -tileCoord[2] - 1;\r\n let z = tileCoord[0];\r\n let hash = (x << z) + y;\r\n let index = hash % urls.length;\r\n index = index < 0 ? index + urls.length : index;\r\n if (x < 0) {\r\n x = 'M' + -x;\r\n }\r\n if (y < 0) {\r\n y = 'M' + -y;\r\n }\r\n return urls[index]\r\n .replace('{x}', x)\r\n .replace('{y}', y)\r\n .replace('{z}', z);\r\n },\r\n tilePixelRatio: 2,\r\n tileGrid: new TileGrid({\r\n resolutions: bmercResolutions,\r\n origin: [0, 0],\r\n }),\r\n });\r\n};\r\n\r\n// 获取百度底图\r\nconst getLayer = ({ dark }) => {\r\n let mapLayer = new TileLayer({\r\n source: getSource(),\r\n className: dark && 'map-dark',\r\n zIndex: 0\r\n });\r\n\r\n return [mapLayer];\r\n};\r\n\r\n// 转换方法\r\nconst transform = coordinate => {\r\n return transformProj(coordinate, 'EPSG:4326', 'BD-09');\r\n};\r\n\r\nexport default {\r\n mercator: bd09Mercator,\r\n transform,\r\n getSource,\r\n getLayer,\r\n};\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeoQImageryProvider.js","names":["_layer","require","_source","_AmapImageryProvider","_interopRequireDefault","obj","__esModule","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","getSource","_ref","mapStyle","tk","URL","Community","Warm","Gray","Blue","tileLayer","XYZ","projection","AmapImageryProvider","mercator","url","maxZoom","crossOrigin","exports","getLayer","_ref2","dark","_getSource","_getSource2","tileLayerSource","TileLayer","preload","Infinity","title","className","source","zIndex","key","_default"],"sources":["map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js"],"sourcesContent":["import { Tile as TileLayer } from 'ol/layer';\nimport { XYZ } from 'ol/source';\nimport AmapImageryProvider from '../amap/AmapImageryProvider';\n\nexport const getSource = ({ mapStyle, tk }) => {\n let URL = {\n Community: '//map.geoq.cn/arcgis/rest/services/ChinaOnlineCommunity/MapServer/tile/{z}/{y}/{x}',\n Warm: '//map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetWarm/MapServer/tile/{z}/{y}/{x}',\n Gray: '//map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetGray/MapServer/tile/{z}/{y}/{x}',\n Blue: '//map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}',\n };\n\n let tileLayer = new XYZ({\n projection: AmapImageryProvider.mercator,\n url: URL[mapStyle || 'Blue'],\n maxZoom: 18,\n crossOrigin: 'anonymous',\n });\n\n return [tileLayer];\n};\n\nconst getLayer = ({ mapStyle, tk, dark }) => {\n mapStyle = mapStyle || 'Blue';\n\n let [tileLayerSource] = getSource({ mapStyle, tk });\n\n let tileLayer = new TileLayer({\n preload: Infinity, // 预加载\n title: '天地图路网',\n name: 'baseMap',\n className: dark && 'ol-map-dark',\n source: tileLayerSource,\n zIndex: 0\n });\n tileLayer.key = '__TDT_TILE';\n\n return [tileLayer];\n};\n\nexport default {\n // mercator: bd09Mercator,\n // transform,\n getLayer,\n getSource,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GeoQImageryProvider.js","names":["_layer","require","_source","_AmapImageryProvider","_interopRequireDefault","obj","__esModule","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","getSource","_ref","mapStyle","tk","URL","Community","Warm","Gray","Blue","tileLayer","XYZ","projection","AmapImageryProvider","mercator","url","maxZoom","crossOrigin","exports","getLayer","_ref2","dark","_getSource","_getSource2","tileLayerSource","TileLayer","preload","Infinity","title","className","source","zIndex","key","_default"],"sources":["map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js"],"sourcesContent":["import { Tile as TileLayer } from 'ol/layer';\r\nimport { XYZ } from 'ol/source';\r\nimport AmapImageryProvider from '../amap/AmapImageryProvider';\r\n\r\nexport const getSource = ({ mapStyle, tk }) => {\r\n let URL = {\r\n Community: '//map.geoq.cn/arcgis/rest/services/ChinaOnlineCommunity/MapServer/tile/{z}/{y}/{x}',\r\n Warm: '//map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetWarm/MapServer/tile/{z}/{y}/{x}',\r\n Gray: '//map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetGray/MapServer/tile/{z}/{y}/{x}',\r\n Blue: '//map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}',\r\n };\r\n\r\n let tileLayer = new XYZ({\r\n projection: AmapImageryProvider.mercator,\r\n url: URL[mapStyle || 'Blue'],\r\n maxZoom: 18,\r\n crossOrigin: 'anonymous',\r\n });\r\n\r\n return [tileLayer];\r\n};\r\n\r\nconst getLayer = ({ mapStyle, tk, dark }) => {\r\n mapStyle = mapStyle || 'Blue';\r\n\r\n let [tileLayerSource] = getSource({ mapStyle, tk });\r\n\r\n let tileLayer = new TileLayer({\r\n preload: Infinity, // 预加载\r\n title: '天地图路网',\r\n name: 'baseMap',\r\n className: dark && 'ol-map-dark',\r\n source: tileLayerSource,\r\n zIndex: 0\r\n });\r\n tileLayer.key = '__TDT_TILE';\r\n\r\n return [tileLayer];\r\n};\r\n\r\nexport default {\r\n // mercator: bd09Mercator,\r\n // transform,\r\n getLayer,\r\n getSource,\r\n};\r\n"],"mappings":"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"}
|