@vtx/cs-map 1.0.147 → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +202 -202
- package/lib/_util/EventEmitter.js.map +1 -1
- package/lib/_util/Provider.js.map +1 -1
- package/lib/_util/StyleCache.js.map +1 -1
- package/lib/_util/cesium.js +10 -10
- package/lib/_util/cesium.js.map +1 -1
- package/lib/_util/encryptParams.js +10 -10
- package/lib/_util/encryptParams.js.map +1 -1
- package/lib/_util/filterSpecialCharacters.js +8 -8
- package/lib/_util/filterSpecialCharacters.js.map +1 -1
- package/lib/_util/generateRandomPosition.js +5 -5
- package/lib/_util/generateRandomPosition.js.map +1 -1
- package/lib/_util/getBBoxFromGeojson.js +11 -11
- package/lib/_util/getBBoxFromGeojson.js.map +1 -1
- package/lib/_util/getComponentProps.js.map +1 -1
- package/lib/_util/getCookie.js +4 -4
- package/lib/_util/getCookie.js.map +1 -1
- package/lib/_util/getDefaultMapInfo.js.map +1 -1
- package/lib/_util/getSystemInfo.js.map +1 -1
- package/lib/_util/getToken.js.map +1 -1
- package/lib/_util/getUrlParam.js.map +1 -1
- package/lib/_util/heightAndZoom.js.map +1 -1
- package/lib/_util/http.js +19 -19
- 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.map +1 -1
- package/lib/_util/mapTool.js +34 -34
- package/lib/_util/mapTool.js.map +1 -1
- package/lib/_util/parabola.js +7 -7
- package/lib/_util/parabola.js.map +1 -1
- package/lib/_util/setCookie.js +4 -4
- package/lib/_util/setCookie.js.map +1 -1
- package/lib/_util/transformRgb.js.map +1 -1
- package/lib/_util/useColSize.js.map +1 -1
- package/lib/_util/useInterval.js.map +1 -1
- package/lib/_util/useProps.js.map +1 -1
- package/lib/_util/useSet.js.map +1 -1
- package/lib/building-tiles-layer/BuildingTilesLayer.js.map +1 -1
- package/lib/building-tiles-layer/index.js +5 -5
- package/lib/building-tiles-layer/index.js.map +1 -1
- package/lib/building-tiles-layer/style/css.js.map +1 -1
- package/lib/building-tiles-layer/style/index.js.map +1 -1
- package/lib/cesium-tiles-layer/CesiumTilesLayer.js.map +1 -1
- package/lib/cesium-tiles-layer/demo/index.less +111 -111
- package/lib/cesium-tiles-layer/demo/putian/index.less +27 -27
- package/lib/cesium-tiles-layer/index.js +5 -5
- package/lib/cesium-tiles-layer/index.js.map +1 -1
- package/lib/cesium-tiles-layer/style/css.js.map +1 -1
- package/lib/cesium-tiles-layer/style/index.js.map +1 -1
- package/lib/circle/Circle.js.map +1 -1
- package/lib/circle/index.js.map +1 -1
- package/lib/circle-fly/index.js.map +1 -1
- package/lib/circle-fly/style/css.js.map +1 -1
- package/lib/circle-fly/style/index.js.map +1 -1
- package/lib/cone-glow-layer/BottomCircle.js.map +1 -1
- package/lib/cone-glow-layer/ButtomRotateCircle.js +8 -8
- package/lib/cone-glow-layer/ButtomRotateCircle.js.map +1 -1
- package/lib/cone-glow-layer/ConeGlowLayer.js.map +1 -1
- package/lib/cone-glow-layer/Texture.js.map +1 -1
- package/lib/config.js.map +1 -1
- package/lib/demand-layer/DemandLayer.js.map +1 -1
- package/lib/demand-layer/index.js.map +1 -1
- package/lib/demand-layer/style/css.js.map +1 -1
- package/lib/demand-layer/style/index.js.map +1 -1
- package/lib/dom/Dom.js.map +1 -1
- package/lib/dom/index.js.map +1 -1
- package/lib/dom-layer/index.js.map +1 -1
- package/lib/dom-layer/style/css.js.map +1 -1
- package/lib/dom-layer/style/index.js.map +1 -1
- package/lib/dom-layer/style/index.less +3 -3
- package/lib/events/index.js.map +1 -1
- package/lib/excavation-analysis/Cut.js +19 -19
- package/lib/excavation-analysis/Cut.js.map +1 -1
- package/lib/excavation-analysis/TilesetCut.js +5 -5
- package/lib/excavation-analysis/TilesetCut.js.map +1 -1
- package/lib/excavation-analysis/hooks/useDrawHandler.js.map +1 -1
- package/lib/excavation-analysis/hooks/useTerrainClipPlan.js.map +1 -1
- package/lib/excavation-analysis/hooks/useTileSetCut.js.map +1 -1
- package/lib/excavation-analysis/index.js.map +1 -1
- package/lib/excavation-analysis/style/css.js.map +1 -1
- package/lib/excavation-analysis/style/index.js.map +1 -1
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/feature-layer/createFeatureCollection.js +11 -11
- package/lib/feature-layer/createFeatureCollection.js.map +1 -1
- package/lib/feature-layer/customClusterStyle.js.map +1 -1
- package/lib/feature-layer/index.js +3 -3
- package/lib/feature-layer/index.js.map +1 -1
- package/lib/feature-layer/style/css.js.map +1 -1
- package/lib/feature-layer/style/index.js.map +1 -1
- package/lib/fence-layer/FenceLayer.js.map +1 -1
- package/lib/fence-layer/GradualLightRingMaterialProperty.js +5 -5
- package/lib/fence-layer/GradualLightRingMaterialProperty.js.map +1 -1
- package/lib/fence-layer/index.js.map +1 -1
- package/lib/fence-layer/style/css.js.map +1 -1
- package/lib/fence-layer/style/index.js.map +1 -1
- package/lib/flight-line-layer/FlightLineLayer.js.map +1 -1
- package/lib/flight-line-layer/index.js.map +1 -1
- package/lib/flight-line-layer/style/css.js.map +1 -1
- package/lib/flight-line-layer/style/index.js.map +1 -1
- package/lib/fly-line-layer/FlyLineLayer.js +7 -5
- package/lib/fly-line-layer/FlyLineLayer.js.map +1 -1
- package/lib/fly-line-layer/LineFlowMaterialProperty.js.map +1 -1
- package/lib/fly-line-layer/index.js.map +1 -1
- package/lib/fly-line-layer/style/css.js.map +1 -1
- package/lib/fly-line-layer/style/index.js.map +1 -1
- package/lib/gif-dom-layer/GifDomLayer.js.map +1 -1
- package/lib/gif-dom-layer/index.js.map +1 -1
- package/lib/gif-dom-layer/style/css.js.map +1 -1
- package/lib/gif-dom-layer/style/index.js.map +1 -1
- package/lib/gradation-line-layer/GradationLineLayer.js +0 -1
- package/lib/gradation-line-layer/GradationLineLayer.js.map +1 -1
- package/lib/gradation-line-layer/index.js.map +1 -1
- package/lib/gradation-line-layer/style/css.js.map +1 -1
- package/lib/gradation-line-layer/style/index.js.map +1 -1
- package/lib/group-layer/GroupLayer.js +2 -2
- package/lib/group-layer/GroupLayer.js.map +1 -1
- package/lib/group-layer/index.js.map +1 -1
- package/lib/group-layer/style/css.js.map +1 -1
- package/lib/group-layer/style/index.js.map +1 -1
- package/lib/heatmap-layer/CesiumHeatmap.js +20 -20
- package/lib/heatmap-layer/CesiumHeatmap.js.map +1 -1
- package/lib/heatmap-layer/HeatmapLayer.js.map +1 -1
- package/lib/heatmap-layer/heatmap.js +41 -41
- package/lib/heatmap-layer/heatmap.js.map +1 -1
- package/lib/heatmap-layer/index.js.map +1 -1
- package/lib/heatmap-layer/style/css.js.map +1 -1
- package/lib/heatmap-layer/style/index.js.map +1 -1
- package/lib/highlight-layer/HighlightLayer.js +6 -6
- package/lib/highlight-layer/HighlightLayer.js.map +1 -1
- package/lib/highlight-layer/index.js.map +1 -1
- package/lib/highlight-layer/style/css.js.map +1 -1
- package/lib/highlight-layer/style/index.js.map +1 -1
- package/lib/image-layer/ImageLayer.js.map +1 -1
- package/lib/image-layer/index.js +2 -2
- 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/image-wms-layer/ImageWmsLayer.js.map +1 -1
- package/lib/image-wms-layer/index.js +2 -2
- package/lib/image-wms-layer/index.js.map +1 -1
- package/lib/image-wms-layer/style/css.js.map +1 -1
- package/lib/image-wms-layer/style/index.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/inundate-analysis/index.js.map +1 -1
- package/lib/inundate-analysis/style/css.js.map +1 -1
- package/lib/inundate-analysis/style/index.js.map +1 -1
- package/lib/label/Label.js.map +1 -1
- package/lib/label/index.js.map +1 -1
- package/lib/legend/index.js +17 -13
- package/lib/legend/index.js.map +1 -1
- package/lib/legend/style/css.js +0 -4
- package/lib/legend/style/css.js.map +1 -1
- package/lib/legend/style/index.js +0 -4
- package/lib/legend/style/index.js.map +1 -1
- package/lib/legend/style/index.less +74 -74
- package/lib/line-flow-layer/LineFlowLayer.js.map +1 -1
- package/lib/line-flow-layer/index.js.map +1 -1
- package/lib/line-flow-layer/style/css.js.map +1 -1
- package/lib/line-flow-layer/style/index.js.map +1 -1
- package/lib/map/InfoTool/index.js +43 -43
- package/lib/map/InfoTool/index.js.map +1 -1
- package/lib/map/InfoTool/index.less +46 -46
- package/lib/map/InfoTool/util.js +23 -23
- package/lib/map/InfoTool/util.js.map +1 -1
- package/lib/map/InfoWindow.js.map +1 -1
- package/lib/map/Layers.js +6 -4
- package/lib/map/Layers.js.map +1 -1
- package/lib/map/Popup.js +10 -8
- package/lib/map/Popup.js.map +1 -1
- package/lib/map/base/imagery/amap/AmapImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/amap/AmapMercatorTilingScheme.js.map +1 -1
- package/lib/map/base/imagery/baidu/BaiduImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js +77 -77
- package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js.map +1 -1
- package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js +13 -13
- package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js.map +1 -1
- package/lib/map/base/imagery/geoq/GeoQImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/google/GoogleImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/irs/IRSImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/tdt/JiangSuTdtImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/tdt/ShanDongTdtImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/tdt/TdtImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/tencent/TencentImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/transform/AmapMercatorTilingScheme.js.map +1 -1
- package/lib/map/base/imagery/transform/CoordTransform.js +42 -42
- package/lib/map/base/imagery/transform/CoordTransform.js.map +1 -1
- package/lib/map/base/index.js +86 -84
- package/lib/map/base/index.js.map +1 -1
- package/lib/map/defaultTextEnum.js +47 -0
- package/lib/map/defaultTextEnum.js.map +1 -0
- package/lib/map/hooks/useGetMapFeatureInfoByText.js.map +1 -1
- package/lib/map/index.js +19 -13
- package/lib/map/index.js.map +1 -1
- package/lib/map/material/AroundPoint.js.map +1 -1
- package/lib/map/material/CircleRippleMaterialProperty.js +5 -5
- package/lib/map/material/CircleRippleMaterialProperty.js.map +1 -1
- package/lib/map/material/ODLineLayer.js.map +1 -1
- package/lib/map/material/PolylineTrailLinkMaterialProperty.js.map +1 -1
- package/lib/map/material/PolylineTrailMaterialProperty.js.map +1 -1
- package/lib/map/material/TilesBuilding.js.map +1 -1
- package/lib/map/material/index.js.map +1 -1
- package/lib/map/style/css.js.map +1 -1
- package/lib/map/style/index.js.map +1 -1
- package/lib/map/style/index.less +156 -156
- package/lib/marker/Marker.js.map +1 -1
- package/lib/marker/index.js.map +1 -1
- package/lib/model/Model.js.map +1 -1
- package/lib/model/index.js.map +1 -1
- package/lib/navigation/index.js.map +1 -1
- package/lib/navigation/style/css.js.map +1 -1
- package/lib/navigation/style/index.js.map +1 -1
- package/lib/navigation/style/index.less +176 -176
- package/lib/pipe-tiles-layer/PipeTilesLayer.js.map +1 -1
- package/lib/pipe-tiles-layer/index.js +5 -5
- package/lib/pipe-tiles-layer/index.js.map +1 -1
- package/lib/pipe-tiles-layer/style/css.js.map +1 -1
- package/lib/pipe-tiles-layer/style/index.js.map +1 -1
- package/lib/point/Point.js.map +1 -1
- package/lib/point/index.js.map +1 -1
- package/lib/polygon/Polygon.js.map +1 -1
- package/lib/polygon/index.js.map +1 -1
- package/lib/polyline/Polyline.js.map +1 -1
- package/lib/polyline/index.js.map +1 -1
- package/lib/popup/index.js.map +1 -1
- package/lib/popup/style/css.js.map +1 -1
- package/lib/popup/style/index.js.map +1 -1
- package/lib/popup/style/index.less +149 -149
- package/lib/renderer/index.js +17 -17
- 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/road-line-layer/RoadLineLayer.js.map +1 -1
- package/lib/road-line-layer/index.js.map +1 -1
- package/lib/road-line-layer/style/css.js.map +1 -1
- package/lib/road-line-layer/style/index.js.map +1 -1
- package/lib/scene-roam/index.js.map +1 -1
- package/lib/scene-roam/style/css.js.map +1 -1
- package/lib/scene-roam/style/index.js.map +1 -1
- package/lib/slider-scene/index.js +1 -1
- package/lib/slider-scene/index.js.map +1 -1
- package/lib/slider-scene/style/css.js.map +1 -1
- package/lib/slider-scene/style/index.js.map +1 -1
- package/lib/slider-scene/style/index.less +13 -13
- package/lib/split-screen/index.js.map +1 -1
- package/lib/style/index.less +2 -2
- package/lib/style/themes/compact.less +1 -1
- package/lib/style/themes/dark.less +7 -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/three-line-layer/ThreeLineLayer.js.map +1 -1
- package/lib/three-line-layer/index.js.map +1 -1
- package/lib/three-line-layer/style/css.js.map +1 -1
- package/lib/three-line-layer/style/index.js.map +1 -1
- package/lib/three-point-layer/DiffuseCircle.js.map +1 -1
- package/lib/three-point-layer/Grate.js +90 -90
- package/lib/three-point-layer/Grate.js.map +1 -1
- package/lib/three-point-layer/ThreePointLayer.js.map +1 -1
- package/lib/three-point-layer/Well.js +63 -63
- package/lib/three-point-layer/Well.js.map +1 -1
- package/lib/three-point-layer/index.js.map +1 -1
- package/lib/three-point-layer/style/css.js.map +1 -1
- package/lib/three-point-layer/style/index.js.map +1 -1
- package/lib/tools/base-map-switch/index.js +3 -2
- package/lib/tools/base-map-switch/index.js.map +1 -1
- package/lib/tools/components/Icon/index.js.map +1 -1
- package/lib/tools/components/Icon/svg.js.map +1 -1
- package/lib/tools/components/Modal/index.js +2 -2
- package/lib/tools/components/Modal/index.js.map +1 -1
- package/lib/tools/components/Modal/index.less +33 -33
- package/lib/tools/components/item-wrap/index.js +2 -2
- package/lib/tools/components/item-wrap/index.js.map +1 -1
- package/lib/tools/components/tool-Item/index.js.map +1 -1
- package/lib/tools/components/tool-Item/index.less +27 -27
- package/lib/tools/dimension-switch/index.js.map +1 -1
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/layer-control/index.js +13 -10
- package/lib/tools/layer-control/index.js.map +1 -1
- package/lib/tools/layer-control-popover/LayersCheckService.js +3 -2
- package/lib/tools/layer-control-popover/LayersCheckService.js.map +1 -1
- package/lib/tools/layer-control-popover/index.js +2 -2
- package/lib/tools/layer-control-popover/index.js.map +1 -1
- package/lib/tools/loading/index.js.map +1 -1
- package/lib/tools/map-search/Select/index.js +5 -5
- package/lib/tools/map-search/Select/index.js.map +1 -1
- package/lib/tools/map-search/Select/style/css.js.map +1 -1
- package/lib/tools/map-search/Select/style/index.js.map +1 -1
- package/lib/tools/map-search/Select/style/index.less +47 -47
- package/lib/tools/map-search/index.js +12 -11
- package/lib/tools/map-search/index.js.map +1 -1
- package/lib/tools/style/css.js +0 -5
- package/lib/tools/style/css.js.map +1 -1
- package/lib/tools/style/index.js +0 -5
- package/lib/tools/style/index.js.map +1 -1
- package/lib/tools/style/index.less +309 -309
- package/lib/tools/tip/index.js.map +1 -1
- package/lib/tools/tool-box/Measure/Area/index.js.map +1 -1
- package/lib/tools/tool-box/Measure/Distance/index.js.map +1 -1
- package/lib/tools/tool-box/Measure/Height/index.js.map +1 -1
- package/lib/tools/tool-box/Measure/Measure.js +41 -39
- package/lib/tools/tool-box/Measure/Measure.js.map +1 -1
- package/lib/tools/tool-box/Measure/index.js +12 -9
- package/lib/tools/tool-box/Measure/index.js.map +1 -1
- package/lib/tools/tool-box/index.js +14 -13
- package/lib/tools/tool-box/index.js.map +1 -1
- package/lib/trail-polyline-layer/TrailPolylineLayer.js.map +1 -1
- package/lib/trail-polyline-layer/TrailPolylineMaterial.js.map +1 -1
- package/lib/trail-polyline-layer/style/css.js.map +1 -1
- package/lib/trail-polyline-layer/style/index.js.map +1 -1
- package/lib/use-props/index.js.map +1 -1
- package/lib/wall/WallGeometry.js.map +1 -1
- package/lib/wall/style/css.js.map +1 -1
- package/lib/wall/style/index.js.map +1 -1
- package/lib/water-surface-layer/WaterSurfaceLayer.js.map +1 -1
- package/lib/water-surface-layer/index.js.map +1 -1
- package/lib/water-surface-layer/style/css.js.map +1 -1
- package/lib/water-surface-layer/style/index.js.map +1 -1
- package/lib/weather/Weather.js +28 -28
- package/lib/weather/Weather.js.map +1 -1
- package/lib/weather/index.js.map +1 -1
- package/lib/weather/style/css.js +0 -4
- package/lib/weather/style/css.js.map +1 -1
- package/lib/weather/style/index.js +0 -4
- package/lib/weather/style/index.js.map +1 -1
- package/package.json +134 -124
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CesiumHeatmap.js","names":["_cesium","require","_heatmap","_interopRequireDefault","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","t","toString","call","slice","name","Array","from","test","isArray","length","n","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_classCallCheck","_defineProperties","configurable","writable","_toPropertyKey","key","_createClass","_superPropGet","p","_get","_getPrototypeOf","Reflect","get","bind","_superPropBase","value","_superPropSet","f","_set","set","i","hasOwnProperty","setPrototypeOf","getPrototypeOf","__proto__","_toPrimitive","toPrimitive","String","Number","Max","arr","len","max","Infinity","Min","min","CesiumHeatmap","exports","viewer","options","_this$initOptions","layerControl","viewOnly","show","_options$initRadius","initRadius","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","optionsData","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","undefined","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 {\r\n EllipsoidSurfaceAppearance,\r\n GeometryInstance,\r\n Material,\r\n Primitive,\r\n Rectangle,\r\n RectangleGeometry,\r\n Viewer,\r\n Event,\r\n SingleTileImageryProvider,\r\n ImageryLayer,\r\n ImageMaterialProperty,\r\n Entity,\r\n CustomDataSource,\r\n} from 'cesium';\r\nimport h337 from './heatmap.js'; //只能使用2.0.0版本,高版本热度图有出不来的情况,并且2.0.0 npm包有问题,只能通过修改使用这个js\r\n\r\nconst Max = arr => {\r\n let len = arr.length;\r\n let max = -Infinity;\r\n\r\n while (len--) {\r\n max = arr[len] > max ? arr[len] : max;\r\n }\r\n return max;\r\n};\r\n\r\nconst Min = arr => {\r\n let len = arr.length;\r\n let min = Infinity;\r\n\r\n while (len--) {\r\n min = arr[len] < min ? arr[len] : min;\r\n }\r\n return min;\r\n};\r\n\r\n/**\r\n * 热度图\r\n */\r\nexport class CesiumHeatmap {\r\n viewer;\r\n element;\r\n initOptions;\r\n heatmapOptions;\r\n heatmapDataOptions;\r\n provider;\r\n heatmap;\r\n cameraMoveEnd;\r\n bounds = [0, 0, 0, 0];\r\n lastCameraHeight = 0;\r\n\r\n constructor(viewer, options) {\r\n this.viewer = viewer;\r\n const { key, name, layerControl, viewOnly, show, initRadius = 10 } = options;\r\n this.initOptions = { ...options };\r\n // 图层标识\r\n this.key = key;\r\n this.initRadius = initRadius;\r\n\r\n // 图层名称\r\n this.name = name;\r\n this.layerControl = layerControl;\r\n this.viewOnly = viewOnly;\r\n super.show = show;\r\n if (this.initOptions?.points?.length) {\r\n const bounds = this.getBounds(this.initOptions.points);\r\n this.bounds = bounds;\r\n const { container, width, height } = this.createContainer(bounds);\r\n this.element = container;\r\n const datas = [];\r\n const values = [];\r\n for (let i in this.initOptions.points) {\r\n const point = this.initOptions.points[i];\r\n const x = ((point.x - bounds[0]) / (bounds[2] - bounds[0])) * width; //屏幕坐标x\r\n const y = ((bounds[3] - point.y) / (bounds[3] - bounds[1])) * height; //屏幕坐标y\r\n const dataPoint = {\r\n x: x,\r\n y: y,\r\n value: point.value,\r\n };\r\n if (typeof point.value === 'number') values.push(point.value);\r\n datas.push(dataPoint);\r\n }\r\n\r\n //数据的最大值和最小值\r\n let _min = values.length > 100000 ? Min(values) : Math.min(...values);\r\n let _max = values.length > 100000 ? Max(values) : Math.max(...values);\r\n if (this.initOptions?.heatmapDataOptions) {\r\n const { min, max } = this.initOptions.heatmapDataOptions;\r\n if (typeof min === 'number') {\r\n _min = min;\r\n }\r\n if (typeof max === 'number') {\r\n _max = max;\r\n }\r\n }\r\n this.heatmapDataOptions = { min: _min, max: _max };\r\n\r\n const data = {\r\n max: _max,\r\n min: _min,\r\n data: datas,\r\n };\r\n\r\n const defaultOptions = {\r\n maxOpacity: 0.9,\r\n // radius: minRadius,\r\n // minimum opacity. any value > 0 will produce\r\n // no transparent gradient transition\r\n minOpacity: 0.1,\r\n gradient: {\r\n // enter n keys between 0 and 1 here\r\n // for gradient color customization\r\n '.3': 'blue',\r\n '.5': 'green',\r\n '.7': 'yellow',\r\n '.95': 'red',\r\n },\r\n };\r\n const _options = this.initOptions.heatmapOptions\r\n ? { ...defaultOptions, ...this.initOptions.heatmapOptions }\r\n : defaultOptions;\r\n\r\n this.heatmapOptions = { ..._options };\r\n //初始化半径\r\n if (this.heatmapOptions?.radius) {\r\n this.initRadius = this.heatmapOptions.radius;\r\n }\r\n\r\n const optionsData = {\r\n ..._options,\r\n container,\r\n radius: this.initRadius,\r\n };\r\n\r\n this.heatmap = h337.create(optionsData);\r\n this.heatmap.setData(data);\r\n this.createLayer();\r\n\r\n if (!this.initOptions.noLisenerCamera) {\r\n this.addLisener();\r\n }\r\n\r\n if (this.initOptions.zoomToLayer && bounds) {\r\n this.viewer.camera.flyTo({\r\n destination: Rectangle.fromDegrees(...bounds),\r\n });\r\n }\r\n }\r\n }\r\n\r\n // 重写父类的属性访问器\r\n get show() {\r\n return super.show;\r\n }\r\n\r\n set show(value) {\r\n this.setVisible(value);\r\n }\r\n\r\n // 获取地图\r\n getMap() {\r\n return this.viewer;\r\n }\r\n\r\n // 设置图层显示隐藏\r\n setVisible(visible) {\r\n super.show = visible;\r\n this.provider.show = visible; // 将属性传递给父类\r\n\r\n const map = this.getMap && this.getMap();\r\n if (map) {\r\n map.layers.emit('visible', this, visible);\r\n }\r\n }\r\n\r\n /**\r\n * 设置数据的最大最小值\r\n * @param dataOption\r\n */\r\n updateHeatMapMaxMin(dataOption) {\r\n const { min, max } = dataOption;\r\n if (this.heatmap) {\r\n if (typeof min === 'number') {\r\n this.heatmap.setDataMin(min);\r\n if (this.heatmapDataOptions) this.heatmapDataOptions.min = min;\r\n }\r\n if (typeof max === 'number') {\r\n this.heatmap.setDataMax(max);\r\n if (this.heatmapDataOptions) this.heatmapDataOptions.max = max;\r\n }\r\n }\r\n this.updateLayer();\r\n }\r\n\r\n /**\r\n * 更新热度图配置\r\n * @param options\r\n */\r\n updateHeatmap(options) {\r\n const { heatmapOptions } = this;\r\n this.heatmap.configure({ ...heatmapOptions, ...options });\r\n this.updateLayer();\r\n }\r\n\r\n /**\r\n * 更新半径\r\n * @param radius\r\n */\r\n updateRadius(radius) {\r\n const { heatmapOptions } = this;\r\n const currentData = this.heatmap.getData();\r\n if (currentData?.data) {\r\n for (let i in currentData.data) {\r\n const data = currentData.data[i];\r\n data.radius = radius;\r\n }\r\n }\r\n this.heatmap.setData(currentData);\r\n this.heatmapOptions = { ...heatmapOptions, ...{ radius } };\r\n this.updateLayer();\r\n if (this.initOptions?.onRadiusChange) {\r\n this.initOptions.onRadiusChange(radius);\r\n }\r\n }\r\n\r\n /**\r\n * 移除\r\n */\r\n remove() {\r\n if (this.element) {\r\n document.body.removeChild(this.element);\r\n this.element = undefined;\r\n if (this.provider instanceof ImageryLayer) {\r\n if (this.provider) this.viewer.imageryLayers.remove(this.provider);\r\n this.createSingleTileImageryLayer();\r\n } else if (this.provider instanceof Primitive) {\r\n this.viewer.scene.primitives.remove(this.provider);\r\n } else if (this.provider instanceof CustomDataSource) {\r\n this.viewer.dataSources.remove(this.provider);\r\n } else if (this.provider instanceof Entity) {\r\n this.viewer.entities.remove(this.provider);\r\n }\r\n if (this.cameraMoveEnd) {\r\n this.viewer.camera.moveEnd.removeEventListener(this.cameraMoveEnd);\r\n this.cameraMoveEnd = undefined;\r\n }\r\n }\r\n }\r\n\r\n createLayer() {\r\n if (this.initOptions.renderType === 'primitive') {\r\n this.createPrimitive();\r\n } else if (this.initOptions.renderType === 'imagery') {\r\n this.createSingleTileImageryLayer();\r\n } else {\r\n this.createEntity();\r\n }\r\n this.provider.key = this.key;\r\n\r\n this.provider.name = this.name;\r\n this.provider.show = this.show;\r\n this.provider.setVisible = visible => {\r\n this.setVisible(visible);\r\n };\r\n }\r\n\r\n createPrimitive() {\r\n const url = this.heatmap.getDataURL();\r\n this.provider = this.viewer.scene.primitives.add(\r\n new Primitive({\r\n geometryInstances: new GeometryInstance({\r\n geometry: new RectangleGeometry({\r\n rectangle: Rectangle.fromDegrees(...this.bounds),\r\n vertexFormat: EllipsoidSurfaceAppearance.VERTEX_FORMAT,\r\n }),\r\n }),\r\n appearance: new EllipsoidSurfaceAppearance({\r\n aboveGround: false,\r\n }),\r\n show: this.show,\r\n }),\r\n );\r\n if (this.provider) {\r\n this.provider.appearance.material = new Material({\r\n fabric: {\r\n type: 'Image',\r\n uniforms: {\r\n image: url,\r\n },\r\n },\r\n });\r\n }\r\n }\r\n\r\n createSingleTileImageryLayer() {\r\n const url = this.heatmap.getDataURL();\r\n this.provider = this.viewer.imageryLayers.addImageryProvider(\r\n new SingleTileImageryProvider({\r\n url: url,\r\n rectangle: Rectangle.fromDegrees(...this.bounds),\r\n }),\r\n );\r\n }\r\n\r\n getImageMaterialProperty() {\r\n const url = this.heatmap.getDataURL();\r\n const material = new ImageMaterialProperty({\r\n image: url,\r\n });\r\n return material;\r\n }\r\n\r\n createEntity() {\r\n this.provider = new CustomDataSource(this.name);\r\n this.provider.entities.add({\r\n show: true,\r\n rectangle: {\r\n coordinates: Rectangle.fromDegrees(...this.bounds),\r\n material: this.getImageMaterialProperty(),\r\n },\r\n });\r\n this.viewer.dataSources.add(this.provider);\r\n }\r\n\r\n updateLayer() {\r\n const src = this.heatmap.getDataURL();\r\n if (this.provider instanceof ImageryLayer) {\r\n if (this.provider) this.viewer.imageryLayers.remove(this.provider);\r\n this.createSingleTileImageryLayer();\r\n } else if (this.provider instanceof Primitive) {\r\n this.provider.appearance.material.uniforms.image = src;\r\n } else if (this.provider instanceof Entity) {\r\n if (this.provider.rectangle)\r\n this.provider.rectangle.material = this.getImageMaterialProperty();\r\n } else if (this.provider instanceof CustomDataSource) {\r\n this.viewer.dataSources.remove(this.provider);\r\n this.createEntity();\r\n }\r\n }\r\n\r\n /**\r\n * 添加相机的监听\r\n */\r\n addLisener() {\r\n const maxRadius = 100;\r\n const min = 6375000;\r\n const max = 10000000;\r\n this.cameraMoveEnd = () => {\r\n if (this.heatmapOptions && this.heatmap && this.heatmapDataOptions) {\r\n const h = this.viewer.camera.getMagnitude();\r\n const distance = this?.initOptions?.cameraHeightDistance\r\n ? this.initOptions.cameraHeightDistance\r\n : 1000;\r\n if (Math.abs(h - this.lastCameraHeight) > distance) {\r\n this.lastCameraHeight = h;\r\n if (typeof min === 'number' && typeof max === 'number') {\r\n const radius = parseInt(\r\n (\r\n this.initRadius +\r\n ((maxRadius - this.initRadius) * (h - min)) / (max - min)\r\n ).toFixed(0),\r\n );\r\n if (radius) {\r\n this.updateRadius(radius);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n this.viewer.camera.moveEnd.addEventListener(this.cameraMoveEnd);\r\n }\r\n\r\n /**\r\n *\r\n * @param points\r\n * @param expand\r\n * @returns\r\n */\r\n getBounds(points) {\r\n if (points) {\r\n let lonMin = 180;\r\n let lonMax = -180;\r\n let latMin = 90;\r\n let latMax = -180;\r\n points.forEach(function(point) {\r\n const { x: longitude, y: latitude } = point;\r\n lonMin = longitude < lonMin ? longitude : lonMin;\r\n latMin = latitude < latMin ? latitude : latMin;\r\n lonMax = longitude > lonMax ? longitude : lonMax;\r\n latMax = latitude > latMax ? latitude : latMax;\r\n });\r\n const xRange = lonMax - lonMin ? lonMax - lonMin : 1;\r\n const yRange = latMax - latMin ? latMax - latMin : 1;\r\n return [\r\n lonMin - xRange / 10,\r\n latMin - yRange / 10,\r\n lonMax + xRange / 10,\r\n latMax + yRange / 10,\r\n ];\r\n }\r\n return [0, 0, 0, 0];\r\n }\r\n\r\n createContainer(bounds) {\r\n const container = document.createElement('div');\r\n const width = 1000;\r\n const height = parseInt(\r\n ((1000 / (bounds[2] - bounds[0])) * (bounds[3] - bounds[1])).toFixed(0),\r\n );\r\n container.setAttribute('style', `width:${width}px;height:${height}px;display:none;`);\r\n document.body.appendChild(container);\r\n return { container, width, height };\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CesiumHeatmap.js","names":["_cesium","require","_heatmap","_interopRequireDefault","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","t","toString","call","slice","name","Array","from","test","isArray","length","n","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_classCallCheck","_defineProperties","configurable","writable","_toPropertyKey","key","_createClass","_superPropGet","p","_get","_getPrototypeOf","Reflect","get","bind","_superPropBase","value","_superPropSet","f","_set","set","i","hasOwnProperty","setPrototypeOf","getPrototypeOf","__proto__","_toPrimitive","toPrimitive","String","Number","Max","arr","len","max","Infinity","Min","min","CesiumHeatmap","exports","viewer","options","_this$initOptions","layerControl","viewOnly","show","_options$initRadius","initRadius","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","optionsData","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","undefined","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\n constructor(viewer, options) {\n this.viewer = viewer;\n const { key, name, layerControl, viewOnly, show, initRadius = 10 } = options;\n this.initOptions = { ...options };\n // 图层标识\n this.key = key;\n this.initRadius = initRadius;\n\n // 图层名称\n this.name = name;\n this.layerControl = layerControl;\n this.viewOnly = viewOnly;\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 this.heatmapOptions = { ..._options };\n //初始化半径\n if (this.heatmapOptions?.radius) {\n this.initRadius = this.heatmapOptions.radius;\n }\n\n const optionsData = {\n ..._options,\n container,\n radius: this.initRadius,\n };\n\n this.heatmap = h337.create(optionsData);\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 } else if (this.provider instanceof CustomDataSource) {\n this.viewer.dataSources.remove(this.provider);\n this.createEntity();\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":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAeA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAgC,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,SAAAE,QAAAC,CAAA,sCAAAD,OAAA,wBAAAE,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAF,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAC,MAAA,IAAAD,CAAA,CAAAG,WAAA,KAAAF,MAAA,IAAAD,CAAA,KAAAC,MAAA,CAAAG,SAAA,qBAAAJ,CAAA,KAAAD,OAAA,CAAAC,CAAA;AAAA,SAAAK,mBAAAC,CAAA,WAAAC,kBAAA,CAAAD,CAAA,KAAAE,gBAAA,CAAAF,CAAA,KAAAG,2BAAA,CAAAH,CAAA,KAAAI,kBAAA;AAAA,SAAAA,mBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAH,CAAA,EAAAM,CAAA,QAAAN,CAAA,2BAAAA,CAAA,SAAAO,iBAAA,CAAAP,CAAA,EAAAM,CAAA,OAAAE,CAAA,MAAAC,QAAA,CAAAC,IAAA,CAAAV,CAAA,EAAAW,KAAA,6BAAAH,CAAA,IAAAR,CAAA,CAAAH,WAAA,KAAAW,CAAA,GAAAR,CAAA,CAAAH,WAAA,CAAAe,IAAA,aAAAJ,CAAA,cAAAA,CAAA,GAAAK,KAAA,CAAAC,IAAA,CAAAd,CAAA,oBAAAQ,CAAA,+CAAAO,IAAA,CAAAP,CAAA,IAAAD,iBAAA,CAAAP,CAAA,EAAAM,CAAA;AAAA,SAAAJ,iBAAAF,CAAA,8BAAAL,MAAA,YAAAK,CAAA,CAAAL,MAAA,CAAAC,QAAA,aAAAI,CAAA,uBAAAa,KAAA,CAAAC,IAAA,CAAAd,CAAA;AAAA,SAAAC,mBAAAD,CAAA,QAAAa,KAAA,CAAAG,OAAA,CAAAhB,CAAA,UAAAO,iBAAA,CAAAP,CAAA;AAAA,SAAAO,kBAAAP,CAAA,EAAAM,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAN,CAAA,CAAAiB,MAAA,MAAAX,CAAA,GAAAN,CAAA,CAAAiB,MAAA,YAAA1B,CAAA,MAAA2B,CAAA,GAAAL,KAAA,CAAAP,CAAA,GAAAf,CAAA,GAAAe,CAAA,EAAAf,CAAA,IAAA2B,CAAA,CAAA3B,CAAA,IAAAS,CAAA,CAAAT,CAAA,UAAA2B,CAAA;AAAA,SAAAC,QAAA5B,CAAA,EAAAS,CAAA,QAAAQ,CAAA,GAAAY,MAAA,CAAAC,IAAA,CAAA9B,CAAA,OAAA6B,MAAA,CAAAE,qBAAA,QAAA5B,CAAA,GAAA0B,MAAA,CAAAE,qBAAA,CAAA/B,CAAA,GAAAS,CAAA,KAAAN,CAAA,GAAAA,CAAA,CAAA6B,MAAA,WAAAvB,CAAA,WAAAoB,MAAA,CAAAI,wBAAA,CAAAjC,CAAA,EAAAS,CAAA,EAAAyB,UAAA,OAAAjB,CAAA,CAAAkB,IAAA,CAAAC,KAAA,CAAAnB,CAAA,EAAAd,CAAA,YAAAc,CAAA;AAAA,SAAAoB,cAAArC,CAAA,aAAAS,CAAA,MAAAA,CAAA,GAAA6B,SAAA,CAAAZ,MAAA,EAAAjB,CAAA,UAAAQ,CAAA,WAAAqB,SAAA,CAAA7B,CAAA,IAAA6B,SAAA,CAAA7B,CAAA,QAAAA,CAAA,OAAAmB,OAAA,CAAAC,MAAA,CAAAZ,CAAA,OAAAsB,OAAA,WAAA9B,CAAA,IAAA+B,eAAA,CAAAxC,CAAA,EAAAS,CAAA,EAAAQ,CAAA,CAAAR,CAAA,SAAAoB,MAAA,CAAAY,yBAAA,GAAAZ,MAAA,CAAAa,gBAAA,CAAA1C,CAAA,EAAA6B,MAAA,CAAAY,yBAAA,CAAAxB,CAAA,KAAAW,OAAA,CAAAC,MAAA,CAAAZ,CAAA,GAAAsB,OAAA,WAAA9B,CAAA,IAAAoB,MAAA,CAAAc,cAAA,CAAA3C,CAAA,EAAAS,CAAA,EAAAoB,MAAA,CAAAI,wBAAA,CAAAhB,CAAA,EAAAR,CAAA,iBAAAT,CAAA;AAAA,SAAA4C,gBAAA7B,CAAA,EAAAY,CAAA,UAAAZ,CAAA,YAAAY,CAAA,aAAAb,SAAA;AAAA,SAAA+B,kBAAA7C,CAAA,EAAAS,CAAA,aAAAQ,CAAA,MAAAA,CAAA,GAAAR,CAAA,CAAAiB,MAAA,EAAAT,CAAA,UAAAd,CAAA,GAAAM,CAAA,CAAAQ,CAAA,GAAAd,CAAA,CAAA+B,UAAA,GAAA/B,CAAA,CAAA+B,UAAA,QAAA/B,CAAA,CAAA2C,YAAA,kBAAA3C,CAAA,KAAAA,CAAA,CAAA4C,QAAA,QAAAlB,MAAA,CAAAc,cAAA,CAAA3C,CAAA,EAAAgD,cAAA,CAAA7C,CAAA,CAAA8C,GAAA,GAAA9C,CAAA;AAAA,SAAA+C,aAAAlD,CAAA,EAAAS,CAAA,EAAAQ,CAAA,WAAAR,CAAA,IAAAoC,iBAAA,CAAA7C,CAAA,CAAAO,SAAA,EAAAE,CAAA,GAAAQ,CAAA,IAAA4B,iBAAA,CAAA7C,CAAA,EAAAiB,CAAA,GAAAY,MAAA,CAAAc,cAAA,CAAA3C,CAAA,iBAAA+C,QAAA,SAAA/C,CAAA;AAAA,SAAAmD,cAAAlC,CAAA,EAAAd,CAAA,EAAAH,CAAA,EAAAS,CAAA,QAAA2C,CAAA,GAAAC,IAAA,CAAAC,eAAA,KAAA7C,CAAA,GAAAQ,CAAA,CAAAV,SAAA,GAAAU,CAAA,GAAAd,CAAA,EAAAH,CAAA,cAAAS,CAAA,yBAAA2C,CAAA,aAAAnC,CAAA,WAAAmC,CAAA,CAAAhB,KAAA,CAAApC,CAAA,EAAAiB,CAAA,OAAAmC,CAAA;AAAA,SAAAC,KAAA,WAAAA,IAAA,yBAAAE,OAAA,IAAAA,OAAA,CAAAC,GAAA,GAAAD,OAAA,CAAAC,GAAA,CAAAC,IAAA,eAAAzD,CAAA,EAAAiB,CAAA,EAAAR,CAAA,QAAA2C,CAAA,GAAAM,cAAA,CAAA1D,CAAA,EAAAiB,CAAA,OAAAmC,CAAA,QAAAzB,CAAA,GAAAE,MAAA,CAAAI,wBAAA,CAAAmB,CAAA,EAAAnC,CAAA,UAAAU,CAAA,CAAA6B,GAAA,GAAA7B,CAAA,CAAA6B,GAAA,CAAArC,IAAA,CAAAmB,SAAA,CAAAZ,MAAA,OAAA1B,CAAA,GAAAS,CAAA,IAAAkB,CAAA,CAAAgC,KAAA,OAAAN,IAAA,CAAAjB,KAAA,OAAAE,SAAA;AAAA,SAAAsB,cAAA3C,CAAA,EAAAjB,CAAA,EAAAG,CAAA,EAAAM,CAAA,EAAA2C,CAAA,EAAAS,CAAA,WAAAC,IAAA,CAAAR,eAAA,CAAAO,CAAA,GAAA5C,CAAA,CAAAV,SAAA,GAAAU,CAAA,GAAAjB,CAAA,EAAAG,CAAA,EAAAM,CAAA,EAAA2C,CAAA;AAAA,SAAAW,IAAA/D,CAAA,EAAAS,CAAA,EAAAQ,CAAA,EAAAd,CAAA,WAAA4D,GAAA,yBAAAR,OAAA,IAAAA,OAAA,CAAAQ,GAAA,GAAAR,OAAA,CAAAQ,GAAA,aAAA/D,CAAA,EAAAS,CAAA,EAAAQ,CAAA,EAAAd,CAAA,QAAA0D,CAAA,EAAAG,CAAA,GAAAN,cAAA,CAAA1D,CAAA,EAAAS,CAAA,OAAAuD,CAAA,SAAAH,CAAA,GAAAhC,MAAA,CAAAI,wBAAA,CAAA+B,CAAA,EAAAvD,CAAA,GAAAsD,GAAA,SAAAF,CAAA,CAAAE,GAAA,CAAA5C,IAAA,CAAAhB,CAAA,EAAAc,CAAA,YAAA4C,CAAA,CAAAd,QAAA,mBAAAc,CAAA,GAAAhC,MAAA,CAAAI,wBAAA,CAAA9B,CAAA,EAAAM,CAAA,UAAAoD,CAAA,CAAAd,QAAA,aAAAc,CAAA,CAAAF,KAAA,GAAA1C,CAAA,EAAAY,MAAA,CAAAc,cAAA,CAAAxC,CAAA,EAAAM,CAAA,EAAAoD,CAAA,UAAArB,eAAA,CAAArC,CAAA,EAAAM,CAAA,EAAAQ,CAAA,iBAAA8C,GAAA,CAAA/D,CAAA,EAAAS,CAAA,EAAAQ,CAAA,EAAAd,CAAA;AAAA,SAAA2D,KAAA9D,CAAA,EAAAS,CAAA,EAAAQ,CAAA,EAAAd,CAAA,EAAA0D,CAAA,SAAAE,GAAA,CAAA/D,CAAA,EAAAS,CAAA,EAAAQ,CAAA,EAAAd,CAAA,IAAAH,CAAA,KAAA6D,CAAA,YAAA/C,SAAA,mCAAAG,CAAA;AAAA,SAAAyC,eAAAzC,CAAA,EAAAd,CAAA,eAAA8D,cAAA,CAAA9C,IAAA,CAAAF,CAAA,EAAAd,CAAA,eAAAc,CAAA,GAAAqC,eAAA,CAAArC,CAAA,aAAAA,CAAA;AAAA,SAAAqC,gBAAArC,CAAA,WAAAqC,eAAA,GAAAzB,MAAA,CAAAqC,cAAA,GAAArC,MAAA,CAAAsC,cAAA,CAAAV,IAAA,eAAAxC,CAAA,WAAAA,CAAA,CAAAmD,SAAA,IAAAvC,MAAA,CAAAsC,cAAA,CAAAlD,CAAA,MAAAqC,eAAA,CAAArC,CAAA;AAAA,SAAAuB,gBAAAxC,CAAA,EAAAS,CAAA,EAAAQ,CAAA,YAAAR,CAAA,GAAAuC,cAAA,CAAAvC,CAAA,MAAAT,CAAA,GAAA6B,MAAA,CAAAc,cAAA,CAAA3C,CAAA,EAAAS,CAAA,IAAAkD,KAAA,EAAA1C,CAAA,EAAAiB,UAAA,MAAAY,YAAA,MAAAC,QAAA,UAAA/C,CAAA,CAAAS,CAAA,IAAAQ,CAAA,EAAAjB,CAAA;AAAA,SAAAgD,eAAA/B,CAAA,QAAA+C,CAAA,GAAAK,YAAA,CAAApD,CAAA,gCAAAf,OAAA,CAAA8D,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAK,aAAApD,CAAA,EAAAR,CAAA,oBAAAP,OAAA,CAAAe,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAjB,CAAA,GAAAiB,CAAA,CAAAb,MAAA,CAAAkE,WAAA,kBAAAtE,CAAA,QAAAgE,CAAA,GAAAhE,CAAA,CAAAmB,IAAA,CAAAF,CAAA,EAAAR,CAAA,gCAAAP,OAAA,CAAA8D,CAAA,UAAAA,CAAA,YAAAlD,SAAA,yEAAAL,CAAA,GAAA8D,MAAA,GAAAC,MAAA,EAAAvD,CAAA;AAAC;;AAEjC,IAAMwD,GAAG,GAAG,SAANA,GAAGA,CAAGC,GAAG,EAAI;EACf,IAAIC,GAAG,GAAGD,GAAG,CAAChD,MAAM;EACpB,IAAIkD,GAAG,GAAG,CAACC,QAAQ;EAEnB,OAAOF,GAAG,EAAE,EAAE;IACVC,GAAG,GAAGF,GAAG,CAACC,GAAG,CAAC,GAAGC,GAAG,GAAGF,GAAG,CAACC,GAAG,CAAC,GAAGC,GAAG;EACzC;EACA,OAAOA,GAAG;AACd,CAAC;AAED,IAAME,GAAG,GAAG,SAANA,GAAGA,CAAGJ,GAAG,EAAI;EACf,IAAIC,GAAG,GAAGD,GAAG,CAAChD,MAAM;EACpB,IAAIqD,GAAG,GAAGF,QAAQ;EAElB,OAAOF,GAAG,EAAE,EAAE;IACVI,GAAG,GAAGL,GAAG,CAACC,GAAG,CAAC,GAAGI,GAAG,GAAGL,GAAG,CAACC,GAAG,CAAC,GAAGI,GAAG;EACzC;EACA,OAAOA,GAAG;AACd,CAAC;;AAED;AACA;AACA;AAFA,IAGaC,aAAa,GAAAC,OAAA,CAAAD,aAAA;EAYtB,SAAAA,cAAYE,MAAM,EAAEC,OAAO,EAAE;IAAA,IAAAC,iBAAA;IAAAxC,eAAA,OAAAoC,aAAA;IAAAxC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,iBAHpB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAAAA,eAAA,2BACF,CAAC;IAGhB,IAAI,CAAC0C,MAAM,GAAGA,MAAM;IACpB,IAAQjC,GAAG,GAA0DkC,OAAO,CAApElC,GAAG;MAAE5B,IAAI,GAAoD8D,OAAO,CAA/D9D,IAAI;MAAEgE,YAAY,GAAsCF,OAAO,CAAzDE,YAAY;MAAEC,QAAQ,GAA4BH,OAAO,CAA3CG,QAAQ;MAAEC,IAAI,GAAsBJ,OAAO,CAAjCI,IAAI;MAAAC,mBAAA,GAAsBL,OAAO,CAA3BM,UAAU;MAAVA,UAAU,GAAAD,mBAAA,cAAG,EAAE,GAAAA,mBAAA;IAChE,IAAI,CAACE,WAAW,GAAArD,aAAA,KAAQ8C,OAAO,CAAE;IACjC;IACA,IAAI,CAAClC,GAAG,GAAGA,GAAG;IACd,IAAI,CAACwC,UAAU,GAAGA,UAAU;;IAE5B;IACA,IAAI,CAACpE,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACgE,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB1B,aAAA,CAAAoB,aAAA,UAAaO,IAAI;IACjB,KAAAH,iBAAA,GAAI,IAAI,CAACM,WAAW,cAAAN,iBAAA,gBAAAA,iBAAA,GAAhBA,iBAAA,CAAkBO,MAAM,cAAAP,iBAAA,eAAxBA,iBAAA,CAA0B1D,MAAM,EAAE;MAAA,IAAAkE,kBAAA,EAAAC,oBAAA;MAClC,IAAMC,MAAM,GAAG,IAAI,CAACC,SAAS,CAAC,IAAI,CAACL,WAAW,CAACC,MAAM,CAAC;MACtD,IAAI,CAACG,MAAM,GAAGA,MAAM;MACpB,IAAAE,qBAAA,GAAqC,IAAI,CAACC,eAAe,CAACH,MAAM,CAAC;QAAzDI,SAAS,GAAAF,qBAAA,CAATE,SAAS;QAAEC,KAAK,GAAAH,qBAAA,CAALG,KAAK;QAAEC,MAAM,GAAAJ,qBAAA,CAANI,MAAM;MAChC,IAAI,CAACC,OAAO,GAAGH,SAAS;MACxB,IAAMI,KAAK,GAAG,EAAE;MAChB,IAAMC,MAAM,GAAG,EAAE;MACjB,KAAK,IAAIvC,CAAC,IAAI,IAAI,CAAC0B,WAAW,CAACC,MAAM,EAAE;QACnC,IAAMa,KAAK,GAAG,IAAI,CAACd,WAAW,CAACC,MAAM,CAAC3B,CAAC,CAAC;QACxC,IAAMyC,CAAC,GAAI,CAACD,KAAK,CAACC,CAAC,GAAGX,MAAM,CAAC,CAAC,CAAC,KAAKA,MAAM,CAAC,CAAC,CAAC,GAAGA,MAAM,CAAC,CAAC,CAAC,CAAC,GAAIK,KAAK,CAAC,CAAC;QACrE,IAAMO,CAAC,GAAI,CAACZ,MAAM,CAAC,CAAC,CAAC,GAAGU,KAAK,CAACE,CAAC,KAAKZ,MAAM,CAAC,CAAC,CAAC,GAAGA,MAAM,CAAC,CAAC,CAAC,CAAC,GAAIM,MAAM,CAAC,CAAC;QACtE,IAAMO,SAAS,GAAG;UACdF,CAAC,EAAEA,CAAC;UACJC,CAAC,EAAEA,CAAC;UACJ/C,KAAK,EAAE6C,KAAK,CAAC7C;QACjB,CAAC;QACD,IAAI,OAAO6C,KAAK,CAAC7C,KAAK,KAAK,QAAQ,EAAE4C,MAAM,CAACpE,IAAI,CAACqE,KAAK,CAAC7C,KAAK,CAAC;QAC7D2C,KAAK,CAACnE,IAAI,CAACwE,SAAS,CAAC;MACzB;;MAEA;MACA,IAAIC,IAAI,GAAGL,MAAM,CAAC7E,MAAM,GAAG,MAAM,GAAGoD,GAAG,CAACyB,MAAM,CAAC,GAAGM,IAAI,CAAC9B,GAAG,CAAA3C,KAAA,CAARyE,IAAI,EAAQN,MAAM,CAAC;MACrE,IAAIO,IAAI,GAAGP,MAAM,CAAC7E,MAAM,GAAG,MAAM,GAAG+C,GAAG,CAAC8B,MAAM,CAAC,GAAGM,IAAI,CAACjC,GAAG,CAAAxC,KAAA,CAARyE,IAAI,EAAQN,MAAM,CAAC;MACrE,KAAAX,kBAAA,GAAI,IAAI,CAACF,WAAW,cAAAE,kBAAA,eAAhBA,kBAAA,CAAkBmB,kBAAkB,EAAE;QACtC,IAAAC,qBAAA,GAAqB,IAAI,CAACtB,WAAW,CAACqB,kBAAkB;UAAhDhC,GAAG,GAAAiC,qBAAA,CAAHjC,GAAG;UAAEH,GAAG,GAAAoC,qBAAA,CAAHpC,GAAG;QAChB,IAAI,OAAOG,GAAG,KAAK,QAAQ,EAAE;UACzB6B,IAAI,GAAG7B,GAAG;QACd;QACA,IAAI,OAAOH,GAAG,KAAK,QAAQ,EAAE;UACzBkC,IAAI,GAAGlC,GAAG;QACd;MACJ;MACA,IAAI,CAACmC,kBAAkB,GAAG;QAAEhC,GAAG,EAAE6B,IAAI;QAAEhC,GAAG,EAAEkC;MAAK,CAAC;MAElD,IAAMG,IAAI,GAAG;QACTrC,GAAG,EAAEkC,IAAI;QACT/B,GAAG,EAAE6B,IAAI;QACTK,IAAI,EAAEX;MACV,CAAC;MAED,IAAMY,cAAc,GAAG;QACnBC,UAAU,EAAE,GAAG;QACf;QACA;QACA;QACAC,UAAU,EAAE,GAAG;QACfC,QAAQ,EAAE;UACN;UACA;UACA,IAAI,EAAE,MAAM;UACZ,IAAI,EAAE,OAAO;UACb,IAAI,EAAE,QAAQ;UACd,KAAK,EAAE;QACX;MACJ,CAAC;MACD,IAAMC,QAAQ,GAAG,IAAI,CAAC5B,WAAW,CAAC6B,cAAc,GAAAlF,aAAA,CAAAA,aAAA,KACrC6E,cAAc,GAAK,IAAI,CAACxB,WAAW,CAAC6B,cAAc,IACvDL,cAAc;MAEpB,IAAI,CAACK,cAAc,GAAAlF,aAAA,KAAQiF,QAAQ,CAAE;MACrC;MACA,KAAAzB,oBAAA,GAAI,IAAI,CAAC0B,cAAc,cAAA1B,oBAAA,eAAnBA,oBAAA,CAAqB2B,MAAM,EAAE;QAC7B,IAAI,CAAC/B,UAAU,GAAG,IAAI,CAAC8B,cAAc,CAACC,MAAM;MAChD;MAEA,IAAMC,WAAW,GAAApF,aAAA,CAAAA,aAAA,KACViF,QAAQ;QACXpB,SAAS,EAATA,SAAS;QACTsB,MAAM,EAAE,IAAI,CAAC/B;MAAU,EAC1B;MAED,IAAI,CAACiC,OAAO,GAAGC,mBAAI,CAACC,MAAM,CAACH,WAAW,CAAC;MACvC,IAAI,CAACC,OAAO,CAACG,OAAO,CAACZ,IAAI,CAAC;MAC1B,IAAI,CAACa,WAAW,CAAC,CAAC;MAElB,IAAI,CAAC,IAAI,CAACpC,WAAW,CAACqC,eAAe,EAAE;QACnC,IAAI,CAACC,UAAU,CAAC,CAAC;MACrB;MAEA,IAAI,IAAI,CAACtC,WAAW,CAACuC,WAAW,IAAInC,MAAM,EAAE;QACxC,IAAI,CAACZ,MAAM,CAACgD,MAAM,CAACC,KAAK,CAAC;UACrBC,WAAW,EAAEC,iBAAS,CAACC,WAAW,CAAAlG,KAAA,CAArBiG,iBAAS,EAAA7H,kBAAA,CAAgBsF,MAAM;QAChD,CAAC,CAAC;MACN;IACJ;EACJ;;EAEA;EAAA,OAAA5C,YAAA,CAAA8B,aAAA;IAAA/B,GAAA;IAAAO,GAAA,EACA,SAAAA,IAAA,EAAW;MACP,OAAAL,aAAA,CAAA6B,aAAA;IACJ,CAAC;IAAAjB,GAAA,EAED,SAAAA,IAASJ,KAAK,EAAE;MACZ,IAAI,CAAC4E,UAAU,CAAC5E,KAAK,CAAC;IAC1B;;IAEA;EAAA;IAAAV,GAAA;IAAAU,KAAA,EACA,SAAA6E,MAAMA,CAAA,EAAG;MACL,OAAO,IAAI,CAACtD,MAAM;IACtB;;IAEA;EAAA;IAAAjC,GAAA;IAAAU,KAAA,EACA,SAAA4E,UAAUA,CAACE,OAAO,EAAE;MAChB7E,aAAA,CAAAoB,aAAA,UAAayD,OAAO;MACpB,IAAI,CAACC,QAAQ,CAACnD,IAAI,GAAGkD,OAAO,CAAC,CAAC;;MAE9B,IAAME,GAAG,GAAG,IAAI,CAACH,MAAM,IAAI,IAAI,CAACA,MAAM,CAAC,CAAC;MACxC,IAAIG,GAAG,EAAE;QACLA,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAEJ,OAAO,CAAC;MAC7C;IACJ;;IAEA;AACJ;AACA;AACA;EAHI;IAAAxF,GAAA;IAAAU,KAAA,EAIA,SAAAmF,mBAAmBA,CAACC,UAAU,EAAE;MAC5B,IAAQhE,GAAG,GAAUgE,UAAU,CAAvBhE,GAAG;QAAEH,GAAG,GAAKmE,UAAU,CAAlBnE,GAAG;MAChB,IAAI,IAAI,CAAC8C,OAAO,EAAE;QACd,IAAI,OAAO3C,GAAG,KAAK,QAAQ,EAAE;UACzB,IAAI,CAAC2C,OAAO,CAACsB,UAAU,CAACjE,GAAG,CAAC;UAC5B,IAAI,IAAI,CAACgC,kBAAkB,EAAE,IAAI,CAACA,kBAAkB,CAAChC,GAAG,GAAGA,GAAG;QAClE;QACA,IAAI,OAAOH,GAAG,KAAK,QAAQ,EAAE;UACzB,IAAI,CAAC8C,OAAO,CAACuB,UAAU,CAACrE,GAAG,CAAC;UAC5B,IAAI,IAAI,CAACmC,kBAAkB,EAAE,IAAI,CAACA,kBAAkB,CAACnC,GAAG,GAAGA,GAAG;QAClE;MACJ;MACA,IAAI,CAACsE,WAAW,CAAC,CAAC;IACtB;;IAEA;AACJ;AACA;AACA;EAHI;IAAAjG,GAAA;IAAAU,KAAA,EAIA,SAAAwF,aAAaA,CAAChE,OAAO,EAAE;MACnB,IAAQoC,cAAc,GAAK,IAAI,CAAvBA,cAAc;MACtB,IAAI,CAACG,OAAO,CAAC0B,SAAS,CAAA/G,aAAA,CAAAA,aAAA,KAAMkF,cAAc,GAAKpC,OAAO,CAAE,CAAC;MACzD,IAAI,CAAC+D,WAAW,CAAC,CAAC;IACtB;;IAEA;AACJ;AACA;AACA;EAHI;IAAAjG,GAAA;IAAAU,KAAA,EAIA,SAAA0F,YAAYA,CAAC7B,MAAM,EAAE;MAAA,IAAA8B,kBAAA;MACjB,IAAQ/B,cAAc,GAAK,IAAI,CAAvBA,cAAc;MACtB,IAAMgC,WAAW,GAAG,IAAI,CAAC7B,OAAO,CAAC8B,OAAO,CAAC,CAAC;MAC1C,IAAID,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEtC,IAAI,EAAE;QACnB,KAAK,IAAIjD,CAAC,IAAIuF,WAAW,CAACtC,IAAI,EAAE;UAC5B,IAAMA,IAAI,GAAGsC,WAAW,CAACtC,IAAI,CAACjD,CAAC,CAAC;UAChCiD,IAAI,CAACO,MAAM,GAAGA,MAAM;QACxB;MACJ;MACA,IAAI,CAACE,OAAO,CAACG,OAAO,CAAC0B,WAAW,CAAC;MACjC,IAAI,CAAChC,cAAc,GAAAlF,aAAA,CAAAA,aAAA,KAAQkF,cAAc,GAAK;QAAEC,MAAM,EAANA;MAAO,CAAC,CAAE;MAC1D,IAAI,CAAC0B,WAAW,CAAC,CAAC;MAClB,KAAAI,kBAAA,GAAI,IAAI,CAAC5D,WAAW,cAAA4D,kBAAA,eAAhBA,kBAAA,CAAkBG,cAAc,EAAE;QAClC,IAAI,CAAC/D,WAAW,CAAC+D,cAAc,CAACjC,MAAM,CAAC;MAC3C;IACJ;;IAEA;AACJ;AACA;EAFI;IAAAvE,GAAA;IAAAU,KAAA,EAGA,SAAA+F,MAAMA,CAAA,EAAG;MACL,IAAI,IAAI,CAACrD,OAAO,EAAE;QACdsD,QAAQ,CAACC,IAAI,CAACC,WAAW,CAAC,IAAI,CAACxD,OAAO,CAAC;QACvC,IAAI,CAACA,OAAO,GAAGyD,SAAS;QACxB,IAAI,IAAI,CAACpB,QAAQ,YAAYqB,oBAAY,EAAE;UACvC,IAAI,IAAI,CAACrB,QAAQ,EAAE,IAAI,CAACxD,MAAM,CAAC8E,aAAa,CAACN,MAAM,CAAC,IAAI,CAAChB,QAAQ,CAAC;UAClE,IAAI,CAACuB,4BAA4B,CAAC,CAAC;QACvC,CAAC,MAAM,IAAI,IAAI,CAACvB,QAAQ,YAAYwB,iBAAS,EAAE;UAC3C,IAAI,CAAChF,MAAM,CAACiF,KAAK,CAACC,UAAU,CAACV,MAAM,CAAC,IAAI,CAAChB,QAAQ,CAAC;QACtD,CAAC,MAAM,IAAI,IAAI,CAACA,QAAQ,YAAY2B,wBAAgB,EAAE;UAClD,IAAI,CAACnF,MAAM,CAACoF,WAAW,CAACZ,MAAM,CAAC,IAAI,CAAChB,QAAQ,CAAC;QACjD,CAAC,MAAM,IAAI,IAAI,CAACA,QAAQ,YAAY6B,cAAM,EAAE;UACxC,IAAI,CAACrF,MAAM,CAACsF,QAAQ,CAACd,MAAM,CAAC,IAAI,CAAChB,QAAQ,CAAC;QAC9C;QACA,IAAI,IAAI,CAAC+B,aAAa,EAAE;UACpB,IAAI,CAACvF,MAAM,CAACgD,MAAM,CAACwC,OAAO,CAACC,mBAAmB,CAAC,IAAI,CAACF,aAAa,CAAC;UAClE,IAAI,CAACA,aAAa,GAAGX,SAAS;QAClC;MACJ;IACJ;EAAC;IAAA7G,GAAA;IAAAU,KAAA,EAED,SAAAmE,WAAWA,CAAA,EAAG;MAAA,IAAA8C,KAAA;MACV,IAAI,IAAI,CAAClF,WAAW,CAACmF,UAAU,KAAK,WAAW,EAAE;QAC7C,IAAI,CAACC,eAAe,CAAC,CAAC;MAC1B,CAAC,MAAM,IAAI,IAAI,CAACpF,WAAW,CAACmF,UAAU,KAAK,SAAS,EAAE;QAClD,IAAI,CAACZ,4BAA4B,CAAC,CAAC;MACvC,CAAC,MAAM;QACH,IAAI,CAACc,YAAY,CAAC,CAAC;MACvB;MACA,IAAI,CAACrC,QAAQ,CAACzF,GAAG,GAAG,IAAI,CAACA,GAAG;MAE5B,IAAI,CAACyF,QAAQ,CAACrH,IAAI,GAAG,IAAI,CAACA,IAAI;MAC9B,IAAI,CAACqH,QAAQ,CAACnD,IAAI,GAAG,IAAI,CAACA,IAAI;MAC9B,IAAI,CAACmD,QAAQ,CAACH,UAAU,GAAG,UAAAE,OAAO,EAAI;QAClCmC,KAAI,CAACrC,UAAU,CAACE,OAAO,CAAC;MAC5B,CAAC;IACL;EAAC;IAAAxF,GAAA;IAAAU,KAAA,EAED,SAAAmH,eAAeA,CAAA,EAAG;MACd,IAAME,GAAG,GAAG,IAAI,CAACtD,OAAO,CAACuD,UAAU,CAAC,CAAC;MACrC,IAAI,CAACvC,QAAQ,GAAG,IAAI,CAACxD,MAAM,CAACiF,KAAK,CAACC,UAAU,CAACc,GAAG,CAC5C,IAAIhB,iBAAS,CAAC;QACViB,iBAAiB,EAAE,IAAIC,wBAAgB,CAAC;UACpCC,QAAQ,EAAE,IAAIC,yBAAiB,CAAC;YAC5BC,SAAS,EAAElD,iBAAS,CAACC,WAAW,CAAAlG,KAAA,CAArBiG,iBAAS,EAAA7H,kBAAA,CAAgB,IAAI,CAACsF,MAAM,EAAC;YAChD0F,YAAY,EAAEC,kCAA0B,CAACC;UAC7C,CAAC;QACL,CAAC,CAAC;QACFC,UAAU,EAAE,IAAIF,kCAA0B,CAAC;UACvCG,WAAW,EAAE;QACjB,CAAC,CAAC;QACFrG,IAAI,EAAE,IAAI,CAACA;MACf,CAAC,CACL,CAAC;MACD,IAAI,IAAI,CAACmD,QAAQ,EAAE;QACf,IAAI,CAACA,QAAQ,CAACiD,UAAU,CAACE,QAAQ,GAAG,IAAIC,gBAAQ,CAAC;UAC7CC,MAAM,EAAE;YACJC,IAAI,EAAE,OAAO;YACbC,QAAQ,EAAE;cACNC,KAAK,EAAElB;YACX;UACJ;QACJ,CAAC,CAAC;MACN;IACJ;EAAC;IAAA/H,GAAA;IAAAU,KAAA,EAED,SAAAsG,4BAA4BA,CAAA,EAAG;MAC3B,IAAMe,GAAG,GAAG,IAAI,CAACtD,OAAO,CAACuD,UAAU,CAAC,CAAC;MACrC,IAAI,CAACvC,QAAQ,GAAG,IAAI,CAACxD,MAAM,CAAC8E,aAAa,CAACmC,kBAAkB,CACxD,IAAIC,iCAAyB,CAAC;QAC1BpB,GAAG,EAAEA,GAAG;QACRO,SAAS,EAAElD,iBAAS,CAACC,WAAW,CAAAlG,KAAA,CAArBiG,iBAAS,EAAA7H,kBAAA,CAAgB,IAAI,CAACsF,MAAM;MACnD,CAAC,CACL,CAAC;IACL;EAAC;IAAA7C,GAAA;IAAAU,KAAA,EAED,SAAA0I,wBAAwBA,CAAA,EAAG;MACvB,IAAMrB,GAAG,GAAG,IAAI,CAACtD,OAAO,CAACuD,UAAU,CAAC,CAAC;MACrC,IAAMY,QAAQ,GAAG,IAAIS,6BAAqB,CAAC;QACvCJ,KAAK,EAAElB;MACX,CAAC,CAAC;MACF,OAAOa,QAAQ;IACnB;EAAC;IAAA5I,GAAA;IAAAU,KAAA,EAED,SAAAoH,YAAYA,CAAA,EAAG;MACX,IAAI,CAACrC,QAAQ,GAAG,IAAI2B,wBAAgB,CAAC,IAAI,CAAChJ,IAAI,CAAC;MAC/C,IAAI,CAACqH,QAAQ,CAAC8B,QAAQ,CAACU,GAAG,CAAC;QACvB3F,IAAI,EAAE,IAAI;QACVgG,SAAS,EAAE;UACPgB,WAAW,EAAElE,iBAAS,CAACC,WAAW,CAAAlG,KAAA,CAArBiG,iBAAS,EAAA7H,kBAAA,CAAgB,IAAI,CAACsF,MAAM,EAAC;UAClD+F,QAAQ,EAAE,IAAI,CAACQ,wBAAwB,CAAC;QAC5C;MACJ,CAAC,CAAC;MACF,IAAI,CAACnH,MAAM,CAACoF,WAAW,CAACY,GAAG,CAAC,IAAI,CAACxC,QAAQ,CAAC;IAC9C;EAAC;IAAAzF,GAAA;IAAAU,KAAA,EAED,SAAAuF,WAAWA,CAAA,EAAG;MACV,IAAMsD,GAAG,GAAG,IAAI,CAAC9E,OAAO,CAACuD,UAAU,CAAC,CAAC;MACrC,IAAI,IAAI,CAACvC,QAAQ,YAAYqB,oBAAY,EAAE;QACvC,IAAI,IAAI,CAACrB,QAAQ,EAAE,IAAI,CAACxD,MAAM,CAAC8E,aAAa,CAACN,MAAM,CAAC,IAAI,CAAChB,QAAQ,CAAC;QAClE,IAAI,CAACuB,4BAA4B,CAAC,CAAC;MACvC,CAAC,MAAM,IAAI,IAAI,CAACvB,QAAQ,YAAYwB,iBAAS,EAAE;QAC3C,IAAI,CAACxB,QAAQ,CAACiD,UAAU,CAACE,QAAQ,CAACI,QAAQ,CAACC,KAAK,GAAGM,GAAG;MAC1D,CAAC,MAAM,IAAI,IAAI,CAAC9D,QAAQ,YAAY6B,cAAM,EAAE;QACxC,IAAI,IAAI,CAAC7B,QAAQ,CAAC6C,SAAS,EACvB,IAAI,CAAC7C,QAAQ,CAAC6C,SAAS,CAACM,QAAQ,GAAG,IAAI,CAACQ,wBAAwB,CAAC,CAAC;MAC1E,CAAC,MAAM,IAAI,IAAI,CAAC3D,QAAQ,YAAY2B,wBAAgB,EAAE;QAClD,IAAI,CAACnF,MAAM,CAACoF,WAAW,CAACZ,MAAM,CAAC,IAAI,CAAChB,QAAQ,CAAC;QAC7C,IAAI,CAACqC,YAAY,CAAC,CAAC;MACvB;IACJ;;IAEA;AACJ;AACA;EAFI;IAAA9H,GAAA;IAAAU,KAAA,EAGA,SAAAqE,UAAUA,CAAA,EAAG;MAAA,IAAAyE,MAAA;MACT,IAAMC,SAAS,GAAG,GAAG;MACrB,IAAM3H,GAAG,GAAG,OAAO;MACnB,IAAMH,GAAG,GAAG,QAAQ;MACpB,IAAI,CAAC6F,aAAa,GAAG,YAAM;QACvB,IAAIgC,MAAI,CAAClF,cAAc,IAAIkF,MAAI,CAAC/E,OAAO,IAAI+E,MAAI,CAAC1F,kBAAkB,EAAE;UAAA,IAAA4F,kBAAA;UAChE,IAAMC,CAAC,GAAGH,MAAI,CAACvH,MAAM,CAACgD,MAAM,CAAC2E,YAAY,CAAC,CAAC;UAC3C,IAAMC,QAAQ,GAAGL,MAAI,aAAJA,MAAI,gBAAAE,kBAAA,GAAJF,MAAI,CAAE/G,WAAW,cAAAiH,kBAAA,eAAjBA,kBAAA,CAAmBI,oBAAoB,GAClDN,MAAI,CAAC/G,WAAW,CAACqH,oBAAoB,GACrC,IAAI;UACV,IAAIlG,IAAI,CAACmG,GAAG,CAACJ,CAAC,GAAGH,MAAI,CAACQ,gBAAgB,CAAC,GAAGH,QAAQ,EAAE;YAChDL,MAAI,CAACQ,gBAAgB,GAAGL,CAAC;YACzB,IAAI,OAAO7H,GAAG,KAAK,QAAQ,IAAI,OAAOH,GAAG,KAAK,QAAQ,EAAE;cACpD,IAAM4C,MAAM,GAAG0F,QAAQ,CACnB,CACIT,MAAI,CAAChH,UAAU,GACd,CAACiH,SAAS,GAAGD,MAAI,CAAChH,UAAU,KAAKmH,CAAC,GAAG7H,GAAG,CAAC,IAAKH,GAAG,GAAGG,GAAG,CAAC,EAC3DoI,OAAO,CAAC,CAAC,CACf,CAAC;cACD,IAAI3F,MAAM,EAAE;gBACRiF,MAAI,CAACpD,YAAY,CAAC7B,MAAM,CAAC;cAC7B;YACJ;UACJ;QACJ;MACJ,CAAC;MACD,IAAI,CAACtC,MAAM,CAACgD,MAAM,CAACwC,OAAO,CAAC0C,gBAAgB,CAAC,IAAI,CAAC3C,aAAa,CAAC;IACnE;;IAEA;AACJ;AACA;AACA;AACA;AACA;EALI;IAAAxH,GAAA;IAAAU,KAAA,EAMA,SAAAoC,SAASA,CAACJ,MAAM,EAAE;MACd,IAAIA,MAAM,EAAE;QACR,IAAI0H,MAAM,GAAG,GAAG;QAChB,IAAIC,MAAM,GAAG,CAAC,GAAG;QACjB,IAAIC,MAAM,GAAG,EAAE;QACf,IAAIC,MAAM,GAAG,CAAC,GAAG;QACjB7H,MAAM,CAACpD,OAAO,CAAC,UAASiE,KAAK,EAAE;UAC3B,IAAWiH,SAAS,GAAkBjH,KAAK,CAAnCC,CAAC;YAAgBiH,QAAQ,GAAKlH,KAAK,CAArBE,CAAC;UACvB2G,MAAM,GAAGI,SAAS,GAAGJ,MAAM,GAAGI,SAAS,GAAGJ,MAAM;UAChDE,MAAM,GAAGG,QAAQ,GAAGH,MAAM,GAAGG,QAAQ,GAAGH,MAAM;UAC9CD,MAAM,GAAGG,SAAS,GAAGH,MAAM,GAAGG,SAAS,GAAGH,MAAM;UAChDE,MAAM,GAAGE,QAAQ,GAAGF,MAAM,GAAGE,QAAQ,GAAGF,MAAM;QAClD,CAAC,CAAC;QACF,IAAMG,MAAM,GAAGL,MAAM,GAAGD,MAAM,GAAGC,MAAM,GAAGD,MAAM,GAAG,CAAC;QACpD,IAAMO,MAAM,GAAGJ,MAAM,GAAGD,MAAM,GAAGC,MAAM,GAAGD,MAAM,GAAG,CAAC;QACpD,OAAO,CACHF,MAAM,GAAGM,MAAM,GAAG,EAAE,EACpBJ,MAAM,GAAGK,MAAM,GAAG,EAAE,EACpBN,MAAM,GAAGK,MAAM,GAAG,EAAE,EACpBH,MAAM,GAAGI,MAAM,GAAG,EAAE,CACvB;MACL;MACA,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACvB;EAAC;IAAA3K,GAAA;IAAAU,KAAA,EAED,SAAAsC,eAAeA,CAACH,MAAM,EAAE;MACpB,IAAMI,SAAS,GAAGyD,QAAQ,CAACkE,aAAa,CAAC,KAAK,CAAC;MAC/C,IAAM1H,KAAK,GAAG,IAAI;MAClB,IAAMC,MAAM,GAAG8G,QAAQ,CACnB,CAAE,IAAI,IAAIpH,MAAM,CAAC,CAAC,CAAC,GAAGA,MAAM,CAAC,CAAC,CAAC,CAAC,IAAKA,MAAM,CAAC,CAAC,CAAC,GAAGA,MAAM,CAAC,CAAC,CAAC,CAAC,EAAEqH,OAAO,CAAC,CAAC,CAC1E,CAAC;MACDjH,SAAS,CAAC4H,YAAY,CAAC,OAAO,WAAAC,MAAA,CAAW5H,KAAK,gBAAA4H,MAAA,CAAa3H,MAAM,qBAAkB,CAAC;MACpFuD,QAAQ,CAACC,IAAI,CAACoE,WAAW,CAAC9H,SAAS,CAAC;MACpC,OAAO;QAAEA,SAAS,EAATA,SAAS;QAAEC,KAAK,EAALA,KAAK;QAAEC,MAAM,EAANA;MAAO,CAAC;IACvC;EAAC;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeatmapLayer.js","names":["_cesium","require","_createFeatureCollection","_heatmap","_interopRequireDefault","e","__esModule","_classCallCheck","a","n","TypeError","_defineProperties","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","apply","_typeof","_assertThisInitialized","ReferenceError","Boolean","valueOf","call","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","create","value","_setPrototypeOf","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","i","_toPrimitive","toPrimitive","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","name","test","l","u","f","next","done","getData","data","width","height","list","map","v","geometryInfo","_transformGeometry$co","transformGeometry","coordinates","x","y","latMin","Math","min","point","latMax","max","lonMin","lonMax","floor","HeatmapLayer","_CustomDataSource","options","_options$data","_this","container","createDom","layer","h337","loadData","_map$container$getBou","getBoundingClientRect","heatMapDom","document","createElement","style","display","appendChild","_data","entities","removeAll","_map$container$getBou2","_getData","setData","canvas","getElementsByClassName","add","rectangle","Rectangle","fromDegrees","material","ImageMaterialProperty","image","transparent","destroy","removeChild","CustomDataSource","_default","exports"],"sources":["heatmap-layer/HeatmapLayer.js"],"sourcesContent":["import { CustomDataSource, Rectangle, ImageMaterialProperty } from 'cesium';\r\nimport {transformGeometry} from '../feature-layer/createFeatureCollection';\r\nimport h337 from 'heatmap.js';\r\n\r\nconst getData = (data, width, height) => {\r\n let list = data.map(v => {\r\n let {geometryInfo} = v;\r\n let [x, y] = transformGeometry(geometryInfo).coordinates;\r\n\r\n return {\r\n ...v,\r\n x,\r\n y,\r\n }\r\n });\r\n\r\n // 获取边界数据\r\n const value = 0.1;\r\n let latMin = Math.min(...list.map(point => point.y)) - value;\r\n let latMax = Math.max(...list.map(point => point.y)) + value;\r\n let lonMin = Math.min(...list.map(point => point.x)) - value;\r\n let lonMax = Math.max(...list.map(point => point.x)) + value;\r\n\r\n list = list.map(v => ({\r\n ...v,\r\n x: Math.floor(((v.x - lonMin) / (lonMax - lonMin)) * width),\r\n y: Math.floor(((v.y - latMin) / (latMax - latMin)) * height),\r\n }))\r\n\r\n return {\r\n data: list,\r\n latMin,\r\n latMax,\r\n lonMin,\r\n lonMax,\r\n max: 10,\r\n min: 0\r\n }\r\n}\r\n\r\nclass HeatmapLayer extends CustomDataSource{\r\n constructor(options) {\r\n super();\r\n\r\n this.map = options.map;\r\n\r\n this.container = this.createDom();\r\n this.layer = h337.create({\r\n container: this.container,\r\n })\r\n\r\n if (options.data?.length) {\r\n this.loadData(options.data);\r\n }\r\n }\r\n\r\n createDom() {\r\n const map = this.map;\r\n const {width, height} = map.container.getBoundingClientRect();\r\n\r\n const heatMapDom = document.createElement('div');\r\n heatMapDom.style.width = width + 'px';\r\n heatMapDom.style.height = height + 'px';\r\n heatMapDom.style.display = 'none';\r\n\r\n map.container.appendChild(heatMapDom);\r\n\r\n return heatMapDom;\r\n }\r\n\r\n loadData(_data) {\r\n const map = this.map;\r\n\r\n this.entities.removeAll();\r\n\r\n const {width, height} = map.container.getBoundingClientRect();\r\n\r\n const {data, max, min, lonMin, latMin, lonMax, latMax} = getData(_data, width, height);\r\n\r\n this.layer.setData({\r\n max,\r\n min,\r\n data\r\n });\r\n\r\n // 生成的热力图 canvas 元素类名为 heatmap-canvas\r\n const canvas = document.getElementsByClassName('heatmap-canvas');\r\n if (!canvas[0]) return;\r\n\r\n this.entities.add({\r\n name: 'heatmap',\r\n rectangle: {\r\n coordinates: Rectangle.fromDegrees(lonMin, latMin, lonMax, latMax),\r\n material: new ImageMaterialProperty({\r\n image: canvas[0],\r\n transparent: true,\r\n }),\r\n },\r\n })\r\n }\r\n\r\n destroy() {\r\n const map = this.map;\r\n this.container && map.container.removeChild(this.container);\r\n }\r\n}\r\n\r\n\r\nexport default HeatmapLayer;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"HeatmapLayer.js","names":["_cesium","require","_createFeatureCollection","_heatmap","_interopRequireDefault","e","__esModule","_classCallCheck","a","n","TypeError","_defineProperties","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","apply","_typeof","_assertThisInitialized","ReferenceError","Boolean","valueOf","call","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","create","value","_setPrototypeOf","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","i","_toPrimitive","toPrimitive","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","name","test","l","u","f","next","done","getData","data","width","height","list","map","v","geometryInfo","_transformGeometry$co","transformGeometry","coordinates","x","y","latMin","Math","min","point","latMax","max","lonMin","lonMax","floor","HeatmapLayer","_CustomDataSource","options","_options$data","_this","container","createDom","layer","h337","loadData","_map$container$getBou","getBoundingClientRect","heatMapDom","document","createElement","style","display","appendChild","_data","entities","removeAll","_map$container$getBou2","_getData","setData","canvas","getElementsByClassName","add","rectangle","Rectangle","fromDegrees","material","ImageMaterialProperty","image","transparent","destroy","removeChild","CustomDataSource","_default","exports"],"sources":["heatmap-layer/HeatmapLayer.js"],"sourcesContent":["import { CustomDataSource, Rectangle, ImageMaterialProperty } from 'cesium';\nimport {transformGeometry} from '../feature-layer/createFeatureCollection';\nimport h337 from 'heatmap.js';\n\nconst getData = (data, width, height) => {\n let list = data.map(v => {\n let {geometryInfo} = v;\n let [x, y] = transformGeometry(geometryInfo).coordinates;\n\n return {\n ...v,\n x,\n y,\n }\n });\n\n // 获取边界数据\n const value = 0.1;\n let latMin = Math.min(...list.map(point => point.y)) - value;\n let latMax = Math.max(...list.map(point => point.y)) + value;\n let lonMin = Math.min(...list.map(point => point.x)) - value;\n let lonMax = Math.max(...list.map(point => point.x)) + value;\n\n list = list.map(v => ({\n ...v,\n x: Math.floor(((v.x - lonMin) / (lonMax - lonMin)) * width),\n y: Math.floor(((v.y - latMin) / (latMax - latMin)) * height),\n }))\n\n return {\n data: list,\n latMin,\n latMax,\n lonMin,\n lonMax,\n max: 10,\n min: 0\n }\n}\n\nclass HeatmapLayer extends CustomDataSource{\n constructor(options) {\n super();\n\n this.map = options.map;\n\n this.container = this.createDom();\n this.layer = h337.create({\n container: this.container,\n })\n\n if (options.data?.length) {\n this.loadData(options.data);\n }\n }\n\n createDom() {\n const map = this.map;\n const {width, height} = map.container.getBoundingClientRect();\n\n const heatMapDom = document.createElement('div');\n heatMapDom.style.width = width + 'px';\n heatMapDom.style.height = height + 'px';\n heatMapDom.style.display = 'none';\n\n map.container.appendChild(heatMapDom);\n\n return heatMapDom;\n }\n\n loadData(_data) {\n const map = this.map;\n\n this.entities.removeAll();\n\n const {width, height} = map.container.getBoundingClientRect();\n\n const {data, max, min, lonMin, latMin, lonMax, latMax} = getData(_data, width, height);\n\n this.layer.setData({\n max,\n min,\n data\n });\n\n // 生成的热力图 canvas 元素类名为 heatmap-canvas\n const canvas = document.getElementsByClassName('heatmap-canvas');\n if (!canvas[0]) return;\n\n this.entities.add({\n name: 'heatmap',\n rectangle: {\n coordinates: Rectangle.fromDegrees(lonMin, latMin, lonMax, latMax),\n material: new ImageMaterialProperty({\n image: canvas[0],\n transparent: true,\n }),\n },\n })\n }\n\n destroy() {\n const map = this.map;\n this.container && map.container.removeChild(this.container);\n }\n}\n\n\nexport default HeatmapLayer;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,13 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
/*
|
|
8
|
-
* heatmap.js v2.0.0 | JavaScript Heatmap Library
|
|
9
|
-
*
|
|
10
|
-
* Copyright 2008-2014 Patrick Wied <heatmapjs@patrick-wied.at> - All rights reserved.
|
|
11
|
-
* Dual licensed under MIT and Beerware license
|
|
12
|
-
*
|
|
13
|
-
* :: 2015-07-19 15:42
|
|
7
|
+
/*
|
|
8
|
+
* heatmap.js v2.0.0 | JavaScript Heatmap Library
|
|
9
|
+
*
|
|
10
|
+
* Copyright 2008-2014 Patrick Wied <heatmapjs@patrick-wied.at> - All rights reserved.
|
|
11
|
+
* Dual licensed under MIT and Beerware license
|
|
12
|
+
*
|
|
13
|
+
* :: 2015-07-19 15:42
|
|
14
14
|
*/
|
|
15
15
|
// Heatmap Config stores default values and will be merged with instance config
|
|
16
16
|
var HeatmapConfig = {
|
|
@@ -174,40 +174,40 @@ var Store = function StoreClosure() {
|
|
|
174
174
|
},
|
|
175
175
|
getData: function getData() {
|
|
176
176
|
return this._unOrganizeData();
|
|
177
|
-
} /*,
|
|
178
|
-
TODO: rethink.
|
|
179
|
-
getValueAt: function(point) {
|
|
180
|
-
var value;
|
|
181
|
-
var radius = 100;
|
|
182
|
-
var x = point.x;
|
|
183
|
-
var y = point.y;
|
|
184
|
-
var data = this._data;
|
|
185
|
-
if (data[x] && data[x][y]) {
|
|
186
|
-
return data[x][y];
|
|
187
|
-
} else {
|
|
188
|
-
var values = [];
|
|
189
|
-
// radial search for datapoints based on default radius
|
|
190
|
-
for(var distance = 1; distance < radius; distance++) {
|
|
191
|
-
var neighbors = distance * 2 +1;
|
|
192
|
-
var startX = x - distance;
|
|
193
|
-
var startY = y - distance;
|
|
194
|
-
|
|
195
|
-
for (var o = 0; o < neighbors; o++) {
|
|
196
|
-
if ((i == 0 || i == neighbors-1) || (o == 0 || o == neighbors-1)) {
|
|
197
|
-
if (data[startY+i] && data[startY+i][startX+o]) {
|
|
198
|
-
values.push(data[startY+i][startX+o]);
|
|
199
|
-
}
|
|
200
|
-
} else {
|
|
201
|
-
continue;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
if (values.length > 0) {
|
|
207
|
-
return Math.max.apply(Math, values);
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
return false;
|
|
177
|
+
} /*,
|
|
178
|
+
TODO: rethink.
|
|
179
|
+
getValueAt: function(point) {
|
|
180
|
+
var value;
|
|
181
|
+
var radius = 100;
|
|
182
|
+
var x = point.x;
|
|
183
|
+
var y = point.y;
|
|
184
|
+
var data = this._data;
|
|
185
|
+
if (data[x] && data[x][y]) {
|
|
186
|
+
return data[x][y];
|
|
187
|
+
} else {
|
|
188
|
+
var values = [];
|
|
189
|
+
// radial search for datapoints based on default radius
|
|
190
|
+
for(var distance = 1; distance < radius; distance++) {
|
|
191
|
+
var neighbors = distance * 2 +1;
|
|
192
|
+
var startX = x - distance;
|
|
193
|
+
var startY = y - distance;
|
|
194
|
+
for(var i = 0; i < neighbors; i++) {
|
|
195
|
+
for (var o = 0; o < neighbors; o++) {
|
|
196
|
+
if ((i == 0 || i == neighbors-1) || (o == 0 || o == neighbors-1)) {
|
|
197
|
+
if (data[startY+i] && data[startY+i][startX+o]) {
|
|
198
|
+
values.push(data[startY+i][startX+o]);
|
|
199
|
+
}
|
|
200
|
+
} else {
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
if (values.length > 0) {
|
|
207
|
+
return Math.max.apply(Math, values);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return false;
|
|
211
211
|
}*/
|
|
212
212
|
};
|
|
213
213
|
return Store;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heatmap.js","names":["HeatmapConfig","defaultRadius","defaultRenderer","defaultGradient","defaultMaxOpacity","defaultMinOpacity","defaultBlur","defaultXField","defaultYField","defaultValueField","plugins","Store","StoreClosure","config","_coordinator","_data","_radi","_min","_max","_xField","_yField","_valueField","_cfgRadius","prototype","_organiseData","dataPoint","forceRender","x","y","radi","store","max","min","value","radius","setDataMax","_unOrganizeData","unorganizedData","data","push","_onExtremaChange","emit","addData","arguments","length","dataArr","dataLen","call","organisedEntry","setData","dataPoints","pointsLen","i","_getInternalData","removeData","setDataMin","setCoordinator","coordinator","getData","Canvas2dRenderer","Canvas2dRendererClosure","_getColorPalette","gradientConfig","gradient","paletteCanvas","document","createElement","paletteCtx","getContext","width","height","createLinearGradient","key","addColorStop","fillStyle","fillRect","getImageData","_getPointTemplate","blurFactor","tplCanvas","tplCtx","beginPath","arc","Math","PI","fill","createRadialGradient","_prepareData","renderData","xValues","Object","keys","xValuesLen","xValue","yValues","yValuesLen","yValue","container","shadowCanvas","canvas","renderBoundaries","_renderBoundaries","computed","getComputedStyle","className","_width","replace","_height","shadowCtx","ctx","style","cssText","position","appendChild","_palette","_templates","_setStyles","renderPartial","_drawAlpha","_colorize","renderAll","_clear","_updateGradient","updateConfig","setDimensions","clearRect","_blur","blur","backgroundColor","_opacity","opacity","_maxOpacity","maxOpacity","_minOpacity","minOpacity","_useGradientOpacity","useGradientOpacity","point","rectX","rectY","tpl","globalAlpha","drawImage","maxWidth","maxHeight","img","imgData","len","palette","alpha","offset","finalAlpha","defineProperty","writable","configurable","enumerable","putImageData","getValueAt","abs","getDataURL","toDataURL","Renderer","RendererClosure","rendererFn","Util","merge","merged","argsLen","obj","Heatmap","HeatmapClosure","Coordinator","CoordinatorClosure","cStore","on","evtName","callback","scope","_connect","renderer","_renderer","_store","_config","onExtremaChange","pluginToLoad","Error","plugin","apply","configure","repaint","heatmapFactory","create","register","pluginKey","_default","exports"],"sources":["heatmap-layer/heatmap.js"],"sourcesContent":["/*\r\n * heatmap.js v2.0.0 | JavaScript Heatmap Library\r\n *\r\n * Copyright 2008-2014 Patrick Wied <heatmapjs@patrick-wied.at> - All rights reserved.\r\n * Dual licensed under MIT and Beerware license\r\n *\r\n * :: 2015-07-19 15:42\r\n */\r\n// Heatmap Config stores default values and will be merged with instance config\r\nvar HeatmapConfig = {\r\n defaultRadius: 40,\r\n defaultRenderer: \"canvas2d\",\r\n defaultGradient: {\r\n 0.25: \"rgb(0,0,255)\",\r\n 0.55: \"rgb(0,255,0)\",\r\n 0.85: \"yellow\",\r\n 1.0: \"rgb(255,0,0)\",\r\n },\r\n defaultMaxOpacity: 1,\r\n defaultMinOpacity: 0,\r\n defaultBlur: 0.85,\r\n defaultXField: \"x\",\r\n defaultYField: \"y\",\r\n defaultValueField: \"value\",\r\n plugins: {},\r\n};\r\nvar Store = (function StoreClosure() {\r\n var Store = function Store(config) {\r\n this._coordinator = {};\r\n this._data = [];\r\n this._radi = [];\r\n this._min = 0;\r\n this._max = 1;\r\n this._xField = config[\"xField\"] || config.defaultXField;\r\n this._yField = config[\"yField\"] || config.defaultYField;\r\n this._valueField = config[\"valueField\"] || config.defaultValueField;\r\n\r\n if (config[\"radius\"]) {\r\n this._cfgRadius = config[\"radius\"];\r\n }\r\n };\r\n\r\n var defaultRadius = HeatmapConfig.defaultRadius;\r\n\r\n Store.prototype = {\r\n // when forceRender = false -> called from setData, omits renderall event\r\n _organiseData: function (dataPoint, forceRender) {\r\n var x = dataPoint[this._xField];\r\n var y = dataPoint[this._yField];\r\n var radi = this._radi;\r\n var store = this._data;\r\n var max = this._max;\r\n var min = this._min;\r\n var value = dataPoint[this._valueField] || 1;\r\n var radius = dataPoint.radius || this._cfgRadius || defaultRadius;\r\n\r\n if (!store[x]) {\r\n store[x] = [];\r\n radi[x] = [];\r\n }\r\n\r\n if (!store[x][y]) {\r\n store[x][y] = value;\r\n radi[x][y] = radius;\r\n } else {\r\n store[x][y] += value;\r\n }\r\n\r\n if (store[x][y] > max) {\r\n if (!forceRender) {\r\n this._max = store[x][y];\r\n } else {\r\n this.setDataMax(store[x][y]);\r\n }\r\n return false;\r\n } else {\r\n return {\r\n x: x,\r\n y: y,\r\n value: value,\r\n radius: radius,\r\n min: min,\r\n max: max,\r\n };\r\n }\r\n },\r\n _unOrganizeData: function () {\r\n var unorganizedData = [];\r\n var data = this._data;\r\n var radi = this._radi;\r\n\r\n for (var x in data) {\r\n for (var y in data[x]) {\r\n unorganizedData.push({\r\n x: x,\r\n y: y,\r\n radius: radi[x][y],\r\n value: data[x][y],\r\n });\r\n }\r\n }\r\n return {\r\n min: this._min,\r\n max: this._max,\r\n data: unorganizedData,\r\n };\r\n },\r\n _onExtremaChange: function () {\r\n this._coordinator.emit(\"extremachange\", {\r\n min: this._min,\r\n max: this._max,\r\n });\r\n },\r\n addData: function () {\r\n if (arguments[0].length > 0) {\r\n var dataArr = arguments[0];\r\n var dataLen = dataArr.length;\r\n while (dataLen--) {\r\n this.addData.call(this, dataArr[dataLen]);\r\n }\r\n } else {\r\n // add to store\r\n var organisedEntry = this._organiseData(arguments[0], true);\r\n if (organisedEntry) {\r\n this._coordinator.emit(\"renderpartial\", {\r\n min: this._min,\r\n max: this._max,\r\n data: [organisedEntry],\r\n });\r\n }\r\n }\r\n return this;\r\n },\r\n setData: function (data) {\r\n var dataPoints = data.data;\r\n var pointsLen = dataPoints.length;\r\n\r\n // reset data arrays\r\n this._data = [];\r\n this._radi = [];\r\n\r\n for (var i = 0; i < pointsLen; i++) {\r\n this._organiseData(dataPoints[i], false);\r\n }\r\n this._max = data.max;\r\n this._min = data.min || 0;\r\n\r\n this._onExtremaChange();\r\n this._coordinator.emit(\"renderall\", this._getInternalData());\r\n return this;\r\n },\r\n removeData: function () {\r\n // TODO: implement\r\n },\r\n setDataMax: function (max) {\r\n this._max = max;\r\n this._onExtremaChange();\r\n this._coordinator.emit(\"renderall\", this._getInternalData());\r\n return this;\r\n },\r\n setDataMin: function (min) {\r\n this._min = min;\r\n this._onExtremaChange();\r\n this._coordinator.emit(\"renderall\", this._getInternalData());\r\n return this;\r\n },\r\n setCoordinator: function (coordinator) {\r\n this._coordinator = coordinator;\r\n },\r\n _getInternalData: function () {\r\n return {\r\n max: this._max,\r\n min: this._min,\r\n data: this._data,\r\n radi: this._radi,\r\n };\r\n },\r\n getData: function () {\r\n return this._unOrganizeData();\r\n } /*,\r\n\r\n TODO: rethink.\r\n\r\n getValueAt: function(point) {\r\n var value;\r\n var radius = 100;\r\n var x = point.x;\r\n var y = point.y;\r\n var data = this._data;\r\n\r\n if (data[x] && data[x][y]) {\r\n return data[x][y];\r\n } else {\r\n var values = [];\r\n // radial search for datapoints based on default radius\r\n for(var distance = 1; distance < radius; distance++) {\r\n var neighbors = distance * 2 +1;\r\n var startX = x - distance;\r\n var startY = y - distance;\r\n\r\n for(var i = 0; i < neighbors; i++) {\r\n for (var o = 0; o < neighbors; o++) {\r\n if ((i == 0 || i == neighbors-1) || (o == 0 || o == neighbors-1)) {\r\n if (data[startY+i] && data[startY+i][startX+o]) {\r\n values.push(data[startY+i][startX+o]);\r\n }\r\n } else {\r\n continue;\r\n }\r\n }\r\n }\r\n }\r\n if (values.length > 0) {\r\n return Math.max.apply(Math, values);\r\n }\r\n }\r\n return false;\r\n }*/,\r\n };\r\n\r\n return Store;\r\n})();\r\n\r\nvar Canvas2dRenderer = (function Canvas2dRendererClosure() {\r\n var _getColorPalette = function (config) {\r\n var gradientConfig = config.gradient || config.defaultGradient;\r\n var paletteCanvas = document.createElement(\"canvas\");\r\n var paletteCtx = paletteCanvas.getContext(\"2d\");\r\n\r\n paletteCanvas.width = 256;\r\n paletteCanvas.height = 1;\r\n\r\n var gradient = paletteCtx.createLinearGradient(0, 0, 256, 1);\r\n for (var key in gradientConfig) {\r\n gradient.addColorStop(key, gradientConfig[key]);\r\n }\r\n\r\n paletteCtx.fillStyle = gradient;\r\n paletteCtx.fillRect(0, 0, 256, 1);\r\n\r\n return paletteCtx.getImageData(0, 0, 256, 1).data;\r\n };\r\n\r\n var _getPointTemplate = function (radius, blurFactor) {\r\n var tplCanvas = document.createElement(\"canvas\");\r\n var tplCtx = tplCanvas.getContext(\"2d\");\r\n var x = radius;\r\n var y = radius;\r\n tplCanvas.width = tplCanvas.height = radius * 2;\r\n\r\n if (blurFactor == 1) {\r\n tplCtx.beginPath();\r\n tplCtx.arc(x, y, radius, 0, 2 * Math.PI, false);\r\n tplCtx.fillStyle = \"rgba(0,0,0,1)\";\r\n tplCtx.fill();\r\n } else {\r\n var gradient = tplCtx.createRadialGradient(\r\n x,\r\n y,\r\n radius * blurFactor,\r\n x,\r\n y,\r\n radius\r\n );\r\n gradient.addColorStop(0, \"rgba(0,0,0,1)\");\r\n gradient.addColorStop(1, \"rgba(0,0,0,0)\");\r\n tplCtx.fillStyle = gradient;\r\n tplCtx.fillRect(0, 0, 2 * radius, 2 * radius);\r\n }\r\n\r\n return tplCanvas;\r\n };\r\n\r\n var _prepareData = function (data) {\r\n var renderData = [];\r\n var min = data.min;\r\n var max = data.max;\r\n var radi = data.radi;\r\n var data = data.data;\r\n\r\n var xValues = Object.keys(data);\r\n var xValuesLen = xValues.length;\r\n\r\n while (xValuesLen--) {\r\n var xValue = xValues[xValuesLen];\r\n var yValues = Object.keys(data[xValue]);\r\n var yValuesLen = yValues.length;\r\n while (yValuesLen--) {\r\n var yValue = yValues[yValuesLen];\r\n var value = data[xValue][yValue];\r\n var radius = radi[xValue][yValue];\r\n renderData.push({\r\n x: xValue,\r\n y: yValue,\r\n value: value,\r\n radius: radius,\r\n });\r\n }\r\n }\r\n\r\n return {\r\n min: min,\r\n max: max,\r\n data: renderData,\r\n };\r\n };\r\n\r\n function Canvas2dRenderer(config) {\r\n var container = config.container;\r\n var shadowCanvas = (this.shadowCanvas = document.createElement(\"canvas\"));\r\n var canvas = (this.canvas =\r\n config.canvas || document.createElement(\"canvas\"));\r\n var renderBoundaries = (this._renderBoundaries = [10000, 10000, 0, 0]);\r\n\r\n var computed = getComputedStyle(config.container) || {};\r\n\r\n canvas.className = \"heatmap-canvas\";\r\n\r\n this._width =\r\n canvas.width =\r\n shadowCanvas.width =\r\n +computed.width.replace(/px/, \"\");\r\n this._height =\r\n canvas.height =\r\n shadowCanvas.height =\r\n +computed.height.replace(/px/, \"\");\r\n\r\n this.shadowCtx = shadowCanvas.getContext(\"2d\");\r\n this.ctx = canvas.getContext(\"2d\");\r\n\r\n // @TODO:\r\n // conditional wrapper\r\n\r\n canvas.style.cssText = shadowCanvas.style.cssText =\r\n \"position:absolute;left:0;top:0;\";\r\n\r\n container.style.position = \"relative\";\r\n container.appendChild(canvas);\r\n\r\n this._palette = _getColorPalette(config);\r\n this._templates = {};\r\n\r\n this._setStyles(config);\r\n }\r\n\r\n Canvas2dRenderer.prototype = {\r\n renderPartial: function (data) {\r\n this._drawAlpha(data);\r\n this._colorize();\r\n },\r\n renderAll: function (data) {\r\n // reset render boundaries\r\n this._clear();\r\n this._drawAlpha(_prepareData(data));\r\n this._colorize();\r\n },\r\n _updateGradient: function (config) {\r\n this._palette = _getColorPalette(config);\r\n },\r\n updateConfig: function (config) {\r\n if (config[\"gradient\"]) {\r\n this._updateGradient(config);\r\n }\r\n this._setStyles(config);\r\n },\r\n setDimensions: function (width, height) {\r\n this._width = width;\r\n this._height = height;\r\n this.canvas.width = this.shadowCanvas.width = width;\r\n this.canvas.height = this.shadowCanvas.height = height;\r\n },\r\n _clear: function () {\r\n this.shadowCtx.clearRect(0, 0, this._width, this._height);\r\n this.ctx.clearRect(0, 0, this._width, this._height);\r\n },\r\n _setStyles: function (config) {\r\n this._blur = config.blur == 0 ? 0 : config.blur || config.defaultBlur;\r\n\r\n if (config.backgroundColor) {\r\n this.canvas.style.backgroundColor = config.backgroundColor;\r\n }\r\n\r\n this._opacity = (config.opacity || 0) * 255;\r\n this._maxOpacity = (config.maxOpacity || config.defaultMaxOpacity) * 255;\r\n this._minOpacity = (config.minOpacity || config.defaultMinOpacity) * 255;\r\n this._useGradientOpacity = !!config.useGradientOpacity;\r\n },\r\n _drawAlpha: function (data) {\r\n var min = (this._min = data.min);\r\n var max = (this._max = data.max);\r\n var data = data.data || [];\r\n var dataLen = data.length;\r\n // on a point basis?\r\n var blur = 1 - this._blur;\r\n\r\n while (dataLen--) {\r\n var point = data[dataLen];\r\n\r\n var x = point.x;\r\n var y = point.y;\r\n var radius = point.radius;\r\n // if value is bigger than max\r\n // use max as value\r\n var value = Math.min(point.value, max);\r\n var rectX = x - radius;\r\n var rectY = y - radius;\r\n var shadowCtx = this.shadowCtx;\r\n\r\n var tpl;\r\n if (!this._templates[radius]) {\r\n this._templates[radius] = tpl = _getPointTemplate(radius, blur);\r\n } else {\r\n tpl = this._templates[radius];\r\n }\r\n // value from minimum / value range\r\n // => [0, 1]\r\n shadowCtx.globalAlpha = (value - min) / (max - min);\r\n\r\n shadowCtx.drawImage(tpl, rectX, rectY);\r\n\r\n // update renderBoundaries\r\n if (rectX < this._renderBoundaries[0]) {\r\n this._renderBoundaries[0] = rectX;\r\n }\r\n if (rectY < this._renderBoundaries[1]) {\r\n this._renderBoundaries[1] = rectY;\r\n }\r\n if (rectX + 2 * radius > this._renderBoundaries[2]) {\r\n this._renderBoundaries[2] = rectX + 2 * radius;\r\n }\r\n if (rectY + 2 * radius > this._renderBoundaries[3]) {\r\n this._renderBoundaries[3] = rectY + 2 * radius;\r\n }\r\n }\r\n },\r\n _colorize: function () {\r\n var x = this._renderBoundaries[0];\r\n var y = this._renderBoundaries[1];\r\n var width = this._renderBoundaries[2] - x;\r\n var height = this._renderBoundaries[3] - y;\r\n var maxWidth = this._width;\r\n var maxHeight = this._height;\r\n var opacity = this._opacity;\r\n var maxOpacity = this._maxOpacity;\r\n var minOpacity = this._minOpacity;\r\n var useGradientOpacity = this._useGradientOpacity;\r\n\r\n if (x < 0) {\r\n x = 0;\r\n }\r\n if (y < 0) {\r\n y = 0;\r\n }\r\n if (x + width > maxWidth) {\r\n width = maxWidth - x;\r\n }\r\n if (y + height > maxHeight) {\r\n height = maxHeight - y;\r\n }\r\n\r\n var img = this.shadowCtx.getImageData(x, y, width, height);\r\n var imgData = img.data;\r\n var len = imgData.length;\r\n var palette = this._palette;\r\n\r\n for (var i = 3; i < len; i += 4) {\r\n var alpha = imgData[i];\r\n var offset = alpha * 4;\r\n\r\n if (!offset) {\r\n continue;\r\n }\r\n\r\n var finalAlpha;\r\n if (opacity > 0) {\r\n finalAlpha = opacity;\r\n } else {\r\n if (alpha < maxOpacity) {\r\n if (alpha < minOpacity) {\r\n finalAlpha = minOpacity;\r\n } else {\r\n finalAlpha = alpha;\r\n }\r\n } else {\r\n finalAlpha = maxOpacity;\r\n }\r\n }\r\n\r\n imgData[i - 3] = palette[offset];\r\n imgData[i - 2] = palette[offset + 1];\r\n imgData[i - 1] = palette[offset + 2];\r\n imgData[i] = useGradientOpacity ? palette[offset + 3] : finalAlpha;\r\n }\r\n Object.defineProperty(img, \"data\", {\r\n value: imgData,\r\n writable: true,\r\n configurable: true,\r\n enumerable: true,\r\n });\r\n // img.data = imgData;\r\n this.ctx.putImageData(img, x, y);\r\n\r\n this._renderBoundaries = [1000, 1000, 0, 0];\r\n },\r\n getValueAt: function (point) {\r\n var value;\r\n var shadowCtx = this.shadowCtx;\r\n var img = shadowCtx.getImageData(point.x, point.y, 1, 1);\r\n var data = img.data[3];\r\n var max = this._max;\r\n var min = this._min;\r\n\r\n value = (Math.abs(max - min) * (data / 255)) >> 0;\r\n\r\n return value;\r\n },\r\n getDataURL: function () {\r\n return this.canvas.toDataURL();\r\n },\r\n };\r\n\r\n return Canvas2dRenderer;\r\n})();\r\n\r\nvar Renderer = (function RendererClosure() {\r\n var rendererFn = false;\r\n\r\n if (HeatmapConfig[\"defaultRenderer\"] === \"canvas2d\") {\r\n rendererFn = Canvas2dRenderer;\r\n }\r\n\r\n return rendererFn;\r\n})();\r\n\r\nvar Util = {\r\n merge: function () {\r\n var merged = {};\r\n var argsLen = arguments.length;\r\n for (var i = 0; i < argsLen; i++) {\r\n var obj = arguments[i];\r\n for (var key in obj) {\r\n merged[key] = obj[key];\r\n }\r\n }\r\n return merged;\r\n },\r\n};\r\n// Heatmap Constructor\r\nvar Heatmap = (function HeatmapClosure() {\r\n var Coordinator = (function CoordinatorClosure() {\r\n function Coordinator() {\r\n this.cStore = {};\r\n }\r\n\r\n Coordinator.prototype = {\r\n on: function (evtName, callback, scope) {\r\n var cStore = this.cStore;\r\n\r\n if (!cStore[evtName]) {\r\n cStore[evtName] = [];\r\n }\r\n cStore[evtName].push(function (data) {\r\n return callback.call(scope, data);\r\n });\r\n },\r\n emit: function (evtName, data) {\r\n var cStore = this.cStore;\r\n if (cStore[evtName]) {\r\n var len = cStore[evtName].length;\r\n for (var i = 0; i < len; i++) {\r\n var callback = cStore[evtName][i];\r\n callback(data);\r\n }\r\n }\r\n },\r\n };\r\n\r\n return Coordinator;\r\n })();\r\n\r\n var _connect = function (scope) {\r\n var renderer = scope._renderer;\r\n var coordinator = scope._coordinator;\r\n var store = scope._store;\r\n\r\n coordinator.on(\"renderpartial\", renderer.renderPartial, renderer);\r\n coordinator.on(\"renderall\", renderer.renderAll, renderer);\r\n coordinator.on(\"extremachange\", function (data) {\r\n scope._config.onExtremaChange &&\r\n scope._config.onExtremaChange({\r\n min: data.min,\r\n max: data.max,\r\n gradient:\r\n scope._config[\"gradient\"] || scope._config[\"defaultGradient\"],\r\n });\r\n });\r\n store.setCoordinator(coordinator);\r\n };\r\n\r\n function Heatmap() {\r\n var config = (this._config = Util.merge(HeatmapConfig, arguments[0] || {}));\r\n this._coordinator = new Coordinator();\r\n if (config[\"plugin\"]) {\r\n var pluginToLoad = config[\"plugin\"];\r\n if (!HeatmapConfig.plugins[pluginToLoad]) {\r\n throw new Error(\r\n \"Plugin '\" +\r\n pluginToLoad +\r\n \"' not found. Maybe it was not registered.\"\r\n );\r\n } else {\r\n var plugin = HeatmapConfig.plugins[pluginToLoad];\r\n // set plugin renderer and store\r\n this._renderer = new plugin.renderer(config);\r\n this._store = new plugin.store(config);\r\n }\r\n } else {\r\n this._renderer = new Renderer(config);\r\n this._store = new Store(config);\r\n }\r\n _connect(this);\r\n }\r\n\r\n // @TODO:\r\n // add API documentation\r\n Heatmap.prototype = {\r\n addData: function () {\r\n this._store.addData.apply(this._store, arguments);\r\n return this;\r\n },\r\n removeData: function () {\r\n this._store.removeData &&\r\n this._store.removeData.apply(this._store, arguments);\r\n return this;\r\n },\r\n setData: function () {\r\n this._store.setData.apply(this._store, arguments);\r\n return this;\r\n },\r\n setDataMax: function () {\r\n this._store.setDataMax.apply(this._store, arguments);\r\n return this;\r\n },\r\n setDataMin: function () {\r\n this._store.setDataMin.apply(this._store, arguments);\r\n return this;\r\n },\r\n configure: function (config) {\r\n this._config = Util.merge(this._config, config);\r\n this._renderer.updateConfig(this._config);\r\n this._coordinator.emit(\"renderall\", this._store._getInternalData());\r\n return this;\r\n },\r\n repaint: function () {\r\n this._coordinator.emit(\"renderall\", this._store._getInternalData());\r\n return this;\r\n },\r\n getData: function () {\r\n return this._store.getData();\r\n },\r\n getDataURL: function () {\r\n return this._renderer.getDataURL();\r\n },\r\n getValueAt: function (point) {\r\n if (this._store.getValueAt) {\r\n return this._store.getValueAt(point);\r\n } else if (this._renderer.getValueAt) {\r\n return this._renderer.getValueAt(point);\r\n } else {\r\n return null;\r\n }\r\n },\r\n };\r\n\r\n return Heatmap;\r\n})();\r\n\r\n// core\r\nvar heatmapFactory = {\r\n create: function (config) {\r\n return new Heatmap(config);\r\n },\r\n register: function (pluginKey, plugin) {\r\n HeatmapConfig.plugins[pluginKey] = plugin;\r\n },\r\n};\r\n\r\nexport default heatmapFactory;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"heatmap.js","names":["HeatmapConfig","defaultRadius","defaultRenderer","defaultGradient","defaultMaxOpacity","defaultMinOpacity","defaultBlur","defaultXField","defaultYField","defaultValueField","plugins","Store","StoreClosure","config","_coordinator","_data","_radi","_min","_max","_xField","_yField","_valueField","_cfgRadius","prototype","_organiseData","dataPoint","forceRender","x","y","radi","store","max","min","value","radius","setDataMax","_unOrganizeData","unorganizedData","data","push","_onExtremaChange","emit","addData","arguments","length","dataArr","dataLen","call","organisedEntry","setData","dataPoints","pointsLen","i","_getInternalData","removeData","setDataMin","setCoordinator","coordinator","getData","Canvas2dRenderer","Canvas2dRendererClosure","_getColorPalette","gradientConfig","gradient","paletteCanvas","document","createElement","paletteCtx","getContext","width","height","createLinearGradient","key","addColorStop","fillStyle","fillRect","getImageData","_getPointTemplate","blurFactor","tplCanvas","tplCtx","beginPath","arc","Math","PI","fill","createRadialGradient","_prepareData","renderData","xValues","Object","keys","xValuesLen","xValue","yValues","yValuesLen","yValue","container","shadowCanvas","canvas","renderBoundaries","_renderBoundaries","computed","getComputedStyle","className","_width","replace","_height","shadowCtx","ctx","style","cssText","position","appendChild","_palette","_templates","_setStyles","renderPartial","_drawAlpha","_colorize","renderAll","_clear","_updateGradient","updateConfig","setDimensions","clearRect","_blur","blur","backgroundColor","_opacity","opacity","_maxOpacity","maxOpacity","_minOpacity","minOpacity","_useGradientOpacity","useGradientOpacity","point","rectX","rectY","tpl","globalAlpha","drawImage","maxWidth","maxHeight","img","imgData","len","palette","alpha","offset","finalAlpha","defineProperty","writable","configurable","enumerable","putImageData","getValueAt","abs","getDataURL","toDataURL","Renderer","RendererClosure","rendererFn","Util","merge","merged","argsLen","obj","Heatmap","HeatmapClosure","Coordinator","CoordinatorClosure","cStore","on","evtName","callback","scope","_connect","renderer","_renderer","_store","_config","onExtremaChange","pluginToLoad","Error","plugin","apply","configure","repaint","heatmapFactory","create","register","pluginKey","_default","exports"],"sources":["heatmap-layer/heatmap.js"],"sourcesContent":["/*\n * heatmap.js v2.0.0 | JavaScript Heatmap Library\n *\n * Copyright 2008-2014 Patrick Wied <heatmapjs@patrick-wied.at> - All rights reserved.\n * Dual licensed under MIT and Beerware license\n *\n * :: 2015-07-19 15:42\n */\n// Heatmap Config stores default values and will be merged with instance config\nvar HeatmapConfig = {\n defaultRadius: 40,\n defaultRenderer: \"canvas2d\",\n defaultGradient: {\n 0.25: \"rgb(0,0,255)\",\n 0.55: \"rgb(0,255,0)\",\n 0.85: \"yellow\",\n 1.0: \"rgb(255,0,0)\",\n },\n defaultMaxOpacity: 1,\n defaultMinOpacity: 0,\n defaultBlur: 0.85,\n defaultXField: \"x\",\n defaultYField: \"y\",\n defaultValueField: \"value\",\n plugins: {},\n};\nvar Store = (function StoreClosure() {\n var Store = function Store(config) {\n this._coordinator = {};\n this._data = [];\n this._radi = [];\n this._min = 0;\n this._max = 1;\n this._xField = config[\"xField\"] || config.defaultXField;\n this._yField = config[\"yField\"] || config.defaultYField;\n this._valueField = config[\"valueField\"] || config.defaultValueField;\n\n if (config[\"radius\"]) {\n this._cfgRadius = config[\"radius\"];\n }\n };\n\n var defaultRadius = HeatmapConfig.defaultRadius;\n\n Store.prototype = {\n // when forceRender = false -> called from setData, omits renderall event\n _organiseData: function (dataPoint, forceRender) {\n var x = dataPoint[this._xField];\n var y = dataPoint[this._yField];\n var radi = this._radi;\n var store = this._data;\n var max = this._max;\n var min = this._min;\n var value = dataPoint[this._valueField] || 1;\n var radius = dataPoint.radius || this._cfgRadius || defaultRadius;\n\n if (!store[x]) {\n store[x] = [];\n radi[x] = [];\n }\n\n if (!store[x][y]) {\n store[x][y] = value;\n radi[x][y] = radius;\n } else {\n store[x][y] += value;\n }\n\n if (store[x][y] > max) {\n if (!forceRender) {\n this._max = store[x][y];\n } else {\n this.setDataMax(store[x][y]);\n }\n return false;\n } else {\n return {\n x: x,\n y: y,\n value: value,\n radius: radius,\n min: min,\n max: max,\n };\n }\n },\n _unOrganizeData: function () {\n var unorganizedData = [];\n var data = this._data;\n var radi = this._radi;\n\n for (var x in data) {\n for (var y in data[x]) {\n unorganizedData.push({\n x: x,\n y: y,\n radius: radi[x][y],\n value: data[x][y],\n });\n }\n }\n return {\n min: this._min,\n max: this._max,\n data: unorganizedData,\n };\n },\n _onExtremaChange: function () {\n this._coordinator.emit(\"extremachange\", {\n min: this._min,\n max: this._max,\n });\n },\n addData: function () {\n if (arguments[0].length > 0) {\n var dataArr = arguments[0];\n var dataLen = dataArr.length;\n while (dataLen--) {\n this.addData.call(this, dataArr[dataLen]);\n }\n } else {\n // add to store\n var organisedEntry = this._organiseData(arguments[0], true);\n if (organisedEntry) {\n this._coordinator.emit(\"renderpartial\", {\n min: this._min,\n max: this._max,\n data: [organisedEntry],\n });\n }\n }\n return this;\n },\n setData: function (data) {\n var dataPoints = data.data;\n var pointsLen = dataPoints.length;\n\n // reset data arrays\n this._data = [];\n this._radi = [];\n\n for (var i = 0; i < pointsLen; i++) {\n this._organiseData(dataPoints[i], false);\n }\n this._max = data.max;\n this._min = data.min || 0;\n\n this._onExtremaChange();\n this._coordinator.emit(\"renderall\", this._getInternalData());\n return this;\n },\n removeData: function () {\n // TODO: implement\n },\n setDataMax: function (max) {\n this._max = max;\n this._onExtremaChange();\n this._coordinator.emit(\"renderall\", this._getInternalData());\n return this;\n },\n setDataMin: function (min) {\n this._min = min;\n this._onExtremaChange();\n this._coordinator.emit(\"renderall\", this._getInternalData());\n return this;\n },\n setCoordinator: function (coordinator) {\n this._coordinator = coordinator;\n },\n _getInternalData: function () {\n return {\n max: this._max,\n min: this._min,\n data: this._data,\n radi: this._radi,\n };\n },\n getData: function () {\n return this._unOrganizeData();\n } /*,\n\n TODO: rethink.\n\n getValueAt: function(point) {\n var value;\n var radius = 100;\n var x = point.x;\n var y = point.y;\n var data = this._data;\n\n if (data[x] && data[x][y]) {\n return data[x][y];\n } else {\n var values = [];\n // radial search for datapoints based on default radius\n for(var distance = 1; distance < radius; distance++) {\n var neighbors = distance * 2 +1;\n var startX = x - distance;\n var startY = y - distance;\n\n for(var i = 0; i < neighbors; i++) {\n for (var o = 0; o < neighbors; o++) {\n if ((i == 0 || i == neighbors-1) || (o == 0 || o == neighbors-1)) {\n if (data[startY+i] && data[startY+i][startX+o]) {\n values.push(data[startY+i][startX+o]);\n }\n } else {\n continue;\n }\n }\n }\n }\n if (values.length > 0) {\n return Math.max.apply(Math, values);\n }\n }\n return false;\n }*/,\n };\n\n return Store;\n})();\n\nvar Canvas2dRenderer = (function Canvas2dRendererClosure() {\n var _getColorPalette = function (config) {\n var gradientConfig = config.gradient || config.defaultGradient;\n var paletteCanvas = document.createElement(\"canvas\");\n var paletteCtx = paletteCanvas.getContext(\"2d\");\n\n paletteCanvas.width = 256;\n paletteCanvas.height = 1;\n\n var gradient = paletteCtx.createLinearGradient(0, 0, 256, 1);\n for (var key in gradientConfig) {\n gradient.addColorStop(key, gradientConfig[key]);\n }\n\n paletteCtx.fillStyle = gradient;\n paletteCtx.fillRect(0, 0, 256, 1);\n\n return paletteCtx.getImageData(0, 0, 256, 1).data;\n };\n\n var _getPointTemplate = function (radius, blurFactor) {\n var tplCanvas = document.createElement(\"canvas\");\n var tplCtx = tplCanvas.getContext(\"2d\");\n var x = radius;\n var y = radius;\n tplCanvas.width = tplCanvas.height = radius * 2;\n\n if (blurFactor == 1) {\n tplCtx.beginPath();\n tplCtx.arc(x, y, radius, 0, 2 * Math.PI, false);\n tplCtx.fillStyle = \"rgba(0,0,0,1)\";\n tplCtx.fill();\n } else {\n var gradient = tplCtx.createRadialGradient(\n x,\n y,\n radius * blurFactor,\n x,\n y,\n radius\n );\n gradient.addColorStop(0, \"rgba(0,0,0,1)\");\n gradient.addColorStop(1, \"rgba(0,0,0,0)\");\n tplCtx.fillStyle = gradient;\n tplCtx.fillRect(0, 0, 2 * radius, 2 * radius);\n }\n\n return tplCanvas;\n };\n\n var _prepareData = function (data) {\n var renderData = [];\n var min = data.min;\n var max = data.max;\n var radi = data.radi;\n var data = data.data;\n\n var xValues = Object.keys(data);\n var xValuesLen = xValues.length;\n\n while (xValuesLen--) {\n var xValue = xValues[xValuesLen];\n var yValues = Object.keys(data[xValue]);\n var yValuesLen = yValues.length;\n while (yValuesLen--) {\n var yValue = yValues[yValuesLen];\n var value = data[xValue][yValue];\n var radius = radi[xValue][yValue];\n renderData.push({\n x: xValue,\n y: yValue,\n value: value,\n radius: radius,\n });\n }\n }\n\n return {\n min: min,\n max: max,\n data: renderData,\n };\n };\n\n function Canvas2dRenderer(config) {\n var container = config.container;\n var shadowCanvas = (this.shadowCanvas = document.createElement(\"canvas\"));\n var canvas = (this.canvas =\n config.canvas || document.createElement(\"canvas\"));\n var renderBoundaries = (this._renderBoundaries = [10000, 10000, 0, 0]);\n\n var computed = getComputedStyle(config.container) || {};\n\n canvas.className = \"heatmap-canvas\";\n\n this._width =\n canvas.width =\n shadowCanvas.width =\n +computed.width.replace(/px/, \"\");\n this._height =\n canvas.height =\n shadowCanvas.height =\n +computed.height.replace(/px/, \"\");\n\n this.shadowCtx = shadowCanvas.getContext(\"2d\");\n this.ctx = canvas.getContext(\"2d\");\n\n // @TODO:\n // conditional wrapper\n\n canvas.style.cssText = shadowCanvas.style.cssText =\n \"position:absolute;left:0;top:0;\";\n\n container.style.position = \"relative\";\n container.appendChild(canvas);\n\n this._palette = _getColorPalette(config);\n this._templates = {};\n\n this._setStyles(config);\n }\n\n Canvas2dRenderer.prototype = {\n renderPartial: function (data) {\n this._drawAlpha(data);\n this._colorize();\n },\n renderAll: function (data) {\n // reset render boundaries\n this._clear();\n this._drawAlpha(_prepareData(data));\n this._colorize();\n },\n _updateGradient: function (config) {\n this._palette = _getColorPalette(config);\n },\n updateConfig: function (config) {\n if (config[\"gradient\"]) {\n this._updateGradient(config);\n }\n this._setStyles(config);\n },\n setDimensions: function (width, height) {\n this._width = width;\n this._height = height;\n this.canvas.width = this.shadowCanvas.width = width;\n this.canvas.height = this.shadowCanvas.height = height;\n },\n _clear: function () {\n this.shadowCtx.clearRect(0, 0, this._width, this._height);\n this.ctx.clearRect(0, 0, this._width, this._height);\n },\n _setStyles: function (config) {\n this._blur = config.blur == 0 ? 0 : config.blur || config.defaultBlur;\n\n if (config.backgroundColor) {\n this.canvas.style.backgroundColor = config.backgroundColor;\n }\n\n this._opacity = (config.opacity || 0) * 255;\n this._maxOpacity = (config.maxOpacity || config.defaultMaxOpacity) * 255;\n this._minOpacity = (config.minOpacity || config.defaultMinOpacity) * 255;\n this._useGradientOpacity = !!config.useGradientOpacity;\n },\n _drawAlpha: function (data) {\n var min = (this._min = data.min);\n var max = (this._max = data.max);\n var data = data.data || [];\n var dataLen = data.length;\n // on a point basis?\n var blur = 1 - this._blur;\n\n while (dataLen--) {\n var point = data[dataLen];\n\n var x = point.x;\n var y = point.y;\n var radius = point.radius;\n // if value is bigger than max\n // use max as value\n var value = Math.min(point.value, max);\n var rectX = x - radius;\n var rectY = y - radius;\n var shadowCtx = this.shadowCtx;\n\n var tpl;\n if (!this._templates[radius]) {\n this._templates[radius] = tpl = _getPointTemplate(radius, blur);\n } else {\n tpl = this._templates[radius];\n }\n // value from minimum / value range\n // => [0, 1]\n shadowCtx.globalAlpha = (value - min) / (max - min);\n\n shadowCtx.drawImage(tpl, rectX, rectY);\n\n // update renderBoundaries\n if (rectX < this._renderBoundaries[0]) {\n this._renderBoundaries[0] = rectX;\n }\n if (rectY < this._renderBoundaries[1]) {\n this._renderBoundaries[1] = rectY;\n }\n if (rectX + 2 * radius > this._renderBoundaries[2]) {\n this._renderBoundaries[2] = rectX + 2 * radius;\n }\n if (rectY + 2 * radius > this._renderBoundaries[3]) {\n this._renderBoundaries[3] = rectY + 2 * radius;\n }\n }\n },\n _colorize: function () {\n var x = this._renderBoundaries[0];\n var y = this._renderBoundaries[1];\n var width = this._renderBoundaries[2] - x;\n var height = this._renderBoundaries[3] - y;\n var maxWidth = this._width;\n var maxHeight = this._height;\n var opacity = this._opacity;\n var maxOpacity = this._maxOpacity;\n var minOpacity = this._minOpacity;\n var useGradientOpacity = this._useGradientOpacity;\n\n if (x < 0) {\n x = 0;\n }\n if (y < 0) {\n y = 0;\n }\n if (x + width > maxWidth) {\n width = maxWidth - x;\n }\n if (y + height > maxHeight) {\n height = maxHeight - y;\n }\n\n var img = this.shadowCtx.getImageData(x, y, width, height);\n var imgData = img.data;\n var len = imgData.length;\n var palette = this._palette;\n\n for (var i = 3; i < len; i += 4) {\n var alpha = imgData[i];\n var offset = alpha * 4;\n\n if (!offset) {\n continue;\n }\n\n var finalAlpha;\n if (opacity > 0) {\n finalAlpha = opacity;\n } else {\n if (alpha < maxOpacity) {\n if (alpha < minOpacity) {\n finalAlpha = minOpacity;\n } else {\n finalAlpha = alpha;\n }\n } else {\n finalAlpha = maxOpacity;\n }\n }\n\n imgData[i - 3] = palette[offset];\n imgData[i - 2] = palette[offset + 1];\n imgData[i - 1] = palette[offset + 2];\n imgData[i] = useGradientOpacity ? palette[offset + 3] : finalAlpha;\n }\n Object.defineProperty(img, \"data\", {\n value: imgData,\n writable: true,\n configurable: true,\n enumerable: true,\n });\n // img.data = imgData;\n this.ctx.putImageData(img, x, y);\n\n this._renderBoundaries = [1000, 1000, 0, 0];\n },\n getValueAt: function (point) {\n var value;\n var shadowCtx = this.shadowCtx;\n var img = shadowCtx.getImageData(point.x, point.y, 1, 1);\n var data = img.data[3];\n var max = this._max;\n var min = this._min;\n\n value = (Math.abs(max - min) * (data / 255)) >> 0;\n\n return value;\n },\n getDataURL: function () {\n return this.canvas.toDataURL();\n },\n };\n\n return Canvas2dRenderer;\n})();\n\nvar Renderer = (function RendererClosure() {\n var rendererFn = false;\n\n if (HeatmapConfig[\"defaultRenderer\"] === \"canvas2d\") {\n rendererFn = Canvas2dRenderer;\n }\n\n return rendererFn;\n})();\n\nvar Util = {\n merge: function () {\n var merged = {};\n var argsLen = arguments.length;\n for (var i = 0; i < argsLen; i++) {\n var obj = arguments[i];\n for (var key in obj) {\n merged[key] = obj[key];\n }\n }\n return merged;\n },\n};\n// Heatmap Constructor\nvar Heatmap = (function HeatmapClosure() {\n var Coordinator = (function CoordinatorClosure() {\n function Coordinator() {\n this.cStore = {};\n }\n\n Coordinator.prototype = {\n on: function (evtName, callback, scope) {\n var cStore = this.cStore;\n\n if (!cStore[evtName]) {\n cStore[evtName] = [];\n }\n cStore[evtName].push(function (data) {\n return callback.call(scope, data);\n });\n },\n emit: function (evtName, data) {\n var cStore = this.cStore;\n if (cStore[evtName]) {\n var len = cStore[evtName].length;\n for (var i = 0; i < len; i++) {\n var callback = cStore[evtName][i];\n callback(data);\n }\n }\n },\n };\n\n return Coordinator;\n })();\n\n var _connect = function (scope) {\n var renderer = scope._renderer;\n var coordinator = scope._coordinator;\n var store = scope._store;\n\n coordinator.on(\"renderpartial\", renderer.renderPartial, renderer);\n coordinator.on(\"renderall\", renderer.renderAll, renderer);\n coordinator.on(\"extremachange\", function (data) {\n scope._config.onExtremaChange &&\n scope._config.onExtremaChange({\n min: data.min,\n max: data.max,\n gradient:\n scope._config[\"gradient\"] || scope._config[\"defaultGradient\"],\n });\n });\n store.setCoordinator(coordinator);\n };\n\n function Heatmap() {\n var config = (this._config = Util.merge(HeatmapConfig, arguments[0] || {}));\n this._coordinator = new Coordinator();\n if (config[\"plugin\"]) {\n var pluginToLoad = config[\"plugin\"];\n if (!HeatmapConfig.plugins[pluginToLoad]) {\n throw new Error(\n \"Plugin '\" +\n pluginToLoad +\n \"' not found. Maybe it was not registered.\"\n );\n } else {\n var plugin = HeatmapConfig.plugins[pluginToLoad];\n // set plugin renderer and store\n this._renderer = new plugin.renderer(config);\n this._store = new plugin.store(config);\n }\n } else {\n this._renderer = new Renderer(config);\n this._store = new Store(config);\n }\n _connect(this);\n }\n\n // @TODO:\n // add API documentation\n Heatmap.prototype = {\n addData: function () {\n this._store.addData.apply(this._store, arguments);\n return this;\n },\n removeData: function () {\n this._store.removeData &&\n this._store.removeData.apply(this._store, arguments);\n return this;\n },\n setData: function () {\n this._store.setData.apply(this._store, arguments);\n return this;\n },\n setDataMax: function () {\n this._store.setDataMax.apply(this._store, arguments);\n return this;\n },\n setDataMin: function () {\n this._store.setDataMin.apply(this._store, arguments);\n return this;\n },\n configure: function (config) {\n this._config = Util.merge(this._config, config);\n this._renderer.updateConfig(this._config);\n this._coordinator.emit(\"renderall\", this._store._getInternalData());\n return this;\n },\n repaint: function () {\n this._coordinator.emit(\"renderall\", this._store._getInternalData());\n return this;\n },\n getData: function () {\n return this._store.getData();\n },\n getDataURL: function () {\n return this._renderer.getDataURL();\n },\n getValueAt: function (point) {\n if (this._store.getValueAt) {\n return this._store.getValueAt(point);\n } else if (this._renderer.getValueAt) {\n return this._renderer.getValueAt(point);\n } else {\n return null;\n }\n },\n };\n\n return Heatmap;\n})();\n\n// core\nvar heatmapFactory = {\n create: function (config) {\n return new Heatmap(config);\n },\n register: function (pluginKey, plugin) {\n HeatmapConfig.plugins[pluginKey] = plugin;\n },\n};\n\nexport default heatmapFactory;\n"],"mappings":"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","ignoreList":[]}
|