具体原来就是使用heatmap.js来创建热力图,如何获取热力图的canvas,贴到Cesium上面。
参数:
- noLisenerCamera?: boolean//不监听相机
- cameraHeightDistance?: number//相机高度的差值,大于这个值时重新渲染底图
- renderType?: RenderType//渲染类型
- points: HeatmapPoint[]
- bounds?: number[]
- heatmapOptions?: BaseHeatmapConfiguration
- heatmapDataOptions?: HeatmapDataOption
- zoomToLayer?: boolean
- onRadiusChange?: (radius: number) => void
参数 noLisenerCamera
是否不监听camera.moveEnd事件,默认是监听的;
主要是用来更行视图;
createContainer
方法:
创建一个DIV容器,用来承载
remove 移除
判断是否有容器,如果容器存在
1、document.body.removeChild(this.element) 移除容器
2、移除provider,这里的provider有三种,所以在移除的时候,需要先判断是哪一种类型的Provider,再根据Provider的类型使用对应的API移除。
3、移除cameraMoveEnd事件;
三种绘制方式:
- 实体 Entity (默认方式)
- 图元 Primitive
- 图层 SingleTileImageryProvider
私有方法 createLayer
创建图层,判断renderType类型,然后调用对应的方法取实现图层;
私有方法 createPrimitive
以图元方式来创建图层
私有方法 createSingleTileImageryLayer
以图层方式创建图层
私有方法 createEntity
以实体方式来创建图层,这也是默认方式;