@vtx/ol-map 1.0.40 → 1.0.41
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/CHANGELOG.md +217 -0
- package/README.md +205 -205
- package/lib/_util/EventEmitter.js +3 -2
- package/lib/_util/EventEmitter.js.map +1 -1
- package/lib/_util/filterSpecialCharacters.js +6 -6
- package/lib/_util/filterSpecialCharacters.js.map +1 -1
- package/lib/_util/getComponentProps.js +1 -1
- package/lib/_util/getComponentProps.js.map +1 -1
- package/lib/_util/getCookie.js +6 -5
- package/lib/_util/getCookie.js.map +1 -1
- package/lib/_util/getDefaultMapInfo.js +5 -4
- package/lib/_util/getDefaultMapInfo.js.map +1 -1
- package/lib/_util/getSystemInfo.js +5 -4
- package/lib/_util/getSystemInfo.js.map +1 -1
- package/lib/_util/getToken.js +2 -1
- package/lib/_util/getToken.js.map +1 -1
- package/lib/_util/getUrlParam.js +2 -1
- package/lib/_util/getUrlParam.js.map +1 -1
- package/lib/_util/http.js +23 -22
- 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 +32 -28
- package/lib/_util/layer.js.map +1 -1
- package/lib/_util/mapTool.js +37 -36
- package/lib/_util/mapTool.js.map +1 -1
- package/lib/_util/projzh/datum/bd-09.js +2 -1
- package/lib/_util/projzh/datum/bd-09.js.map +1 -1
- package/lib/_util/projzh/datum/gcj-02.js +2 -1
- package/lib/_util/projzh/datum/gcj-02.js.map +1 -1
- package/lib/_util/projzh/datum/index.js +2 -1
- package/lib/_util/projzh/datum/index.js.map +1 -1
- package/lib/_util/projzh/index.js +2 -1
- package/lib/_util/projzh/index.js.map +1 -1
- package/lib/_util/projzh/projection/baidu-mercator.js +2 -1
- package/lib/_util/projzh/projection/baidu-mercator.js.map +1 -1
- package/lib/_util/projzh/projection/index.js +2 -1
- package/lib/_util/projzh/projection/index.js.map +1 -1
- package/lib/_util/projzh/projection/spherical-mercator.js +2 -1
- package/lib/_util/projzh/projection/spherical-mercator.js.map +1 -1
- package/lib/_util/projzh/util.js +2 -1
- package/lib/_util/projzh/util.js.map +1 -1
- package/lib/_util/search.js +10 -7
- package/lib/_util/search.js.map +1 -1
- package/lib/_util/setCookie.js +6 -5
- package/lib/_util/setCookie.js.map +1 -1
- package/lib/_util/transform.js +5 -4
- package/lib/_util/transform.js.map +1 -1
- package/lib/_util/useColSize.js +2 -1
- package/lib/_util/useColSize.js.map +1 -1
- package/lib/_util/useInterval.js.map +1 -1
- package/lib/_util/useSet.js +6 -5
- package/lib/_util/useSet.js.map +1 -1
- package/lib/analysis-layer/index.js +36 -31
- package/lib/analysis-layer/index.js.map +1 -1
- package/lib/buffer-draw/BufferDraw.js +5 -4
- package/lib/buffer-draw/BufferDraw.js.map +1 -1
- package/lib/buffer-draw/index.js +8 -8
- package/lib/buffer-draw/index.js.map +1 -1
- package/lib/circle/Circle.js +5 -4
- package/lib/circle/Circle.js.map +1 -1
- package/lib/circle/index.js +3 -3
- package/lib/circle/index.js.map +1 -1
- package/lib/config.js +2 -1
- package/lib/config.js.map +1 -1
- package/lib/dom/Dom.js +34 -0
- package/lib/dom/Dom.js.map +1 -0
- package/lib/dom/index.js +58 -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/events/index.js +4 -2
- package/lib/events/index.js.map +1 -1
- package/lib/feature-draw/FeatureDraw.js +11 -9
- package/lib/feature-draw/FeatureDraw.js.map +1 -1
- package/lib/feature-draw/index.js +7 -7
- package/lib/feature-draw/index.js.map +1 -1
- package/lib/feature-layer/FeatureLayer.js +9 -8
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/feature-layer/createFeatureCollection.js +31 -24
- package/lib/feature-layer/createFeatureCollection.js.map +1 -1
- package/lib/feature-layer/index.js +16 -7
- 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 +182 -0
- package/lib/flow-line-layer/FlowLineLayer.js.map +1 -0
- package/lib/flow-line-layer/index.js +112 -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 +5 -4
- package/lib/fly-line-layer/FlyLineLayer.js.map +1 -1
- package/lib/fly-line-layer/index.js +4 -4
- 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 +3 -2
- package/lib/group-layer/GroupLayer.js.map +1 -1
- package/lib/group-layer/index.js +4 -4
- 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 +5 -4
- package/lib/heatmap-layer/HeatmapLayer.js.map +1 -1
- package/lib/heatmap-layer/index.js +4 -4
- 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 +7 -6
- package/lib/high-layer/HighLayer.js.map +1 -1
- package/lib/high-layer/index.js +7 -6
- package/lib/high-layer/index.js.map +1 -1
- package/lib/image-layer/ImageLayer.js +5 -4
- package/lib/image-layer/ImageLayer.js.map +1 -1
- package/lib/image-layer/index.js +15 -6
- 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 +21 -0
- package/lib/index.js.map +1 -1
- package/lib/legend/index.js +10 -7
- 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 +3 -2
- package/lib/map/Analysis.js.map +1 -1
- package/lib/map/Layers.js +4 -3
- package/lib/map/Layers.js.map +1 -1
- package/lib/map/Popup.js +28 -28
- package/lib/map/Popup.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js +2 -1
- package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js +2 -1
- package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js +5 -3
- package/lib/map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/tdt/TdtImageryProvider.js +5 -3
- package/lib/map/getBaseLayers/imagery/tdt/TdtImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/index.js +4 -2
- package/lib/map/getBaseLayers/index.js.map +1 -1
- package/lib/map/index.js +35 -31
- package/lib/map/index.js.map +1 -1
- package/lib/map/style/css.js +1 -0
- package/lib/map/style/css.js.map +1 -1
- package/lib/map/style/index.css +6 -71
- package/lib/map/style/index.js +1 -0
- package/lib/map/style/index.js.map +1 -1
- package/lib/map/style/index.less +99 -165
- package/lib/map-icon/svg/index.js +2 -1
- package/lib/map-icon/svg/index.js.map +1 -1
- package/lib/marker/Marker.js +5 -4
- package/lib/marker/Marker.js.map +1 -1
- package/lib/marker/index.js +3 -3
- package/lib/marker/index.js.map +1 -1
- package/lib/path-play-back/PathPlayBack.js +5 -4
- package/lib/path-play-back/PathPlayBack.js.map +1 -1
- package/lib/path-play-back/index.js +3 -3
- package/lib/path-play-back/index.js.map +1 -1
- package/lib/poi-search/Location.js +4 -4
- package/lib/poi-search/Location.js.map +1 -1
- package/lib/poi-search/PoiList.js +4 -4
- package/lib/poi-search/PoiList.js.map +1 -1
- package/lib/poi-search/Search.js +4 -4
- package/lib/poi-search/Search.js.map +1 -1
- package/lib/poi-search/index.js +6 -5
- package/lib/poi-search/index.js.map +1 -1
- package/lib/poi-search/style/css.js.map +1 -1
- package/lib/poi-search/style/index.js.map +1 -1
- package/lib/poi-search/style/index.less +97 -97
- package/lib/point/Point.js +5 -4
- package/lib/point/Point.js.map +1 -1
- package/lib/point/index.js +3 -3
- package/lib/point/index.js.map +1 -1
- package/lib/polygon/Polygon.js +5 -4
- package/lib/polygon/Polygon.js.map +1 -1
- package/lib/polygon/index.js +3 -3
- package/lib/polygon/index.js.map +1 -1
- package/lib/polyline/Polyline.js +5 -4
- package/lib/polyline/Polyline.js.map +1 -1
- package/lib/polyline/index.js +3 -3
- package/lib/polyline/index.js.map +1 -1
- package/lib/popup/index.js +171 -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 +129 -0
- package/lib/popup/style/index.js +4 -0
- package/lib/popup/style/index.js.map +1 -0
- package/lib/popup/style/index.less +125 -0
- package/lib/provider/index.js +4 -2
- package/lib/provider/index.js.map +1 -1
- package/lib/renderer/Fill.js +3 -2
- package/lib/renderer/Fill.js.map +1 -1
- package/lib/renderer/Stroke.js +3 -2
- package/lib/renderer/Stroke.js.map +1 -1
- package/lib/renderer/index.js +7 -5
- 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 +2 -1
- package/lib/renderer/transformRgb.js.map +1 -1
- package/lib/search-map/VtxModal.js +5 -4
- package/lib/search-map/VtxModal.js.map +1 -1
- package/lib/search-map/index.js +6 -5
- 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 +5 -4
- package/lib/tile-layer/TileLayer.js.map +1 -1
- package/lib/tile-layer/index.js +3 -3
- 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 +5 -4
- package/lib/tools/Layer/LayerService.js.map +1 -1
- package/lib/tools/Layer/LayersCheckService.js +15 -9
- package/lib/tools/Layer/LayersCheckService.js.map +1 -1
- package/lib/tools/Layer/index.js +6 -6
- package/lib/tools/Layer/index.js.map +1 -1
- package/lib/tools/Layer/index.less +43 -43
- package/lib/tools/Search/index.js +14 -13
- package/lib/tools/Search/index.js.map +1 -1
- package/lib/tools/Toolbox/BoxSelect/index.js +4 -3
- package/lib/tools/Toolbox/BoxSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/CircleSelect/index.js +4 -3
- package/lib/tools/Toolbox/CircleSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/EagleEye/index.js +6 -5
- package/lib/tools/Toolbox/EagleEye/index.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/Bookmark.js +5 -4
- package/lib/tools/Toolbox/MapBookmark/Bookmark.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/index.js +16 -15
- 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 +10 -10
- 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 +2 -1
- package/lib/tools/Toolbox/Measure/Area/index.js.map +1 -1
- package/lib/tools/Toolbox/Measure/Distance/index.js +2 -1
- package/lib/tools/Toolbox/Measure/Distance/index.js.map +1 -1
- package/lib/tools/Toolbox/Measure/Measure.js +3 -2
- package/lib/tools/Toolbox/Measure/Measure.js.map +1 -1
- package/lib/tools/Toolbox/Measure/index.js +6 -5
- package/lib/tools/Toolbox/Measure/index.js.map +1 -1
- package/lib/tools/Toolbox/PolygonSelect/index.js +4 -3
- package/lib/tools/Toolbox/PolygonSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/ScaleLine/index.js +6 -5
- package/lib/tools/Toolbox/ScaleLine/index.js.map +1 -1
- package/lib/tools/Toolbox/SelectTools/index.js +21 -20
- package/lib/tools/Toolbox/SelectTools/index.js.map +1 -1
- package/lib/tools/Toolbox/SelectTools/index.less +10 -10
- package/lib/tools/Toolbox/SpaceQuery/index.js +5 -5
- package/lib/tools/Toolbox/SpaceQuery/index.js.map +1 -1
- package/lib/tools/Toolbox/SpaceQuery/index.less +16 -16
- package/lib/tools/Toolbox/index.js +8 -7
- package/lib/tools/Toolbox/index.js.map +1 -1
- package/lib/tools/Toolbox/index.less +2 -2
- package/lib/tools/Utils/CreateOverlay.js +5 -4
- package/lib/tools/Utils/CreateOverlay.js.map +1 -1
- package/lib/tools/Utils/Draw.js +11 -9
- package/lib/tools/Utils/Draw.js.map +1 -1
- package/lib/tools/Utils/HighLayer.js +9 -7
- package/lib/tools/Utils/HighLayer.js.map +1 -1
- package/lib/tools/Utils/measure.js +2 -1
- package/lib/tools/Utils/measure.js.map +1 -1
- package/lib/tools/Utils/utils.js +35 -27
- package/lib/tools/Utils/utils.js.map +1 -1
- package/lib/tools/View/index.js +8 -7
- package/lib/tools/View/index.js.map +1 -1
- package/lib/tools/analysis-tool/index.js +10 -9
- package/lib/tools/analysis-tool/index.js.map +1 -1
- package/lib/tools/base-map-switch/index.js +8 -7
- package/lib/tools/base-map-switch/index.js.map +1 -1
- package/lib/tools/components/Icon/index.js +2 -1
- package/lib/tools/components/Icon/index.js.map +1 -1
- package/lib/tools/components/ItemWrap/index.js +4 -4
- 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 +4 -3
- 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 +3 -3
- 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 +2 -1
- package/lib/tools/components/Select/index.js.map +1 -1
- package/lib/tools/components/Table/index.js +7 -6
- 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 +2 -1
- 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 +2 -1
- package/lib/tools/components/ToolsSelect/index.js.map +1 -1
- package/lib/tools/components/ToolsSelect/index.less +10 -10
- package/lib/tools/index.js +4 -4
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/layer-control/index.js +14 -10
- package/lib/tools/layer-control/index.js.map +1 -1
- package/lib/tools/style/css.js.map +1 -1
- package/lib/tools/style/index.js.map +1 -1
- package/lib/tools/style/index.less +144 -144
- package/lib/tools-item/index.js +6 -5
- package/lib/tools-item/index.js.map +1 -1
- package/lib/use-props/index.js +2 -1
- package/lib/use-props/index.js.map +1 -1
- package/package.json +118 -118
package/lib/map/Popup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popup.js","names":["_react","_interopRequireWildcard","require","_antd","_icons","_ol","_layer","_classnames","_interopRequireDefault","_layerControl","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","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_","Popup","forwardRef","ref","_useState","useState","_useState2","content","setContent","_useState3","_useState4","setTitle","overlayRef","useRef","popupRef","featureRef","viewRef","map","useImperativeHandle","showTemplate","hideTemplate","useEffect","overlay","Overlay","element","current","autoPan","animation","duration","stopEvent","positioning","offset","addOverlay","removeOverlay","feature","getLayerByFeature","_feature$getGeometry","_layer$_options","coordinate","getGeometry","getCoordinates","setPosition","Template","_options","cluster","template","fitView","getView","highlightLayer","addHighlightFeature","Image","geometry","type","getType","includes","getFlatMidpoints","getFlatMidpoint","getFlatInteriorPoints","getFlatInteriorPoint","undefined","clearFeatures","view","calculateExtent","getSize","onClose","onCloseTemplateBefore","fit","CloseOutlined","height","_default","exports"],"sources":["map/Popup.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState, useImperativeHandle, forwardRef } from 'react';\r\nimport { Table } from 'antd';\r\nimport { CloseOutlined } from '@ant-design/icons';\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 './style';\r\n\r\nconst ClusterTitle = (props) => {\r\n const { layer } = props;\r\n let { name } = layer;\r\n\r\n const imgUrl = getImgUrl(layer);\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster-title')}>\r\n <img src={imgUrl} alt=\"\" className={classnames('ol-map-popup-cluster-title-img')}/>\r\n <span className={classnames('ol-map-popup-cluster-title-text')}>{name}</span>\r\n </div>\r\n )\r\n}\r\n\r\nconst Cluster = props => {\r\n const { layer, features, onFeatureClick, onFitView } = props;\r\n let { labelField } = layer;\r\n\r\n return (\r\n <div className={classnames('ol-map-popup-cluster')}>\r\n <div className={classnames('ol-map-popup-cluster-header')}>\r\n 共 {features.length} 个点位\r\n <a onClick={onFitView}>缩放至</a>\r\n </div>\r\n <Table\r\n pagination={false}\r\n size=\"small\"\r\n dataSource={features}\r\n scroll={{ y: 120 }}\r\n columns={[\r\n {\r\n title: '名称',\r\n dataIndex: '名称',\r\n width: 60,\r\n render: (text, record) => {\r\n return (\r\n <a onClick={() => onFeatureClick(record)}>\r\n {record.values_[labelField]}\r\n </a>\r\n );\r\n },\r\n },\r\n {\r\n title: '操作',\r\n dataIndex: '操作',\r\n width: 30,\r\n render: (text, record) => {\r\n return <a onClick={() => onFeatureClick(record)}>定位</a>;\r\n },\r\n },\r\n ]}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nconst Popup = 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,\r\n autoPan: {\r\n animation: {\r\n duration: 250,\r\n },\r\n },\r\n stopEvent: true,\r\n positioning: 'bottom-center',\r\n offset: [10, -45],\r\n });\r\n overlayRef.current = overlay;\r\n\r\n map.addOverlay(overlay);\r\n\r\n return () => {\r\n map.removeOverlay(overlay);\r\n };\r\n }, []);\r\n\r\n const showTemplate = feature => {\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 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 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);\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 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 viewRef.current = view.calculateExtent(map.getSize());\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 map.getView().fit(viewRef.current);\r\n };\r\n return (\r\n <div ref={popupRef} className={classnames('ol-map-popup')}>\r\n <CloseOutlined\r\n className={classnames('ol-map-popup-close')}\r\n width={16}\r\n height={16}\r\n onClick={onClose}\r\n />\r\n <div\r\n title={title}\r\n className={classnames('ol-map-popup-title', { 'ol-map-popup-noTitle': !title })}\r\n >\r\n {title}\r\n </div>\r\n <div className={classnames('ol-map-popup-content')}>{content}</div>\r\n </div>\r\n );\r\n});\r\n\r\nexport default Popup;\r\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_","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","wrapRef","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.wrapRef,\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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"}
|
|
@@ -152,11 +152,12 @@ var getLayer = function getLayer(_ref) {
|
|
|
152
152
|
var transform = function transform(coordinate) {
|
|
153
153
|
return (0, _proj.transform)(coordinate, 'EPSG:4326', 'GCJ-02');
|
|
154
154
|
};
|
|
155
|
-
var _default =
|
|
155
|
+
var _default = {
|
|
156
156
|
mercator: gcj02Mecator,
|
|
157
157
|
gcj02: gcj02,
|
|
158
158
|
transform: transform,
|
|
159
159
|
getSource: getSource,
|
|
160
160
|
getLayer: getLayer
|
|
161
161
|
};
|
|
162
|
+
exports["default"] = _default;
|
|
162
163
|
//# sourceMappingURL=AmapImageryProvider.js.map
|
|
@@ -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","getLayer","_ref","dark","mapLayer","TileLayer","source","className","zIndex","transform","coordinate","transformProj","_default","exports","mercator"],"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 });\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":"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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","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 });\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":";;;;;;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,CAAYC,IAAI,EAAE;EAChC,OAAO,UAASC,KAAK,EAAEC,UAAU,EAAEC,aAAa,EAAE;IAC9C,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,UAASE,KAAK,EAAEM,MAAM,EAAEG,MAAM,EAAE;IAClD,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,UAASE,KAAK,EAAEM,MAAM,EAAEG,MAAM,EAAE;IACpD,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,UAASnB,KAAK,EAAEC,UAAU,EAAEC,aAAa,EAAE;EACzD,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,UAASpB,KAAK,EAAEC,UAAU,EAAEC,aAAa,EAAE;EACzD,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,UAASrB,KAAK,EAAEC,UAAU,EAAEC,aAAa,EAAE;EAC5D,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,UAAStB,KAAK,EAAEC,UAAU,EAAEC,aAAa,EAAE;EAC5D,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;EACR,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,EAAEV,SAAS,CAAC,CAAC;IACnBW,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,EAAExB,YAAY;EACtBb,KAAK,EAALA,KAAK;EACLiC,SAAS,EAATA,SAAS;EACTb,SAAS,EAATA,SAAS;EACTK,QAAQ,EAARA;AACJ,CAAC;AAAAa,OAAA,cAAAF,QAAA"}
|
|
@@ -73,10 +73,11 @@ var getLayer = function getLayer(_ref) {
|
|
|
73
73
|
var transform = function transform(coordinate) {
|
|
74
74
|
return (0, _proj.transform)(coordinate, 'EPSG:4326', 'BD-09');
|
|
75
75
|
};
|
|
76
|
-
var _default =
|
|
76
|
+
var _default = {
|
|
77
77
|
mercator: bd09Mercator,
|
|
78
78
|
transform: transform,
|
|
79
79
|
getSource: getSource,
|
|
80
80
|
getLayer: getLayer
|
|
81
81
|
};
|
|
82
|
+
exports["default"] = _default;
|
|
82
83
|
//# sourceMappingURL=BaiduImageryProvider.js.map
|
|
@@ -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","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","
|
|
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","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 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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"}
|
|
@@ -10,9 +10,9 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
|
|
|
10
10
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
11
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
12
12
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
|
-
function _iterableToArrayLimit(
|
|
13
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
14
14
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
15
|
-
var getSource =
|
|
15
|
+
var getSource = function getSource(_ref) {
|
|
16
16
|
var mapStyle = _ref.mapStyle,
|
|
17
17
|
tk = _ref.tk;
|
|
18
18
|
var URL = {
|
|
@@ -28,6 +28,7 @@ var getSource = exports.getSource = function getSource(_ref) {
|
|
|
28
28
|
});
|
|
29
29
|
return [tileLayer];
|
|
30
30
|
};
|
|
31
|
+
exports.getSource = getSource;
|
|
31
32
|
var getLayer = function getLayer(_ref2) {
|
|
32
33
|
var mapStyle = _ref2.mapStyle,
|
|
33
34
|
tk = _ref2.tk,
|
|
@@ -51,10 +52,11 @@ var getLayer = function getLayer(_ref2) {
|
|
|
51
52
|
tileLayer.key = '__TDT_TILE';
|
|
52
53
|
return [tileLayer];
|
|
53
54
|
};
|
|
54
|
-
var _default =
|
|
55
|
+
var _default = {
|
|
55
56
|
// mercator: bd09Mercator,
|
|
56
57
|
// transform,
|
|
57
58
|
getLayer: getLayer,
|
|
58
59
|
getSource: getSource
|
|
59
60
|
};
|
|
61
|
+
exports["default"] = _default;
|
|
60
62
|
//# sourceMappingURL=GeoQImageryProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeoQImageryProvider.js","names":["_layer","require","_source","_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","
|
|
1
|
+
{"version":3,"file":"GeoQImageryProvider.js","names":["_layer","require","_source","_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","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';\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 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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"}
|
|
@@ -10,9 +10,9 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
|
|
|
10
10
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
11
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
12
12
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
|
-
function _iterableToArrayLimit(
|
|
13
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
14
14
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
15
|
-
var getSource =
|
|
15
|
+
var getSource = function getSource(_ref) {
|
|
16
16
|
var mapStyle = _ref.mapStyle,
|
|
17
17
|
tk = _ref.tk;
|
|
18
18
|
var P = {
|
|
@@ -37,6 +37,7 @@ var getSource = exports.getSource = function getSource(_ref) {
|
|
|
37
37
|
});
|
|
38
38
|
return [tileLayer, markLayer];
|
|
39
39
|
};
|
|
40
|
+
exports.getSource = getSource;
|
|
40
41
|
var getLayer = function getLayer(_ref2) {
|
|
41
42
|
var mapStyle = _ref2.mapStyle,
|
|
42
43
|
tk = _ref2.tk,
|
|
@@ -71,10 +72,11 @@ var getLayer = function getLayer(_ref2) {
|
|
|
71
72
|
markLayer.key = '__TDT_MARK';
|
|
72
73
|
return [tileLayer, markLayer];
|
|
73
74
|
};
|
|
74
|
-
var _default =
|
|
75
|
+
var _default = {
|
|
75
76
|
// mercator: bd09Mercator,
|
|
76
77
|
// transform,
|
|
77
78
|
getLayer: getLayer,
|
|
78
79
|
getSource: getSource
|
|
79
80
|
};
|
|
81
|
+
exports["default"] = _default;
|
|
80
82
|
//# sourceMappingURL=TdtImageryProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TdtImageryProvider.js","names":["_layer","require","_source","_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","
|
|
1
|
+
{"version":3,"file":"TdtImageryProvider.js","names":["_layer","require","_source","_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","P","vec","img","label","tileLayer","XYZ","url","concat","maxZoom","crossOrigin","markLayer","exports","getLayer","_ref2","dark","_getSource","_getSource2","tileLayerSource","markLayerSource","TileLayer","preload","Infinity","title","className","source","zIndex","key","_default"],"sources":["map/getBaseLayers/imagery/tdt/TdtImageryProvider.js"],"sourcesContent":["import { Tile as TileLayer } from 'ol/layer';\nimport { XYZ } from 'ol/source';\n\nexport const getSource = ({ mapStyle, tk }) => {\n let P = {\n vec: {\n img: 'vec_w',\n label: 'cva_w',\n },\n img: {\n img: 'img_w',\n label: 'cia_w',\n },\n };\n\n let tileLayer = new XYZ({\n url: `//t{0-7}.tianditu.gov.cn/DataServer?T=${P[mapStyle].img}&tk=${tk}&x={x}&y={y}&l={z}`,\n maxZoom: 18,\n crossOrigin: 'anonymous',\n });\n\n let markLayer = new XYZ({\n url: `//t{0-7}.tianditu.gov.cn/DataServer?T=${P[mapStyle].label}&tk=${tk}&x={x}&y={y}&l={z}`,\n maxZoom: 18,\n crossOrigin: 'anonymous',\n });\n\n return [tileLayer, markLayer];\n};\n\nconst getLayer = ({ mapStyle, tk, dark }) => {\n mapStyle = mapStyle || 'vec';\n\n let [tileLayerSource, markLayerSource] = 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 let markLayer = new TileLayer({\n preload: Infinity, // 预加载\n title: '天地图文字标注',\n name: 'baseMap',\n className: dark && 'ol-map-dark-label',\n source: markLayerSource,\n zIndex: 0\n });\n markLayer.key = '__TDT_MARK';\n\n return [tileLayer, markLayer];\n};\n\nexport default {\n // mercator: bd09Mercator,\n // transform,\n getLayer,\n getSource,\n};\n"],"mappings":"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"}
|
|
@@ -9,13 +9,14 @@ var _BaiduImageryProvider = _interopRequireDefault(require("./imagery/baidu/Baid
|
|
|
9
9
|
var _TdtImageryProvider = _interopRequireDefault(require("./imagery/tdt/TdtImageryProvider"));
|
|
10
10
|
var _GeoQImageryProvider = _interopRequireDefault(require("./imagery/geoq/GeoQImageryProvider"));
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
12
|
-
var Imagery =
|
|
12
|
+
var Imagery = {
|
|
13
13
|
AmapImageryProvider: _AmapImageryProvider["default"],
|
|
14
14
|
BaiduImageryProvider: _BaiduImageryProvider["default"],
|
|
15
15
|
TdtImageryProvider: _TdtImageryProvider["default"],
|
|
16
16
|
GeoQImageryProvider: _GeoQImageryProvider["default"]
|
|
17
17
|
};
|
|
18
|
-
|
|
18
|
+
exports.Imagery = Imagery;
|
|
19
|
+
var _default = function _default(_ref) {
|
|
19
20
|
var mapStyle = _ref.mapStyle,
|
|
20
21
|
dark = _ref.dark,
|
|
21
22
|
tk = _ref.tk,
|
|
@@ -29,4 +30,5 @@ var _default = exports["default"] = function _default(_ref) {
|
|
|
29
30
|
dark: dark
|
|
30
31
|
});
|
|
31
32
|
};
|
|
33
|
+
exports["default"] = _default;
|
|
32
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_AmapImageryProvider","_interopRequireDefault","require","_BaiduImageryProvider","_TdtImageryProvider","_GeoQImageryProvider","obj","__esModule","Imagery","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_AmapImageryProvider","_interopRequireDefault","require","_BaiduImageryProvider","_TdtImageryProvider","_GeoQImageryProvider","obj","__esModule","Imagery","AmapImageryProvider","BaiduImageryProvider","TdtImageryProvider","GeoQImageryProvider","exports","_default","_ref","mapStyle","dark","tk","baseMapStyle","newMapStyle","style","value","imageryProvider","ImageryProvider","getLayer"],"sources":["map/getBaseLayers/index.js"],"sourcesContent":["import AmapImageryProvider from './imagery/amap/AmapImageryProvider';\nimport BaiduImageryProvider from './imagery/baidu/BaiduImageryProvider';\nimport TdtImageryProvider from './imagery/tdt/TdtImageryProvider';\nimport GeoQImageryProvider from './imagery/geoq/GeoQImageryProvider';\n\nexport const Imagery = {\n AmapImageryProvider,\n BaiduImageryProvider,\n TdtImageryProvider,\n GeoQImageryProvider,\n};\n\nexport default ({ mapStyle, dark, tk, baseMapStyle }) => {\n const newMapStyle = baseMapStyle?.style || mapStyle || 'vec';\n const value = baseMapStyle?.imageryProvider || 'TdtImageryProvider';\n const ImageryProvider = Imagery[value];\n\n return ImageryProvider.getLayer({ mapStyle: newMapStyle, tk, dark });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,mBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,oBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAqE,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAE9D,IAAME,OAAO,GAAG;EACnBC,mBAAmB,EAAnBA,+BAAmB;EACnBC,oBAAoB,EAApBA,gCAAoB;EACpBC,kBAAkB,EAAlBA,8BAAkB;EAClBC,mBAAmB,EAAnBA;AACJ,CAAC;AAACC,OAAA,CAAAL,OAAA,GAAAA,OAAA;AAAA,IAAAM,QAAA,GAEa,SAAAA,SAAAC,IAAA,EAA0C;EAAA,IAAvCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,EAAE,GAAAH,IAAA,CAAFG,EAAE;IAAEC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;EAC9C,IAAMC,WAAW,GAAG,CAAAD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEE,KAAK,KAAIL,QAAQ,IAAI,KAAK;EAC5D,IAAMM,KAAK,GAAG,CAAAH,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEI,eAAe,KAAI,oBAAoB;EACnE,IAAMC,eAAe,GAAGhB,OAAO,CAACc,KAAK,CAAC;EAEtC,OAAOE,eAAe,CAACC,QAAQ,CAAC;IAAET,QAAQ,EAAEI,WAAW;IAAEF,EAAE,EAAFA,EAAE;IAAED,IAAI,EAAJA;EAAK,CAAC,CAAC;AACxE,CAAC;AAAAJ,OAAA,cAAAC,QAAA"}
|