FloodByMaterial

new mars3d.thing.FloodByMaterial(options)

淹没分析 , 基于地球材质,可以多个区域

参数名称 类型 描述信息
options object 可选

参数对象,包括以下:

参数名称 类型 默认值 描述信息
area Array.<object> 可选

多区域数组对象, 示例: [{ positions: [[108.959062, 34.220134, 397], [108.959802, 34.220147, 397], [108.959106, 34.21953, 398]] }]

positions Array.<Array> | Array.<string> | Array.<LngLatPoint> | Array.<Cesium.Cartesian3> 可选

坐标位置数组,只显示单个区域【单个区域场景时使用】

speed number 可选

淹没速度

color Cesium.Color | string new Cesium.Color(0.15, 0.7, 0.95, 0.5) 可选

淹没颜色

minHeight number 可选

淹没起始的大地高(单位:米)

maxHeight number 可选

淹没结束的大地高(单位:米)

showElseArea boolean true 可选

是否显示区域外的地图

id string | number createGuid() 可选

对象的id标识

enabled boolean true 可选

对象的启用状态

eventParent BaseClass | boolean 可选

指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件

参考:

继承自

属性值

area : Array.<object>

区域 列表

继承自:

color : Cesium.Color

淹没颜色

enabled : boolean

设置对象的启用和禁用状态。

继承自:

enabledEvent : boolean

设置事件的启用和禁用状态

继承自:

height : number

淹没高度(单位:米)

id : string|number

对象的id标识,仅首次加入地图前可修改;加入后(包括移除后)保持固定。

继承自:

只读 isAdded : boolean

是否已添加到地图

继承自:

只读 isDestroy : boolean

是否已经销毁了

继承自:

只读 length : number

已添加的区域个数

继承自:

只读 map : Map

当前对象所在的地图对象

继承自:

只读 maxHeight : number

当前淹没分析的最高高度(单位:米)

只读 options : object

当前类的构造参数

继承自:

positions : Array.<Array>|Array.<string>|Array.<LngLatPoint>|Array.<Cesium.Cartesian3>

坐标位置数组,只显示单个区域【单个区域场景时使用】

继承自:

showElseArea : boolean

是否显示区域外的地图

speed : number

淹没速度

只读 state : State

当前对象的状态

继承自:

type : string|number

类型

继承自:

方法

abstract _mountedHook() → void

对象添加到地图前创建一些对象的钩子方法, 只会调用一次

返回值:

无

继承自:

addArea(positions, options) → object|undefined

添加单个区域

参数名称 类型 默认值 描述信息
positions Array.<string> | Array.<Array> | Array.<LngLatPoint> | Array.<Cesium.Cartesian3>

坐标位置数组

options object {} 可选

控制的参数

参数名称 类型 描述信息
height number 可选

地形压平时,高度值

diffHeight number 可选

地形开挖和抬升时,墙体的高度值

minHeight number 可选

地形开挖和抬升时,墙体的顶部高度,默认计算positions贴地插值坐标后的最低点高度。

simplify object 可选

是否简化坐标点位,为空时不简化

参数名称 类型 默认值 描述信息
tolerance number 0.0001 可选

简化的程度,传值是经纬度的小数位

highQuality boolean true 可选

是否花更多的时间用不同的算法创建更高质量的简化

mutate boolean true 可选

是否允许对输入进行变异(如果为true,则显著提高性能)

id number | string 可选

外部自定义ID,注意不用有重复值。默认内部自动赋予

返回值:

添加区域的记录对象;未满足执行条件时可能无返回值。

继承自:

addEventParent(obj) → BaseClass

添加抛出事件到父类,它将接收传播的事件

参数名称 类型 描述信息
obj object

父类对象

返回值:

当前对象本身,可以链式调用

继承自:

addTo(map) → BaseThing

添加到地图上,同 map.addThing

参数名称 类型 描述信息
map Map

地图对象

返回值:

当前对象本身,可以链式调用

继承自:

clear() → void

清除分析

返回值:

无

destroy(noDel) → void

销毁当前对象

参数名称 类型 默认值 描述信息
noDel boolean false 可选

false:会自动delete释放所有属性,true:不delete绑定的变量

返回值:

无

