TerrainEditBase

new mars3d.thing.TerrainEditBase(options)

地形编辑 基础类 (包括:压平、抬升、开挖、淹没 等)

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

参数对象,包括以下:

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

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

id string | number createGuid() 可选

对象的id标识

enabled boolean true 可选

对象的启用状态

eventParent BaseClass | boolean 可选

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

继承

成员(属性)

enabled : boolean

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

继承自:

enabledEvent : boolean

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

继承自:

readonly id : string|number

对象的id标识

继承自:

readonly isAdded : boolean

是否已添加到地图

继承自:

readonly isDestroy : boolean

是否已经销毁了

继承自:

readonly length : number

已添加的区域个数

readonly list : Array.<object>

区域 列表

readonly options : object

当前类的构造参数

继承自:

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

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

readonly state : State

当前对象的状态

继承自:

readonly type : string|number

类型

继承自:

方法

abstract _mountedHook()void

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

返回值:

继承自:

addArea(positions, options)object

添加单个区域

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

坐标位置数组

options object {} 可选

控制的参数

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

地形压平时,高度值

diffHeight object 可选

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

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 BaseClass 可选

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

返回值:

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

继承自:

getAreaById(id)object

根据id获取区域对象

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

id值

返回值:

区域对象

hasEventParent(obj)boolean

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

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

父类对象

返回值:

是否绑定了抛出事件

继承自:

hideArea(id)void

隐藏单个区域

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

区域id值

返回值:

listens(type, propagate)boolean

是否有绑定指定的事件

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

事件类型

propagate BaseClass 可选

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

返回值:

是否存在

继承自:

off(types, fn, context)BaseClass

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

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

事件类型,未传值时解绑所有事件

fn function 可选

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

context object 可选

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

返回值:

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

继承自:

on(types, fn, context)BaseClass

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

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

事件类型

fn function

绑定的监听器回调方法

context object 可选

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

返回值:

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

继承自:

once(types, fn, context)BaseClass

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

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

事件类型

fn function

绑定的监听器回调方法

context object 可选

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

返回值:

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

继承自:

remove(destroy)void

从地图上移除,同map.removeThing

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

是否调用destroy释放

返回值:

继承自:

removeArea(item)void

移除单个区域

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

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

返回值:

removeEventParent(obj)BaseClass

移除抛出事件到父类

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

父类对象

返回值:

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

继承自:

setOptions(options)BaseThing|BaseControl|object

更新图层参数

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

与类的构造方法参数相同

返回值:

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

继承自:

showArea(id)void

显示单个区域

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

区域id值

返回值:

toJSON()object

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

返回值:

Json简单对象