热力图图层,基于heatmap.js库渲染。 【需要引入 heatmap.js 库 和 mars3d-heatmap 插件库】
参数名称 | 类型 | 默认值 | 描述信息 | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
参数对象,包括以下:
|
|||||||||||||||||||||||||||||||||||||||||||||
rectanglePadding |
number |
0.2
|
可选
如果未设置rectangle时自动计算的边界扩大的范围比例 |
||||||||||||||||||||||||||||||||||||||||||||
options.max |
number |
可选
数据集的value值上限,默认内部计算 |
|||||||||||||||||||||||||||||||||||||||||||||
options.min |
number |
可选
数据集的value值下限,默认内部计算 |
|||||||||||||||||||||||||||||||||||||||||||||
options.heatStyle |
object |
可选
heatmap热力图本身configObject参数,详情也可查阅 heatmap文档
|
|||||||||||||||||||||||||||||||||||||||||||||
options.style |
object | RectanglePrimitive.StyleOptions |
可选
矢量对象样式参数,还包括:
|
|||||||||||||||||||||||||||||||||||||||||||||
options.canvasWidth |
number |
document.body.clientWidth
|
可选
Canvas的宽度尺寸(单位:像素),调大精度更高,但过大容易内存溢出 |
||||||||||||||||||||||||||||||||||||||||||||
options.redrawZoom |
boolean |
可选
视角缩放时是否进行按新的raduis进行渲染。 |
|||||||||||||||||||||||||||||||||||||||||||||
options.redrawRatio |
number |
1.0
|
可选
redrawZoom时值变化的比例。 |
||||||||||||||||||||||||||||||||||||||||||||
options.id |
string | number |
mars3d.Util.createGuid()
|
可选
图层id标识 |
||||||||||||||||||||||||||||||||||||||||||||
options.pid |
string | number |
可选
图层父级的id,一般图层管理中使用 |
|||||||||||||||||||||||||||||||||||||||||||||
options.name |
string |
可选
图层名称 |
|||||||||||||||||||||||||||||||||||||||||||||
options.show |
boolean |
true
|
可选
图层是否显示 |
||||||||||||||||||||||||||||||||||||||||||||
options.eventParent |
BaseClass | boolean |
可选
指定的事件冒泡对象,默认为map对象,false时不冒泡 |
|||||||||||||||||||||||||||||||||||||||||||||
options.center |
object |
可选
图层自定义定位视角
|
|||||||||||||||||||||||||||||||||||||||||||||
options.flyTo |
boolean |
可选
加载完成数据后是否自动飞行定位到数据所在的区域。 |
|||||||||||||||||||||||||||||||||||||||||||||
options.allowDrillPick |
boolean | function |
可选
是否允许鼠标穿透拾取 |
继承
成员(属性)
指定时间范围内显示该对象 [提示:仅部分子类实现,非所有对象都支持]
- 继承自:
使用示例:
// 普通传值方式,多个【建议】
layer.availability = [
{ start: "2017-08-25 08:00:00", stop: "2017-08-25 08:01:20", isStartIncluded: true, isStopIncluded: false },
{ start: "2017-08-25 09:00:00", duration: 10 } //支持不配置stop,直接配置duration秒数时长
]
// 也支持相对时间的 秒数 传值(相对于map.clock.startTime)
layer.availability = [
{ start: 0, stop: 10, isStartIncluded: true, isStopIncluded: false },
{ start:30, duration: 10 } //支持不配置stop,直接配置duration秒数时长
]
// 普通传值方式,单个
layer.availability = { start: "2017-08-25 08:00:00", stop: "2017-08-25 08:01:20", isStartIncluded: true, isStopIncluded: false }
// cesium原生写法, 多个
layer.availability = new Cesium.TimeIntervalCollection([
new Cesium.TimeInterval({
start: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:00")),
stop: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:20")),
isStartIncluded: true,
isStopIncluded: false
}),
])
// cesium原生写法,单个
layer.availability = new Cesium.TimeInterval({
start: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:00")),
stop: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:20")),
isStartIncluded: true,
isStopIncluded: false
})
位置坐标(数组对象),示例 [ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]
设置事件的启用和禁用状态
是否可以调整透明度
- 继承自:
heatmap热力图本身configObject参数,详情也可查阅 heatmap文档
对象的id标识
- 继承自:
是否已添加到地图
- 继承自:
是否已经销毁了
- 继承自:
是否Mars3D内部的私有对象,如标绘拖拽点等
- 继承自:
readonly layer : GraphicLayer
plugins/mars3d-heatmap/HeatLayer.js 117
矢量数据图层
名称
- 继承自:
透明度,取值范围:0.0-1.0
- 继承自:
当前类的构造参数
- 继承自:
对象的pid标识
- 继承自:
positions : Array.<Cesium.Cartesian3>|Array.<LngLatPoint>
plugins/mars3d-heatmap/HeatLayer.js 156
坐标数据集合(含value热力值),示例:[{lat:31.123,lng:103.568,value:1.2},{lat:31.233,lng:103.938,value:2.3}] 。 平滑更新建议使用setPositions方法
readonly readyPromise : Promise.<(BaseLayer|object)>
layer/BaseLayer.js 188
获取图层完成解析加载完成的Promise承诺, 等价于load事件(区别在于load事件必须在load完成前绑定才能监听)。
- 继承自:
使用示例:
tiles3dLayer.readyPromise.then(function(layer) {
console.log("load完成", layer)
})
坐标数据对应的矩形边界
显示隐藏状态
- 继承自:
readonly state : State
layer/BaseLayer.js 143
当前对象的状态
- 继承自:
style : RectanglePrimitive.StyleOptions
plugins/mars3d-heatmap/HeatLayer.js 143
矩形的样式参数
图层中统一的url模版,比如可以将服务url前缀统一使用模板,方便修改或动态配置。
图层类型
- 继承自:
方法
addEventParent(obj) → BaseClass
core/BaseClass.js 307
添加抛出事件到父类,它将接收传播的事件
参数名称 | 类型 | 描述信息 |
---|---|---|
obj |
object |
父类对象 |
返回值:
当前对象本身,可以链式调用
添加新的坐标点(含热力值)
参数名称 | 类型 | 描述信息 |
---|---|---|
item |
Cesium.Cartesian3 | LngLatPoint |
坐标点(含热力值),示例: {lat:31.123,lng:103.568,value:1.2} |
返回值:
无
addTo(map) → BaseLayer
layer/BaseLayer.js 406
添加到地图上,同 map.addThing
参数名称 | 类型 | 描述信息 |
---|---|---|
map |
Map |
地图对象 |
返回值:
当前对象本身,可以链式调用
- 继承自:
清除矢量对象
返回值:
无
销毁当前对象
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
noDel |
boolean |
false
|
可选
false:会自动delete释放所有属性,true:不delete绑定的变量 |
返回值:
无
- 继承自:
fire(type, data, propagate) → BaseClass
core/BaseClass.js 203
触发指定类型的事件。
参数名称 | 类型 | 描述信息 |
---|---|---|
type |
EventType | string |
事件类型 |
data |
object |
可选
传输的数据或对象,可在事件回调方法中event对象中获取进行使用 |
propagate |
BaseClass |
可选
将事件传播给父类 (用addEventParent设置) |
返回值:
当前对象本身,可以链式调用
- 继承自:
飞行定位至图层数据所在的视角
参数名称 | 类型 | 默认值 | 描述信息 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
{}
|
可选
参数对象:
|
返回值:
如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
- 继承自:
获取时间范围的简单对象数组(转为相对map.clock.startTime的相对数字)
返回值:
时间对象列表
获取指定时间下的时序对应的 显示隐藏 状态
参数名称 | 类型 | 描述信息 |
---|---|---|
time |
Cesium.JulianDate |
指定时间 |
返回值:
显示隐藏 状态
根据坐标点获取其对应的value值和颜色值
参数名称 | 类型 | 描述信息 |
---|---|---|
item |
Cesium.Cartesian3 | LngLatPoint |
坐标点 |
返回值:
格式为 {"x":2081,"y":767,"value":3,"color":"rgba(209,231,0,195)"}
获取当前对象真实实际的显示状态
参数名称 | 类型 | 描述信息 |
---|---|---|
time |
Cesium.JulianDate |
当前时间 |
返回值:
真实的实时显示状态,当时序范围外,被聚合时返回的是false
获取图层内所有数据的 矩形边界值
参数名称 | 类型 | 描述信息 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
options |
boolean |
可选
控制参数
|
返回值:
isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
是否绑定了抛出事件到指定父类
参数名称 | 类型 | 描述信息 |
---|---|---|
obj |
object |
父类对象 |
返回值:
是否绑定了抛出事件
是否有绑定指定的事件
参数名称 | 类型 | 描述信息 |
---|---|---|
type |
EventType | string |
事件类型 |
propagate |
BaseClass |
可选
是否判断指定的父类 (用addEventParent设置的) |
返回值:
是否存在
- 继承自:
off(types, fn, context) → BaseClass
core/BaseClass.js 95
解除绑定指定类型事件监听器
参数名称 | 类型 | 描述信息 |
---|---|---|
types |
EventType | string | Array.<EventType> |
可选
事件类型,未传值时解绑所有事件 |
fn |
function |
可选
绑定的监听器回调方法,未传值时解绑所有指定类型对应事件,特殊说明:map.on监听的Cesium相关原生事件时必须传入该参数 |
context |
object |
可选
侦听器的上下文(this关键字将指向的对象)。 |
返回值:
当前对象本身,可以链式调用
- 继承自:
on(types, fn, context) → BaseClass
core/BaseClass.js 61
绑定指定类型事件监听器, 支持在监听中调用 event.stopPropagation(); 阻止事件冒泡
参数名称 | 类型 | 描述信息 |
---|---|---|
types |
EventType | string | Array.<EventType> | Array.<string> | object |
事件类型 |
fn |
function |
绑定的监听器回调方法 |
context |
object |
可选
侦听器的上下文(this关键字将指向的对象)。 |
返回值:
当前对象本身,可以链式调用
- 继承自:
once(types, fn, context) → BaseClass
core/BaseClass.js 284
绑定一次性执行的指定类型事件监听器 与on类似,监听器只会被触发一次,然后被删除。
参数名称 | 类型 | 描述信息 |
---|---|---|
types |
EventType | string | Array.<EventType> |
事件类型 |
fn |
function |
绑定的监听器回调方法 |
context |
object |
可选
侦听器的上下文(this关键字将指向的对象)。 |
返回值:
当前对象本身,可以链式调用
- 继承自:
从地图上移除,同map.removeThing
参数名称 | 类型 | 描述信息 |
---|---|---|
destroy |
boolean |
可选
是否调用destroy释放 |
返回值:
无
- 继承自:
removeEventParent(obj) → BaseClass
core/BaseClass.js 320
移除抛出事件到父类
参数名称 | 类型 | 描述信息 |
---|---|---|
obj |
object |
父类对象 |
返回值:
当前对象本身,可以链式调用
setOptions(options, funOptions) → BaseLayer
layer/BaseLayer.js 641
更新图层参数
参数名称 | 类型 | 描述信息 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
options |
object |
与类的构造方法参数相同 |
||||||||
funOptions |
object |
可选
方法参数
|
返回值:
当前对象本身,可以链式调用
- 继承自:
更新所有坐标点(含热力值)数据
参数名称 | 类型 | 描述信息 |
---|---|---|
arr |
Array.<Cesium.Cartesian3> | Array.<LngLatPoint> |
坐标点(含热力值),示例:[{lat:31.123,lng:103.568,value:1.2},{lat:31.233,lng:103.938,value:2.3}] |
返回值:
无
将图层转为Json简单对象,用于存储后再传参加载
返回值:
Json简单对象
- 继承自:
按新的radius进行渲染
参数名称 | 类型 | 描述信息 |
---|---|---|
radius |
number |
每个数据点将具有的半径 |
返回值:
无