继承自:

fire(type, data, propagate) → BaseClass

触发指定类型的事件。

参数名称 类型 默认值 描述信息
type EventType | string

事件类型

data object 可选

传输的数据或对象,可在事件回调方法中event对象中获取进行使用

propagate boolean false 可选

将事件传播给父类 (用addEventParent设置)

返回值:

当前对象本身,可以链式调用

继承自:

getAreaById(id) → object|null

根据id获取区域对象

参数名称 类型 描述信息
id number | string

id值

返回值:

区域对象;无有效结果时可能返回null。

继承自:

hasEventParent(obj) → boolean

是否绑定了抛出事件到指定父类

参数名称 类型 描述信息
obj object

父类对象

返回值:

是否绑定了抛出事件

继承自:

hideArea(id) → void

隐藏单个区域

参数名称 类型 描述信息
id number | string

区域id值

返回值:

无

继承自:

listens(type, propagate) → boolean

是否有绑定指定的事件

参数名称 类型 默认值 描述信息
type EventType | string

事件类型

propagate boolean false 可选

是否判断指定的父类 (用addEventParent设置的)

返回值:

是否存在

继承自:

off(types, fn, context) → BaseClass

解除绑定指定类型事件监听器

参数名称 类型 描述信息
types string | EventType | Array.<string> | Array.<EventType> 可选

事件类型,tip:多个事件也可以数组或空格间隔的字符串 , 传入空值时解绑所有事件

fn function 可选

绑定的监听器回调方法,未传值时解绑所有指定类型对应事件,特殊说明:map.on监听的Cesium相关原生事件时必须传入该参数

context object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

继承自:

on(types, fn, context) → BaseClass

绑定指定类型事件监听器, 支持在监听中调用 event.stopPropagation(); 阻止事件冒泡

参数名称 类型 描述信息
types string | EventType | Array.<string> | Array.<EventType>

事件类型,tip:多个事件也可以数组或空格间隔的字符串

fn function

绑定的监听器回调方法

context object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

继承自:

once(types, fn, context) → BaseClass

绑定一次性执行的指定类型事件监听器 与on类似,监听器只会被触发一次,然后被删除。

参数名称 类型 描述信息
types EventType | string | Array.<EventType>

事件类型

fn function

绑定的监听器回调方法

context object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

继承自:

async reload() → void

重新加载数据(会重新按当前地形服务计算,如切换地形后可以调用)

返回值:

无

继承自:

remove(destroy) → void

从地图上移除,同map.removeThing

参数名称 类型 描述信息
destroy boolean 可选

是否调用destroy释放

返回值:

无

继承自:

removeArea(item) → void

移除单个区域

参数名称 类型 描述信息
item number | string | object

区域的id值,或 addArea返回的区域对象

返回值:

无

继承自:

removeEventParent(obj) → BaseClass

移除抛出事件到父类

参数名称 类型 描述信息
obj object

父类对象

返回值:

当前对象本身,可以链式调用

继承自:

restart() → void

重新开始播放淹没动画效果

返回值:

无

setOptions(options, funOptions) → FloodByMaterial|undefined

重新赋值参数,同构造方法参数一致。

参数名称 类型 描述信息
options object

参数,与类的构造方法参数相同

funOptions object 可选

方法参数

参数名称 类型 默认值 描述信息
merge boolean true 可选

是否合并参数, 如是完整覆盖不合并老的options,请传入false

返回值:

当前对象本身,可以链式调用;未满足执行条件时可能无返回值。

showArea(id) → void

显示单个区域

参数名称 类型 描述信息
id number | string

区域id值

返回值:

无

继承自:

start() → void

开始播放淹没动画效果

返回值:

无

stop() → void

暂停播放淹没动画效果

返回值:

无

toJSON() → object

将对象转为Json简单对象,用于存储后再传参加载

返回值:

Json简单对象

继承自:

定义的类型

mars3d.thing.FloodByMaterial.EventType

当前类支持的EventType事件类型

属性:
属性名称 类型 描述信息
start string

开始分析

change string

变化了

end string

完成分析

使用示例:
//绑定监听事件
thing.on(mars3d.EventType.end, function (event) {
  console.log('分析完成', event)
})
参考: