@vtx/cs-map 1.0.38 → 1.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/_util/EventEmitter.js +79 -0
- package/lib/_util/EventEmitter.js.map +1 -0
- package/lib/_util/Provider.js +12 -0
- package/lib/_util/Provider.js.map +1 -0
- package/lib/_util/filterSpecialCharacters.js +90 -0
- package/lib/_util/filterSpecialCharacters.js.map +1 -0
- package/lib/_util/generateRandomPosition.js +24 -0
- package/lib/_util/generateRandomPosition.js.map +1 -0
- package/lib/_util/getBBoxFromGeojson.js +65 -0
- package/lib/_util/getBBoxFromGeojson.js.map +1 -0
- package/lib/_util/getComponentProps.js +14 -0
- package/lib/_util/getComponentProps.js.map +1 -0
- package/lib/_util/getCookie.js +24 -0
- package/lib/_util/getCookie.js.map +1 -0
- package/lib/_util/getDefaultMapInfo.js +33 -0
- package/lib/_util/getDefaultMapInfo.js.map +1 -0
- package/lib/_util/getSystemInfo.js +26 -0
- package/lib/_util/getSystemInfo.js.map +1 -0
- package/lib/_util/getToken.js +13 -0
- package/lib/_util/getToken.js.map +1 -0
- package/lib/_util/getUrlParam.js +15 -0
- package/lib/_util/getUrlParam.js.map +1 -0
- package/lib/_util/http.js +186 -0
- package/lib/_util/http.js.map +1 -0
- package/lib/_util/isFunction.js +10 -0
- package/lib/_util/isFunction.js.map +1 -0
- package/lib/_util/isObject.js +10 -0
- package/lib/_util/isObject.js.map +1 -0
- package/lib/_util/layer.js +134 -0
- package/lib/_util/layer.js.map +1 -0
- package/lib/_util/mapTool.js +187 -0
- package/lib/_util/mapTool.js.map +1 -0
- package/lib/_util/setCookie.js +15 -0
- package/lib/_util/setCookie.js.map +1 -0
- package/lib/_util/transformRgb.js +33 -0
- package/lib/_util/transformRgb.js.map +1 -0
- package/lib/_util/useColSize.js +28 -0
- package/lib/_util/useColSize.js.map +1 -0
- package/lib/_util/useInterval.js +19 -0
- package/lib/_util/useInterval.js.map +1 -0
- package/lib/_util/useProps.js +14 -0
- package/lib/_util/useProps.js.map +1 -0
- package/lib/_util/useSet.js +44 -0
- package/lib/_util/useSet.js.map +1 -0
- package/lib/assets/base-img-1.png +0 -0
- package/lib/assets/base-img-2.png +0 -0
- package/lib/assets/base-img-3.png +0 -0
- package/lib/assets/base-img-4.png +0 -0
- package/lib/assets/base-img-5.png +0 -0
- package/lib/assets/base-img.png +0 -0
- package/lib/assets/bz.png +0 -0
- package/lib/assets/colors.png +0 -0
- package/lib/assets/colors1.png +0 -0
- package/lib/assets/ll.png +0 -0
- package/lib/assets/people.gif +0 -0
- package/lib/assets/sw.png +0 -0
- package/lib/assets/water.png +0 -0
- package/lib/assets/yl.png +0 -0
- package/lib/cesium-tiles-layer/CesiumTilesLayer.js +56 -0
- package/lib/cesium-tiles-layer/CesiumTilesLayer.js.map +1 -0
- package/lib/cesium-tiles-layer/index.js +73 -0
- package/lib/cesium-tiles-layer/index.js.map +1 -0
- package/lib/cesium-tiles-layer/style/css.js +4 -0
- package/lib/cesium-tiles-layer/style/css.js.map +1 -0
- package/lib/cesium-tiles-layer/style/index.css +0 -0
- package/lib/cesium-tiles-layer/style/index.js +4 -0
- package/lib/cesium-tiles-layer/style/index.js.map +1 -0
- package/lib/cesium-tiles-layer/style/index.less +0 -0
- package/lib/circle/circle.js +67 -0
- package/lib/circle/circle.js.map +1 -0
- package/lib/circle/index.js +49 -0
- package/lib/circle/index.js.map +1 -0
- package/lib/circle/style/css.js +2 -0
- package/lib/circle/style/css.js.map +1 -0
- package/lib/circle/style/index.js +2 -0
- package/lib/circle/style/index.js.map +1 -0
- package/lib/config.js +12 -0
- package/lib/config.js.map +1 -0
- package/lib/demand-layer/DemandLayer.js +409 -0
- package/lib/demand-layer/DemandLayer.js.map +1 -0
- package/lib/demand-layer/index.js +104 -0
- package/lib/demand-layer/index.js.map +1 -0
- package/lib/demand-layer/style/css.js +4 -0
- package/lib/demand-layer/style/css.js.map +1 -0
- package/lib/demand-layer/style/index.css +0 -0
- package/lib/demand-layer/style/index.js +4 -0
- package/lib/demand-layer/style/index.js.map +1 -0
- package/lib/demand-layer/style/index.less +0 -0
- package/lib/events/index.js +27 -0
- package/lib/events/index.js.map +1 -0
- package/lib/feature-layer/FeatureLayer.js +458 -0
- package/lib/feature-layer/FeatureLayer.js.map +1 -0
- package/lib/feature-layer/createFeatureCollection.js +127 -0
- package/lib/feature-layer/createFeatureCollection.js.map +1 -0
- package/lib/feature-layer/index.js +115 -0
- package/lib/feature-layer/index.js.map +1 -0
- package/lib/feature-layer/style/css.js +4 -0
- package/lib/feature-layer/style/css.js.map +1 -0
- package/lib/feature-layer/style/index.css +0 -0
- package/lib/feature-layer/style/index.js +4 -0
- package/lib/feature-layer/style/index.js.map +1 -0
- package/lib/feature-layer/style/index.less +0 -0
- package/lib/fly-line-layer/FlyLineLayer.js +259 -0
- package/lib/fly-line-layer/FlyLineLayer.js.map +1 -0
- package/lib/fly-line-layer/index.js +90 -0
- package/lib/fly-line-layer/index.js.map +1 -0
- package/lib/fly-line-layer/lineFlowMaterialProperty.js +89 -0
- package/lib/fly-line-layer/lineFlowMaterialProperty.js.map +1 -0
- package/lib/fly-line-layer/style/css.js +4 -0
- package/lib/fly-line-layer/style/css.js.map +1 -0
- package/lib/fly-line-layer/style/index.css +0 -0
- package/lib/fly-line-layer/style/index.js +4 -0
- package/lib/fly-line-layer/style/index.js.map +1 -0
- package/lib/fly-line-layer/style/index.less +0 -0
- package/lib/gif-dom-layer/GifDomLayer.js +104 -0
- package/lib/gif-dom-layer/GifDomLayer.js.map +1 -0
- package/lib/gif-dom-layer/index.js +44 -0
- package/lib/gif-dom-layer/index.js.map +1 -0
- package/lib/gif-dom-layer/style/css.js +4 -0
- package/lib/gif-dom-layer/style/css.js.map +1 -0
- package/lib/gif-dom-layer/style/index.css +0 -0
- package/lib/gif-dom-layer/style/index.js +4 -0
- package/lib/gif-dom-layer/style/index.js.map +1 -0
- package/lib/gif-dom-layer/style/index.less +0 -0
- package/lib/gradation-line-layer/GradationLineLayer.js +103 -0
- package/lib/gradation-line-layer/GradationLineLayer.js.map +1 -0
- package/lib/gradation-line-layer/index.js +83 -0
- package/lib/gradation-line-layer/index.js.map +1 -0
- package/lib/gradation-line-layer/style/css.js +4 -0
- package/lib/gradation-line-layer/style/css.js.map +1 -0
- package/lib/gradation-line-layer/style/index.css +0 -0
- package/lib/gradation-line-layer/style/index.js +4 -0
- package/lib/gradation-line-layer/style/index.js.map +1 -0
- package/lib/gradation-line-layer/style/index.less +0 -0
- package/lib/group-layer/GroupLayer.js +131 -0
- package/lib/group-layer/GroupLayer.js.map +1 -0
- package/lib/group-layer/index.js +71 -0
- package/lib/group-layer/index.js.map +1 -0
- package/lib/group-layer/style/css.js +4 -0
- package/lib/group-layer/style/css.js.map +1 -0
- package/lib/group-layer/style/index.css +0 -0
- package/lib/group-layer/style/index.js +4 -0
- package/lib/group-layer/style/index.js.map +1 -0
- package/lib/group-layer/style/index.less +0 -0
- package/lib/heatmap-layer/CesiumHeatmap.js +445 -0
- package/lib/heatmap-layer/CesiumHeatmap.js.map +1 -0
- package/lib/heatmap-layer/HeatmapLayer.js +157 -0
- package/lib/heatmap-layer/HeatmapLayer.js.map +1 -0
- package/lib/heatmap-layer/heatmap.js +610 -0
- package/lib/heatmap-layer/heatmap.js.map +1 -0
- package/lib/heatmap-layer/index.js +90 -0
- package/lib/heatmap-layer/index.js.map +1 -0
- package/lib/heatmap-layer/style/css.js +4 -0
- package/lib/heatmap-layer/style/css.js.map +1 -0
- package/lib/heatmap-layer/style/index.css +0 -0
- package/lib/heatmap-layer/style/index.js +4 -0
- package/lib/heatmap-layer/style/index.js.map +1 -0
- package/lib/heatmap-layer/style/index.less +0 -0
- package/lib/highlight-layer/HighlightLayer.js +261 -0
- package/lib/highlight-layer/HighlightLayer.js.map +1 -0
- package/lib/highlight-layer/index.js +25 -0
- package/lib/highlight-layer/index.js.map +1 -0
- package/lib/highlight-layer/style/css.js +4 -0
- package/lib/highlight-layer/style/css.js.map +1 -0
- package/lib/highlight-layer/style/index.css +0 -0
- package/lib/highlight-layer/style/index.js +4 -0
- package/lib/highlight-layer/style/index.js.map +1 -0
- package/lib/highlight-layer/style/index.less +0 -0
- package/lib/image-layer/ImageLayer.js +244 -0
- package/lib/image-layer/ImageLayer.js.map +1 -0
- package/lib/image-layer/index.js +134 -0
- package/lib/image-layer/index.js.map +1 -0
- package/lib/image-layer/style/css.js +4 -0
- package/lib/image-layer/style/css.js.map +1 -0
- package/lib/image-layer/style/index.css +0 -0
- package/lib/image-layer/style/index.js +4 -0
- package/lib/image-layer/style/index.js.map +1 -0
- package/lib/image-layer/style/index.less +0 -0
- package/lib/index.js +147 -0
- package/lib/index.js.map +1 -0
- package/lib/label/Label.js +74 -0
- package/lib/label/Label.js.map +1 -0
- package/lib/label/index.js +51 -0
- package/lib/label/index.js.map +1 -0
- package/lib/label/style/css.js +2 -0
- package/lib/label/style/css.js.map +1 -0
- package/lib/label/style/index.js +2 -0
- package/lib/label/style/index.js.map +1 -0
- package/lib/legend/index.js +208 -0
- package/lib/legend/index.js.map +1 -0
- package/lib/legend/style/css.js +8 -0
- package/lib/legend/style/css.js.map +1 -0
- package/lib/legend/style/index.css +60 -0
- package/lib/legend/style/index.js +8 -0
- package/lib/legend/style/index.js.map +1 -0
- package/lib/legend/style/index.less +63 -0
- package/lib/line-flow-layer/LineFlowLayer.js +104 -0
- package/lib/line-flow-layer/LineFlowLayer.js.map +1 -0
- package/lib/line-flow-layer/index.js +34 -0
- package/lib/line-flow-layer/index.js.map +1 -0
- package/lib/line-flow-layer/style/css.js +4 -0
- package/lib/line-flow-layer/style/css.js.map +1 -0
- package/lib/line-flow-layer/style/index.css +0 -0
- package/lib/line-flow-layer/style/index.js +4 -0
- package/lib/line-flow-layer/style/index.js.map +1 -0
- package/lib/line-flow-layer/style/index.less +0 -0
- package/lib/map/InfoTool/index.css +55 -0
- package/lib/map/InfoTool/index.js +246 -0
- package/lib/map/InfoTool/index.js.map +1 -0
- package/lib/map/InfoTool/index.less +46 -0
- package/lib/map/InfoTool/util.js +112 -0
- package/lib/map/InfoTool/util.js.map +1 -0
- package/lib/map/InfoWindow.js +72 -0
- package/lib/map/InfoWindow.js.map +1 -0
- package/lib/map/Layers.js +286 -0
- package/lib/map/Layers.js.map +1 -0
- package/lib/map/Popup.js +301 -0
- package/lib/map/Popup.js.map +1 -0
- package/lib/map/base/imagery/amap/AmapImageryProvider.js +46 -0
- package/lib/map/base/imagery/amap/AmapImageryProvider.js.map +1 -0
- package/lib/map/base/imagery/amap/AmapMercatorTilingScheme.js +46 -0
- package/lib/map/base/imagery/amap/AmapMercatorTilingScheme.js.map +1 -0
- package/lib/map/base/imagery/baidu/BaiduImageryProvider.js +146 -0
- package/lib/map/base/imagery/baidu/BaiduImageryProvider.js.map +1 -0
- package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js +377 -0
- package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js.map +1 -0
- package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js +121 -0
- package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js.map +1 -0
- package/lib/map/base/imagery/geoq/GeoQImageryProvider.js +48 -0
- package/lib/map/base/imagery/geoq/GeoQImageryProvider.js.map +1 -0
- package/lib/map/base/imagery/google/GoogleImageryProvider.js +41 -0
- package/lib/map/base/imagery/google/GoogleImageryProvider.js.map +1 -0
- package/lib/map/base/imagery/tdt/TdtImageryProvider.js +38 -0
- package/lib/map/base/imagery/tdt/TdtImageryProvider.js.map +1 -0
- package/lib/map/base/imagery/tencent/TencentImageryProvider.js +59 -0
- package/lib/map/base/imagery/tencent/TencentImageryProvider.js.map +1 -0
- package/lib/map/base/imagery/transform/AmapMercatorTilingScheme.js +46 -0
- package/lib/map/base/imagery/transform/AmapMercatorTilingScheme.js.map +1 -0
- package/lib/map/base/imagery/transform/CoordTransform.js +173 -0
- package/lib/map/base/imagery/transform/CoordTransform.js.map +1 -0
- package/lib/map/base/index.js +204 -0
- package/lib/map/base/index.js.map +1 -0
- package/lib/map/hooks/useGetMapFeatureInfoByText.js +209 -0
- package/lib/map/hooks/useGetMapFeatureInfoByText.js.map +1 -0
- package/lib/map/index.js +843 -0
- package/lib/map/index.js.map +1 -0
- package/lib/map/material/AroundPoint.js +65 -0
- package/lib/map/material/AroundPoint.js.map +1 -0
- package/lib/map/material/CircleRippleMaterialProperty.js +87 -0
- package/lib/map/material/CircleRippleMaterialProperty.js.map +1 -0
- package/lib/map/material/ODLineLayer.js +91 -0
- package/lib/map/material/ODLineLayer.js.map +1 -0
- package/lib/map/material/PolylineTrailLinkMaterialProperty.js +100 -0
- package/lib/map/material/PolylineTrailLinkMaterialProperty.js.map +1 -0
- package/lib/map/material/PolylineTrailMaterialProperty.js +101 -0
- package/lib/map/material/PolylineTrailMaterialProperty.js.map +1 -0
- package/lib/map/material/TilesBuilding.js +207 -0
- package/lib/map/material/TilesBuilding.js.map +1 -0
- package/lib/map/material/assets/colors1.png +0 -0
- package/lib/map/material/assets/colors2.png +0 -0
- package/lib/map/material/index.js +16 -0
- package/lib/map/material/index.js.map +1 -0
- package/lib/map/style/css.js +4 -0
- package/lib/map/style/css.js.map +1 -0
- package/lib/map/style/index.css +155 -0
- package/lib/map/style/index.js +4 -0
- package/lib/map/style/index.js.map +1 -0
- package/lib/map/style/index.less +149 -0
- package/lib/marker/Marker.js +112 -0
- package/lib/marker/Marker.js.map +1 -0
- package/lib/marker/index.js +49 -0
- package/lib/marker/index.js.map +1 -0
- package/lib/marker/style/css.js +2 -0
- package/lib/marker/style/css.js.map +1 -0
- package/lib/marker/style/index.js +2 -0
- package/lib/marker/style/index.js.map +1 -0
- package/lib/point/Point.js +69 -0
- package/lib/point/Point.js.map +1 -0
- package/lib/point/index.js +49 -0
- package/lib/point/index.js.map +1 -0
- package/lib/point/style/css.js +2 -0
- package/lib/point/style/css.js.map +1 -0
- package/lib/point/style/index.js +2 -0
- package/lib/point/style/index.js.map +1 -0
- package/lib/polygon/Polygon.js +67 -0
- package/lib/polygon/Polygon.js.map +1 -0
- package/lib/polygon/index.js +49 -0
- package/lib/polygon/index.js.map +1 -0
- package/lib/polygon/style/css.js +2 -0
- package/lib/polygon/style/css.js.map +1 -0
- package/lib/polygon/style/index.js +2 -0
- package/lib/polygon/style/index.js.map +1 -0
- package/lib/polyline/Polyline.js +68 -0
- package/lib/polyline/Polyline.js.map +1 -0
- package/lib/polyline/index.js +49 -0
- package/lib/polyline/index.js.map +1 -0
- package/lib/polyline/style/css.js +2 -0
- package/lib/polyline/style/css.js.map +1 -0
- package/lib/polyline/style/index.js +2 -0
- package/lib/polyline/style/index.js.map +1 -0
- package/lib/renderer/index.js +268 -0
- package/lib/renderer/index.js.map +1 -0
- package/lib/renderer/style/css.js +4 -0
- package/lib/renderer/style/css.js.map +1 -0
- package/lib/renderer/style/index.css +0 -0
- package/lib/renderer/style/index.js +4 -0
- package/lib/renderer/style/index.js.map +1 -0
- package/lib/renderer/style/index.less +0 -0
- package/lib/style/index.css +0 -0
- package/lib/style/index.less +2 -0
- package/lib/style/themes/compact.css +0 -0
- package/lib/style/themes/compact.less +1 -0
- package/lib/style/themes/dark.css +0 -0
- package/lib/style/themes/dark.less +9 -0
- package/lib/style/themes/default.css +0 -0
- package/lib/style/themes/default.less +7 -0
- package/lib/style/themes/index.css +0 -0
- package/lib/style/themes/index.less +1 -0
- package/lib/style/themes/variable.css +0 -0
- package/lib/style/themes/variable.less +5 -0
- package/lib/tools/assets/footer.png +0 -0
- package/lib/tools/assets/layer.png +0 -0
- package/lib/tools/assets/search.png +0 -0
- package/lib/tools/base-map-switch/index.js +103 -0
- package/lib/tools/base-map-switch/index.js.map +1 -0
- package/lib/tools/dimension-switch/index.js +38 -0
- package/lib/tools/dimension-switch/index.js.map +1 -0
- package/lib/tools/index.js +49 -0
- package/lib/tools/index.js.map +1 -0
- package/lib/tools/layer-control/index.js +171 -0
- package/lib/tools/layer-control/index.js.map +1 -0
- package/lib/tools/map-search/Select/index.js +55 -0
- package/lib/tools/map-search/Select/index.js.map +1 -0
- package/lib/tools/map-search/Select/style/css.js +4 -0
- package/lib/tools/map-search/Select/style/css.js.map +1 -0
- package/lib/tools/map-search/Select/style/index.css +45 -0
- package/lib/tools/map-search/Select/style/index.js +4 -0
- package/lib/tools/map-search/Select/style/index.js.map +1 -0
- package/lib/tools/map-search/Select/style/index.less +47 -0
- package/lib/tools/map-search/index.js +204 -0
- package/lib/tools/map-search/index.js.map +1 -0
- package/lib/tools/style/css.js +8 -0
- package/lib/tools/style/css.js.map +1 -0
- package/lib/tools/style/index.css +208 -0
- package/lib/tools/style/index.js +8 -0
- package/lib/tools/style/index.js.map +1 -0
- package/lib/tools/style/index.less +225 -0
- package/lib/tools/tools-item/index.js +66 -0
- package/lib/tools/tools-item/index.js.map +1 -0
- package/lib/trail-polyline-layer/TrailPolylineLayer.js +81 -0
- package/lib/trail-polyline-layer/TrailPolylineLayer.js.map +1 -0
- package/lib/trail-polyline-layer/TrailPolylineMaterial.js +30 -0
- package/lib/trail-polyline-layer/TrailPolylineMaterial.js.map +1 -0
- package/lib/trail-polyline-layer/index.js +28 -0
- package/lib/trail-polyline-layer/index.js.map +1 -0
- package/lib/trail-polyline-layer/style/css.js +4 -0
- package/lib/trail-polyline-layer/style/css.js.map +1 -0
- package/lib/trail-polyline-layer/style/index.css +0 -0
- package/lib/trail-polyline-layer/style/index.js +4 -0
- package/lib/trail-polyline-layer/style/index.js.map +1 -0
- package/lib/trail-polyline-layer/style/index.less +0 -0
- package/lib/use-props/style/css.js +2 -0
- package/lib/use-props/style/css.js.map +1 -0
- package/lib/use-props/style/index.js +2 -0
- package/lib/use-props/style/index.js.map +1 -0
- package/lib/water-surface-layer/WaterSurfaceLayer.js +86 -0
- package/lib/water-surface-layer/WaterSurfaceLayer.js.map +1 -0
- package/lib/water-surface-layer/index.js +28 -0
- package/lib/water-surface-layer/index.js.map +1 -0
- package/lib/water-surface-layer/style/css.js +4 -0
- package/lib/water-surface-layer/style/css.js.map +1 -0
- package/lib/water-surface-layer/style/index.css +0 -0
- package/lib/water-surface-layer/style/index.js +4 -0
- package/lib/water-surface-layer/style/index.js.map +1 -0
- package/lib/water-surface-layer/style/index.less +0 -0
- package/lib/weather/Weather.js +174 -0
- package/lib/weather/Weather.js.map +1 -0
- package/lib/weather/index.js +36 -0
- package/lib/weather/index.js.map +1 -0
- package/lib/weather/style/css.js +8 -0
- package/lib/weather/style/css.js.map +1 -0
- package/lib/weather/style/index.css +60 -0
- package/lib/weather/style/index.js +8 -0
- package/lib/weather/style/index.js.map +1 -0
- package/lib/weather/style/index.less +63 -0
- package/package.json +1 -1
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CesiumHeatmap = void 0;
|
|
7
|
+
var _cesium = require("cesium");
|
|
8
|
+
var _heatmap = _interopRequireDefault(require("./heatmap.js"));
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
10
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
11
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
12
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
13
|
+
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); }
|
|
14
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
15
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
16
|
+
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; }
|
|
17
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
19
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
20
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
21
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
22
|
+
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
|
|
23
|
+
function set(target, property, value, receiver) { if (typeof Reflect !== "undefined" && Reflect.set) { set = Reflect.set; } else { set = function set(target, property, value, receiver) { var base = _superPropBase(target, property); var desc; if (base) { desc = Object.getOwnPropertyDescriptor(base, property); if (desc.set) { desc.set.call(receiver, value); return true; } else if (!desc.writable) { return false; } } desc = Object.getOwnPropertyDescriptor(receiver, property); if (desc) { if (!desc.writable) { return false; } desc.value = value; Object.defineProperty(receiver, property, desc); } else { _defineProperty(receiver, property, value); } return true; }; } return set(target, property, value, receiver); }
|
|
24
|
+
function _set(target, property, value, receiver, isStrict) { var s = set(target, property, value, receiver || target); if (!s && isStrict) { throw new TypeError('failed to set property'); } return value; }
|
|
25
|
+
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
|
26
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
27
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
28
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
29
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
30
|
+
//只能使用2.0.0版本,高版本热度图有出不来的情况,并且2.0.0 npm包有问题,只能通过修改使用这个js
|
|
31
|
+
|
|
32
|
+
var Max = function Max(arr) {
|
|
33
|
+
var len = arr.length;
|
|
34
|
+
var max = -Infinity;
|
|
35
|
+
while (len--) {
|
|
36
|
+
max = arr[len] > max ? arr[len] : max;
|
|
37
|
+
}
|
|
38
|
+
return max;
|
|
39
|
+
};
|
|
40
|
+
var Min = function Min(arr) {
|
|
41
|
+
var len = arr.length;
|
|
42
|
+
var min = Infinity;
|
|
43
|
+
while (len--) {
|
|
44
|
+
min = arr[len] < min ? arr[len] : min;
|
|
45
|
+
}
|
|
46
|
+
return min;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* 热度图
|
|
51
|
+
*/
|
|
52
|
+
var CesiumHeatmap = exports.CesiumHeatmap = /*#__PURE__*/function () {
|
|
53
|
+
function CesiumHeatmap(viewer, options) {
|
|
54
|
+
var _this$initOptions;
|
|
55
|
+
_classCallCheck(this, CesiumHeatmap);
|
|
56
|
+
_defineProperty(this, "viewer", void 0);
|
|
57
|
+
_defineProperty(this, "element", void 0);
|
|
58
|
+
_defineProperty(this, "initOptions", void 0);
|
|
59
|
+
_defineProperty(this, "heatmapOptions", void 0);
|
|
60
|
+
_defineProperty(this, "heatmapDataOptions", void 0);
|
|
61
|
+
_defineProperty(this, "provider", void 0);
|
|
62
|
+
_defineProperty(this, "heatmap", void 0);
|
|
63
|
+
_defineProperty(this, "cameraMoveEnd", void 0);
|
|
64
|
+
_defineProperty(this, "bounds", [0, 0, 0, 0]);
|
|
65
|
+
_defineProperty(this, "lastCameraHeight", 0);
|
|
66
|
+
_defineProperty(this, "initRadius", 10);
|
|
67
|
+
this.viewer = viewer;
|
|
68
|
+
var key = options.key,
|
|
69
|
+
name = options.name,
|
|
70
|
+
layerControl = options.layerControl,
|
|
71
|
+
show = options.show;
|
|
72
|
+
this.initOptions = _objectSpread({}, options);
|
|
73
|
+
// 图层标识
|
|
74
|
+
this.key = key;
|
|
75
|
+
|
|
76
|
+
// 图层名称
|
|
77
|
+
this.name = name;
|
|
78
|
+
this.layerControl = layerControl;
|
|
79
|
+
_set(_getPrototypeOf(CesiumHeatmap.prototype), "show", show, this, true);
|
|
80
|
+
if ((_this$initOptions = this.initOptions) !== null && _this$initOptions !== void 0 && (_this$initOptions = _this$initOptions.points) !== null && _this$initOptions !== void 0 && _this$initOptions.length) {
|
|
81
|
+
var _this$initOptions2, _this$heatmapOptions;
|
|
82
|
+
var bounds = this.getBounds(this.initOptions.points);
|
|
83
|
+
this.bounds = bounds;
|
|
84
|
+
var _this$createContainer = this.createContainer(bounds),
|
|
85
|
+
container = _this$createContainer.container,
|
|
86
|
+
width = _this$createContainer.width,
|
|
87
|
+
height = _this$createContainer.height;
|
|
88
|
+
this.element = container;
|
|
89
|
+
var datas = [];
|
|
90
|
+
var values = [];
|
|
91
|
+
for (var i in this.initOptions.points) {
|
|
92
|
+
var point = this.initOptions.points[i];
|
|
93
|
+
var x = (point.x - bounds[0]) / (bounds[2] - bounds[0]) * width; //屏幕坐标x
|
|
94
|
+
var y = (bounds[3] - point.y) / (bounds[3] - bounds[1]) * height; //屏幕坐标y
|
|
95
|
+
var dataPoint = {
|
|
96
|
+
x: x,
|
|
97
|
+
y: y,
|
|
98
|
+
value: point.value
|
|
99
|
+
};
|
|
100
|
+
if (typeof point.value === 'number') values.push(point.value);
|
|
101
|
+
datas.push(dataPoint);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
//数据的最大值和最小值
|
|
105
|
+
var _min = values.length > 100000 ? Min(values) : Math.min.apply(Math, values);
|
|
106
|
+
var _max = values.length > 100000 ? Max(values) : Math.max.apply(Math, values);
|
|
107
|
+
if ((_this$initOptions2 = this.initOptions) !== null && _this$initOptions2 !== void 0 && _this$initOptions2.heatmapDataOptions) {
|
|
108
|
+
var _this$initOptions$hea = this.initOptions.heatmapDataOptions,
|
|
109
|
+
min = _this$initOptions$hea.min,
|
|
110
|
+
max = _this$initOptions$hea.max;
|
|
111
|
+
if (typeof min === 'number') {
|
|
112
|
+
_min = min;
|
|
113
|
+
}
|
|
114
|
+
if (typeof max === 'number') {
|
|
115
|
+
_max = max;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
this.heatmapDataOptions = {
|
|
119
|
+
min: _min,
|
|
120
|
+
max: _max
|
|
121
|
+
};
|
|
122
|
+
var data = {
|
|
123
|
+
max: _max,
|
|
124
|
+
min: _min,
|
|
125
|
+
data: datas
|
|
126
|
+
};
|
|
127
|
+
var defaultOptions = {
|
|
128
|
+
maxOpacity: 0.9,
|
|
129
|
+
// radius: minRadius,
|
|
130
|
+
// minimum opacity. any value > 0 will produce
|
|
131
|
+
// no transparent gradient transition
|
|
132
|
+
minOpacity: 0.1,
|
|
133
|
+
gradient: {
|
|
134
|
+
// enter n keys between 0 and 1 here
|
|
135
|
+
// for gradient color customization
|
|
136
|
+
'.3': 'blue',
|
|
137
|
+
'.5': 'green',
|
|
138
|
+
'.7': 'yellow',
|
|
139
|
+
'.95': 'red'
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
var _options = this.initOptions.heatmapOptions ? _objectSpread(_objectSpread({}, defaultOptions), this.initOptions.heatmapOptions) : defaultOptions;
|
|
143
|
+
|
|
144
|
+
//初始化半径
|
|
145
|
+
if ((_this$heatmapOptions = this.heatmapOptions) !== null && _this$heatmapOptions !== void 0 && _this$heatmapOptions.radius) {
|
|
146
|
+
this.initRadius = this.heatmapOptions.radius;
|
|
147
|
+
}
|
|
148
|
+
this.heatmapOptions = _objectSpread({}, _options);
|
|
149
|
+
var _options2 = _objectSpread(_objectSpread({}, _options), {}, {
|
|
150
|
+
container: container
|
|
151
|
+
});
|
|
152
|
+
this.heatmap = _heatmap["default"].create(_options2);
|
|
153
|
+
this.heatmap.setData(data);
|
|
154
|
+
this.createLayer();
|
|
155
|
+
if (!this.initOptions.noLisenerCamera) {
|
|
156
|
+
this.addLisener();
|
|
157
|
+
}
|
|
158
|
+
if (this.initOptions.zoomToLayer && bounds) {
|
|
159
|
+
this.viewer.camera.flyTo({
|
|
160
|
+
destination: _cesium.Rectangle.fromDegrees.apply(_cesium.Rectangle, _toConsumableArray(bounds))
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// 重写父类的属性访问器
|
|
167
|
+
_createClass(CesiumHeatmap, [{
|
|
168
|
+
key: "show",
|
|
169
|
+
get: function get() {
|
|
170
|
+
return _get(_getPrototypeOf(CesiumHeatmap.prototype), "show", this);
|
|
171
|
+
},
|
|
172
|
+
set: function set(value) {
|
|
173
|
+
this.setVisible(value);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// 获取地图
|
|
177
|
+
}, {
|
|
178
|
+
key: "getMap",
|
|
179
|
+
value: function getMap() {
|
|
180
|
+
return this.viewer;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// 设置图层显示隐藏
|
|
184
|
+
}, {
|
|
185
|
+
key: "setVisible",
|
|
186
|
+
value: function setVisible(visible) {
|
|
187
|
+
_set(_getPrototypeOf(CesiumHeatmap.prototype), "show", visible, this, true);
|
|
188
|
+
this.provider.show = visible; // 将属性传递给父类
|
|
189
|
+
|
|
190
|
+
var map = this.getMap && this.getMap();
|
|
191
|
+
if (map) {
|
|
192
|
+
map.layers.emit('visible', this, visible);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* 设置数据的最大最小值
|
|
198
|
+
* @param dataOption
|
|
199
|
+
*/
|
|
200
|
+
}, {
|
|
201
|
+
key: "updateHeatMapMaxMin",
|
|
202
|
+
value: function updateHeatMapMaxMin(dataOption) {
|
|
203
|
+
var min = dataOption.min,
|
|
204
|
+
max = dataOption.max;
|
|
205
|
+
if (this.heatmap) {
|
|
206
|
+
if (typeof min === 'number') {
|
|
207
|
+
this.heatmap.setDataMin(min);
|
|
208
|
+
if (this.heatmapDataOptions) this.heatmapDataOptions.min = min;
|
|
209
|
+
}
|
|
210
|
+
if (typeof max === 'number') {
|
|
211
|
+
this.heatmap.setDataMax(max);
|
|
212
|
+
if (this.heatmapDataOptions) this.heatmapDataOptions.max = max;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
this.updateLayer();
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* 更新热度图配置
|
|
220
|
+
* @param options
|
|
221
|
+
*/
|
|
222
|
+
}, {
|
|
223
|
+
key: "updateHeatmap",
|
|
224
|
+
value: function updateHeatmap(options) {
|
|
225
|
+
var heatmapOptions = this.heatmapOptions;
|
|
226
|
+
this.heatmap.configure(_objectSpread(_objectSpread({}, heatmapOptions), options));
|
|
227
|
+
this.updateLayer();
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* 更新半径
|
|
232
|
+
* @param radius
|
|
233
|
+
*/
|
|
234
|
+
}, {
|
|
235
|
+
key: "updateRadius",
|
|
236
|
+
value: function updateRadius(radius) {
|
|
237
|
+
var _this$initOptions3;
|
|
238
|
+
var heatmapOptions = this.heatmapOptions;
|
|
239
|
+
var currentData = this.heatmap.getData();
|
|
240
|
+
if (currentData !== null && currentData !== void 0 && currentData.data) {
|
|
241
|
+
for (var i in currentData.data) {
|
|
242
|
+
var data = currentData.data[i];
|
|
243
|
+
data.radius = radius;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
this.heatmap.setData(currentData);
|
|
247
|
+
this.heatmapOptions = _objectSpread(_objectSpread({}, heatmapOptions), {
|
|
248
|
+
radius: radius
|
|
249
|
+
});
|
|
250
|
+
this.updateLayer();
|
|
251
|
+
if ((_this$initOptions3 = this.initOptions) !== null && _this$initOptions3 !== void 0 && _this$initOptions3.onRadiusChange) {
|
|
252
|
+
this.initOptions.onRadiusChange(radius);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* 移除
|
|
258
|
+
*/
|
|
259
|
+
}, {
|
|
260
|
+
key: "remove",
|
|
261
|
+
value: function remove() {
|
|
262
|
+
if (this.element) {
|
|
263
|
+
document.body.removeChild(this.element);
|
|
264
|
+
this.element = undefined;
|
|
265
|
+
if (this.provider instanceof _cesium.ImageryLayer) {
|
|
266
|
+
if (this.provider) this.viewer.imageryLayers.remove(this.provider);
|
|
267
|
+
this.createSingleTileImageryLayer();
|
|
268
|
+
} else if (this.provider instanceof _cesium.Primitive) {
|
|
269
|
+
this.viewer.scene.primitives.remove(this.provider);
|
|
270
|
+
} else if (this.provider instanceof _cesium.CustomDataSource) {
|
|
271
|
+
this.viewer.dataSources.remove(this.provider);
|
|
272
|
+
} else if (this.provider instanceof _cesium.Entity) {
|
|
273
|
+
this.viewer.entities.remove(this.provider);
|
|
274
|
+
}
|
|
275
|
+
if (this.cameraMoveEnd) {
|
|
276
|
+
this.viewer.camera.moveEnd.removeEventListener(this.cameraMoveEnd);
|
|
277
|
+
this.cameraMoveEnd = undefined;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}, {
|
|
282
|
+
key: "createLayer",
|
|
283
|
+
value: function createLayer() {
|
|
284
|
+
var _this = this;
|
|
285
|
+
if (this.initOptions.renderType === 'primitive') {
|
|
286
|
+
this.createPrimitive();
|
|
287
|
+
} else if (this.initOptions.renderType === 'imagery') {
|
|
288
|
+
this.createSingleTileImageryLayer();
|
|
289
|
+
} else {
|
|
290
|
+
this.createEntity();
|
|
291
|
+
}
|
|
292
|
+
this.provider.key = this.key;
|
|
293
|
+
this.provider.name = this.name;
|
|
294
|
+
this.provider.show = this.show;
|
|
295
|
+
this.provider.setVisible = function (visible) {
|
|
296
|
+
_this.setVisible(visible);
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
}, {
|
|
300
|
+
key: "createPrimitive",
|
|
301
|
+
value: function createPrimitive() {
|
|
302
|
+
var url = this.heatmap.getDataURL();
|
|
303
|
+
this.provider = this.viewer.scene.primitives.add(new _cesium.Primitive({
|
|
304
|
+
geometryInstances: new _cesium.GeometryInstance({
|
|
305
|
+
geometry: new _cesium.RectangleGeometry({
|
|
306
|
+
rectangle: _cesium.Rectangle.fromDegrees.apply(_cesium.Rectangle, _toConsumableArray(this.bounds)),
|
|
307
|
+
vertexFormat: _cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT
|
|
308
|
+
})
|
|
309
|
+
}),
|
|
310
|
+
appearance: new _cesium.EllipsoidSurfaceAppearance({
|
|
311
|
+
aboveGround: false
|
|
312
|
+
}),
|
|
313
|
+
show: this.show
|
|
314
|
+
}));
|
|
315
|
+
if (this.provider) {
|
|
316
|
+
this.provider.appearance.material = new _cesium.Material({
|
|
317
|
+
fabric: {
|
|
318
|
+
type: 'Image',
|
|
319
|
+
uniforms: {
|
|
320
|
+
image: url
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}, {
|
|
327
|
+
key: "createSingleTileImageryLayer",
|
|
328
|
+
value: function createSingleTileImageryLayer() {
|
|
329
|
+
var url = this.heatmap.getDataURL();
|
|
330
|
+
this.provider = this.viewer.imageryLayers.addImageryProvider(new _cesium.SingleTileImageryProvider({
|
|
331
|
+
url: url,
|
|
332
|
+
rectangle: _cesium.Rectangle.fromDegrees.apply(_cesium.Rectangle, _toConsumableArray(this.bounds))
|
|
333
|
+
}));
|
|
334
|
+
}
|
|
335
|
+
}, {
|
|
336
|
+
key: "getImageMaterialProperty",
|
|
337
|
+
value: function getImageMaterialProperty() {
|
|
338
|
+
var url = this.heatmap.getDataURL();
|
|
339
|
+
var material = new _cesium.ImageMaterialProperty({
|
|
340
|
+
image: url
|
|
341
|
+
});
|
|
342
|
+
return material;
|
|
343
|
+
}
|
|
344
|
+
}, {
|
|
345
|
+
key: "createEntity",
|
|
346
|
+
value: function createEntity() {
|
|
347
|
+
this.provider = new _cesium.CustomDataSource(this.name);
|
|
348
|
+
this.provider.entities.add({
|
|
349
|
+
show: true,
|
|
350
|
+
rectangle: {
|
|
351
|
+
coordinates: _cesium.Rectangle.fromDegrees.apply(_cesium.Rectangle, _toConsumableArray(this.bounds)),
|
|
352
|
+
material: this.getImageMaterialProperty()
|
|
353
|
+
}
|
|
354
|
+
});
|
|
355
|
+
this.viewer.dataSources.add(this.provider);
|
|
356
|
+
}
|
|
357
|
+
}, {
|
|
358
|
+
key: "updateLayer",
|
|
359
|
+
value: function updateLayer() {
|
|
360
|
+
var src = this.heatmap.getDataURL();
|
|
361
|
+
if (this.provider instanceof _cesium.ImageryLayer) {
|
|
362
|
+
if (this.provider) this.viewer.imageryLayers.remove(this.provider);
|
|
363
|
+
this.createSingleTileImageryLayer();
|
|
364
|
+
} else if (this.provider instanceof _cesium.Primitive) {
|
|
365
|
+
this.provider.appearance.material.uniforms.image = src;
|
|
366
|
+
} else if (this.provider instanceof _cesium.Entity) {
|
|
367
|
+
if (this.provider.rectangle) this.provider.rectangle.material = this.getImageMaterialProperty();
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
/**
|
|
372
|
+
* 添加相机的监听
|
|
373
|
+
*/
|
|
374
|
+
}, {
|
|
375
|
+
key: "addLisener",
|
|
376
|
+
value: function addLisener() {
|
|
377
|
+
var _this2 = this;
|
|
378
|
+
var maxRadius = 100;
|
|
379
|
+
var min = 6375000;
|
|
380
|
+
var max = 10000000;
|
|
381
|
+
this.cameraMoveEnd = function () {
|
|
382
|
+
if (_this2.heatmapOptions && _this2.heatmap && _this2.heatmapDataOptions) {
|
|
383
|
+
var _this2$initOptions;
|
|
384
|
+
var h = _this2.viewer.camera.getMagnitude();
|
|
385
|
+
var distance = _this2 !== null && _this2 !== void 0 && (_this2$initOptions = _this2.initOptions) !== null && _this2$initOptions !== void 0 && _this2$initOptions.cameraHeightDistance ? _this2.initOptions.cameraHeightDistance : 1000;
|
|
386
|
+
if (Math.abs(h - _this2.lastCameraHeight) > distance) {
|
|
387
|
+
_this2.lastCameraHeight = h;
|
|
388
|
+
if (typeof min === 'number' && typeof max === 'number') {
|
|
389
|
+
var radius = parseInt((_this2.initRadius + (maxRadius - _this2.initRadius) * (h - min) / (max - min)).toFixed(0));
|
|
390
|
+
if (radius) {
|
|
391
|
+
_this2.updateRadius(radius);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
this.viewer.camera.moveEnd.addEventListener(this.cameraMoveEnd);
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
/**
|
|
401
|
+
*
|
|
402
|
+
* @param points
|
|
403
|
+
* @param expand
|
|
404
|
+
* @returns
|
|
405
|
+
*/
|
|
406
|
+
}, {
|
|
407
|
+
key: "getBounds",
|
|
408
|
+
value: function getBounds(points) {
|
|
409
|
+
if (points) {
|
|
410
|
+
var lonMin = 180;
|
|
411
|
+
var lonMax = -180;
|
|
412
|
+
var latMin = 90;
|
|
413
|
+
var latMax = -180;
|
|
414
|
+
points.forEach(function (point) {
|
|
415
|
+
var longitude = point.x,
|
|
416
|
+
latitude = point.y;
|
|
417
|
+
lonMin = longitude < lonMin ? longitude : lonMin;
|
|
418
|
+
latMin = latitude < latMin ? latitude : latMin;
|
|
419
|
+
lonMax = longitude > lonMax ? longitude : lonMax;
|
|
420
|
+
latMax = latitude > latMax ? latitude : latMax;
|
|
421
|
+
});
|
|
422
|
+
var xRange = lonMax - lonMin ? lonMax - lonMin : 1;
|
|
423
|
+
var yRange = latMax - latMin ? latMax - latMin : 1;
|
|
424
|
+
return [lonMin - xRange / 10, latMin - yRange / 10, lonMax + xRange / 10, latMax + yRange / 10];
|
|
425
|
+
}
|
|
426
|
+
return [0, 0, 0, 0];
|
|
427
|
+
}
|
|
428
|
+
}, {
|
|
429
|
+
key: "createContainer",
|
|
430
|
+
value: function createContainer(bounds) {
|
|
431
|
+
var container = document.createElement('div');
|
|
432
|
+
var width = 1000;
|
|
433
|
+
var height = parseInt((1000 / (bounds[2] - bounds[0]) * (bounds[3] - bounds[1])).toFixed(0));
|
|
434
|
+
container.setAttribute('style', "width:".concat(width, "px;height:").concat(height, "px;display:none;"));
|
|
435
|
+
document.body.appendChild(container);
|
|
436
|
+
return {
|
|
437
|
+
container: container,
|
|
438
|
+
width: width,
|
|
439
|
+
height: height
|
|
440
|
+
};
|
|
441
|
+
}
|
|
442
|
+
}]);
|
|
443
|
+
return CesiumHeatmap;
|
|
444
|
+
}();
|
|
445
|
+
//# sourceMappingURL=CesiumHeatmap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CesiumHeatmap.js","names":["_cesium","require","_heatmap","_interopRequireDefault","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","minLen","_arrayLikeToArray","n","Object","toString","call","slice","name","Array","from","test","iter","isArray","len","length","i","arr2","ownKeys","e","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","configurable","writable","_toPropertyKey","key","_createClass","protoProps","staticProps","_get","Reflect","get","bind","property","receiver","base","_superPropBase","desc","value","set","_set","isStrict","s","object","hasOwnProperty","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","Max","max","Infinity","Min","min","CesiumHeatmap","exports","viewer","options","_this$initOptions","layerControl","show","initOptions","points","_this$initOptions2","_this$heatmapOptions","bounds","getBounds","_this$createContainer","createContainer","container","width","height","element","datas","values","point","x","y","dataPoint","_min","Math","_max","heatmapDataOptions","_this$initOptions$hea","data","defaultOptions","maxOpacity","minOpacity","gradient","_options","heatmapOptions","radius","initRadius","heatmap","h337","create","setData","createLayer","noLisenerCamera","addLisener","zoomToLayer","camera","flyTo","destination","Rectangle","fromDegrees","setVisible","getMap","visible","provider","map","layers","emit","updateHeatMapMaxMin","dataOption","setDataMin","setDataMax","updateLayer","updateHeatmap","configure","updateRadius","_this$initOptions3","currentData","getData","onRadiusChange","remove","document","body","removeChild","ImageryLayer","imageryLayers","createSingleTileImageryLayer","Primitive","scene","primitives","CustomDataSource","dataSources","Entity","entities","cameraMoveEnd","moveEnd","removeEventListener","_this","renderType","createPrimitive","createEntity","url","getDataURL","add","geometryInstances","GeometryInstance","geometry","RectangleGeometry","rectangle","vertexFormat","EllipsoidSurfaceAppearance","VERTEX_FORMAT","appearance","aboveGround","material","Material","fabric","type","uniforms","image","addImageryProvider","SingleTileImageryProvider","getImageMaterialProperty","ImageMaterialProperty","coordinates","src","_this2","maxRadius","_this2$initOptions","h","getMagnitude","distance","cameraHeightDistance","abs","lastCameraHeight","parseInt","toFixed","addEventListener","lonMin","lonMax","latMin","latMax","longitude","latitude","xRange","yRange","createElement","setAttribute","concat","appendChild"],"sources":["heatmap-layer/CesiumHeatmap.js"],"sourcesContent":["import {\n EllipsoidSurfaceAppearance,\n GeometryInstance,\n Material,\n Primitive,\n Rectangle,\n RectangleGeometry,\n Viewer,\n Event,\n SingleTileImageryProvider,\n ImageryLayer,\n ImageMaterialProperty,\n Entity,\n CustomDataSource,\n} from 'cesium';\nimport h337 from './heatmap.js'; //只能使用2.0.0版本,高版本热度图有出不来的情况,并且2.0.0 npm包有问题,只能通过修改使用这个js\n\nconst Max = arr => {\n let len = arr.length;\n let max = -Infinity;\n\n while (len--) {\n max = arr[len] > max ? arr[len] : max;\n }\n return max;\n};\n\nconst Min = arr => {\n let len = arr.length;\n let min = Infinity;\n\n while (len--) {\n min = arr[len] < min ? arr[len] : min;\n }\n return min;\n};\n\n/**\n * 热度图\n */\nexport class CesiumHeatmap {\n viewer;\n element;\n initOptions;\n heatmapOptions;\n heatmapDataOptions;\n provider;\n heatmap;\n cameraMoveEnd;\n bounds = [0, 0, 0, 0];\n lastCameraHeight = 0;\n initRadius = 10;\n constructor(viewer, options) {\n this.viewer = viewer;\n const { key, name, layerControl, show } = options;\n this.initOptions = { ...options };\n // 图层标识\n this.key = key;\n\n // 图层名称\n this.name = name;\n this.layerControl = layerControl;\n super.show = show;\n if (this.initOptions?.points?.length) {\n const bounds = this.getBounds(this.initOptions.points);\n this.bounds = bounds;\n const { container, width, height } = this.createContainer(bounds);\n this.element = container;\n const datas = [];\n const values = [];\n for (let i in this.initOptions.points) {\n const point = this.initOptions.points[i];\n const x = ((point.x - bounds[0]) / (bounds[2] - bounds[0])) * width; //屏幕坐标x\n const y = ((bounds[3] - point.y) / (bounds[3] - bounds[1])) * height; //屏幕坐标y\n const dataPoint = {\n x: x,\n y: y,\n value: point.value,\n };\n if (typeof point.value === 'number') values.push(point.value);\n datas.push(dataPoint);\n }\n\n //数据的最大值和最小值\n let _min = values.length > 100000 ? Min(values) : Math.min(...values);\n let _max = values.length > 100000 ? Max(values) : Math.max(...values);\n if (this.initOptions?.heatmapDataOptions) {\n const { min, max } = this.initOptions.heatmapDataOptions;\n if (typeof min === 'number') {\n _min = min;\n }\n if (typeof max === 'number') {\n _max = max;\n }\n }\n this.heatmapDataOptions = { min: _min, max: _max };\n\n const data = {\n max: _max,\n min: _min,\n data: datas,\n };\n\n const defaultOptions = {\n maxOpacity: 0.9,\n // radius: minRadius,\n // minimum opacity. any value > 0 will produce\n // no transparent gradient transition\n minOpacity: 0.1,\n gradient: {\n // enter n keys between 0 and 1 here\n // for gradient color customization\n '.3': 'blue',\n '.5': 'green',\n '.7': 'yellow',\n '.95': 'red',\n },\n };\n const _options = this.initOptions.heatmapOptions\n ? { ...defaultOptions, ...this.initOptions.heatmapOptions }\n : defaultOptions;\n\n //初始化半径\n if (this.heatmapOptions?.radius) {\n this.initRadius = this.heatmapOptions.radius;\n }\n\n this.heatmapOptions = { ..._options };\n const options = {\n ..._options,\n container,\n };\n this.heatmap = h337.create(options);\n this.heatmap.setData(data);\n this.createLayer();\n\n if (!this.initOptions.noLisenerCamera) {\n this.addLisener();\n }\n\n if (this.initOptions.zoomToLayer && bounds) {\n this.viewer.camera.flyTo({\n destination: Rectangle.fromDegrees(...bounds),\n });\n }\n }\n }\n\n // 重写父类的属性访问器\n get show() {\n return super.show;\n }\n\n set show(value) {\n this.setVisible(value);\n }\n\n // 获取地图\n getMap() {\n return this.viewer;\n }\n\n // 设置图层显示隐藏\n setVisible(visible) {\n super.show = visible;\n this.provider.show = visible; // 将属性传递给父类\n\n const map = this.getMap && this.getMap();\n if (map) {\n map.layers.emit('visible', this, visible);\n }\n }\n\n /**\n * 设置数据的最大最小值\n * @param dataOption\n */\n updateHeatMapMaxMin(dataOption) {\n const { min, max } = dataOption;\n if (this.heatmap) {\n if (typeof min === 'number') {\n this.heatmap.setDataMin(min);\n if (this.heatmapDataOptions) this.heatmapDataOptions.min = min;\n }\n if (typeof max === 'number') {\n this.heatmap.setDataMax(max);\n if (this.heatmapDataOptions) this.heatmapDataOptions.max = max;\n }\n }\n this.updateLayer();\n }\n\n /**\n * 更新热度图配置\n * @param options\n */\n updateHeatmap(options) {\n const { heatmapOptions } = this;\n this.heatmap.configure({ ...heatmapOptions, ...options });\n this.updateLayer();\n }\n\n /**\n * 更新半径\n * @param radius\n */\n updateRadius(radius) {\n const { heatmapOptions } = this;\n const currentData = this.heatmap.getData();\n if (currentData?.data) {\n for (let i in currentData.data) {\n const data = currentData.data[i];\n data.radius = radius;\n }\n }\n this.heatmap.setData(currentData);\n this.heatmapOptions = { ...heatmapOptions, ...{ radius } };\n this.updateLayer();\n if (this.initOptions?.onRadiusChange) {\n this.initOptions.onRadiusChange(radius);\n }\n }\n\n /**\n * 移除\n */\n remove() {\n if (this.element) {\n document.body.removeChild(this.element);\n this.element = undefined;\n if (this.provider instanceof ImageryLayer) {\n if (this.provider) this.viewer.imageryLayers.remove(this.provider);\n this.createSingleTileImageryLayer();\n } else if (this.provider instanceof Primitive) {\n this.viewer.scene.primitives.remove(this.provider);\n } else if (this.provider instanceof CustomDataSource) {\n this.viewer.dataSources.remove(this.provider)\n } else if (this.provider instanceof Entity) {\n this.viewer.entities.remove(this.provider);\n }\n if (this.cameraMoveEnd) {\n this.viewer.camera.moveEnd.removeEventListener(this.cameraMoveEnd);\n this.cameraMoveEnd = undefined;\n }\n }\n }\n\n createLayer() {\n if (this.initOptions.renderType === 'primitive') {\n this.createPrimitive();\n } else if (this.initOptions.renderType === 'imagery') {\n this.createSingleTileImageryLayer();\n } else {\n this.createEntity();\n }\n this.provider.key = this.key;\n\n this.provider.name = this.name;\n this.provider.show = this.show;\n this.provider.setVisible = visible => {\n this.setVisible(visible);\n };\n }\n\n createPrimitive() {\n const url = this.heatmap.getDataURL();\n this.provider = this.viewer.scene.primitives.add(\n new Primitive({\n geometryInstances: new GeometryInstance({\n geometry: new RectangleGeometry({\n rectangle: Rectangle.fromDegrees(...this.bounds),\n vertexFormat: EllipsoidSurfaceAppearance.VERTEX_FORMAT,\n }),\n }),\n appearance: new EllipsoidSurfaceAppearance({\n aboveGround: false,\n }),\n show: this.show,\n }),\n );\n if (this.provider) {\n this.provider.appearance.material = new Material({\n fabric: {\n type: 'Image',\n uniforms: {\n image: url,\n },\n },\n });\n }\n }\n\n createSingleTileImageryLayer() {\n const url = this.heatmap.getDataURL();\n this.provider = this.viewer.imageryLayers.addImageryProvider(\n new SingleTileImageryProvider({\n url: url,\n rectangle: Rectangle.fromDegrees(...this.bounds),\n }),\n );\n }\n\n getImageMaterialProperty() {\n const url = this.heatmap.getDataURL();\n const material = new ImageMaterialProperty({\n image: url,\n });\n return material;\n }\n\n createEntity() {\n this.provider = new CustomDataSource(this.name);\n this.provider.entities.add({\n show: true,\n rectangle: {\n coordinates: Rectangle.fromDegrees(...this.bounds),\n material: this.getImageMaterialProperty(),\n },\n });\n this.viewer.dataSources.add(this.provider);\n }\n\n updateLayer() {\n const src = this.heatmap.getDataURL();\n if (this.provider instanceof ImageryLayer) {\n if (this.provider) this.viewer.imageryLayers.remove(this.provider);\n this.createSingleTileImageryLayer();\n } else if (this.provider instanceof Primitive) {\n this.provider.appearance.material.uniforms.image = src;\n } else if (this.provider instanceof Entity) {\n if (this.provider.rectangle)\n this.provider.rectangle.material = this.getImageMaterialProperty();\n }\n }\n\n /**\n * 添加相机的监听\n */\n addLisener() {\n const maxRadius = 100;\n const min = 6375000;\n const max = 10000000;\n this.cameraMoveEnd = () => {\n if (this.heatmapOptions && this.heatmap && this.heatmapDataOptions) {\n const h = this.viewer.camera.getMagnitude();\n const distance = this?.initOptions?.cameraHeightDistance\n ? this.initOptions.cameraHeightDistance\n : 1000;\n if (Math.abs(h - this.lastCameraHeight) > distance) {\n this.lastCameraHeight = h;\n if (typeof min === 'number' && typeof max === 'number') {\n const radius = parseInt(\n (\n this.initRadius +\n ((maxRadius - this.initRadius) * (h - min)) / (max - min)\n ).toFixed(0),\n );\n if (radius) {\n this.updateRadius(radius);\n }\n }\n }\n }\n };\n this.viewer.camera.moveEnd.addEventListener(this.cameraMoveEnd);\n }\n\n /**\n *\n * @param points\n * @param expand\n * @returns\n */\n getBounds(points) {\n if (points) {\n let lonMin = 180;\n let lonMax = -180;\n let latMin = 90;\n let latMax = -180;\n points.forEach(function(point) {\n const { x: longitude, y: latitude } = point;\n lonMin = longitude < lonMin ? longitude : lonMin;\n latMin = latitude < latMin ? latitude : latMin;\n lonMax = longitude > lonMax ? longitude : lonMax;\n latMax = latitude > latMax ? latitude : latMax;\n });\n const xRange = lonMax - lonMin ? lonMax - lonMin : 1;\n const yRange = latMax - latMin ? latMax - latMin : 1;\n return [\n lonMin - xRange / 10,\n latMin - yRange / 10,\n lonMax + xRange / 10,\n latMax + yRange / 10,\n ];\n }\n return [0, 0, 0, 0];\n }\n\n createContainer(bounds) {\n const container = document.createElement('div');\n const width = 1000;\n const height = parseInt(\n ((1000 / (bounds[2] - bounds[0])) * (bounds[3] - bounds[1])).toFixed(0),\n );\n container.setAttribute('style', `width:${width}px;height:${height}px;display:none;`);\n document.body.appendChild(container);\n return { container, width, height };\n }\n}\n"],"mappings":"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"}
|