Subtitles

new mars3d.control.Subtitles(options)

字幕 控件

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

参数对象,包括以下:

参数名称 类型 默认值 描述信息
list Array.<Subtitles.Item> 可选

字幕列表

className string 可选

样式名称,可以外部自定义样式。

style object 可选

可以传任意CSS样式值,如:

参数名称 类型 描述信息
top string 可选

css定位top位置, 如 top: '10px'

bottom string 可选

css定位bottom位置

left string 可选

css定位left位置

right string 可选

css定位right位置

id string | number createGuid() 可选

对象的id标识

enabled boolean true 可选

对象的启用状态

parentContainer HTMLElement 可选

控件加入的父容器,默认为map所在的DOM map.container

insertIndex number 可选

可以自定义插入到父容器中的index顺序,默认是插入到最后面。

insertBefore HTMLElement | string 可选

可以自定义插入到指定兄弟容器的前面,与insertIndex二选一。

继承

成员(属性)

readonly container : HTMLElement

当前控件的DOM对象

继承自:

count : number

总任务数

currentIndex : number

当前在执行的任务index顺序

currentTime : number

当前时间秒数 (相当于map.clock.startTime的秒数)

readonly duration : number

总时长 秒数

enabled : boolean

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

继承自:

enabledEvent : boolean

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

继承自:

readonly id : string|number

对象的id标识

继承自:

readonly isAdded : boolean

是否已添加到地图

继承自:

readonly isDestroy : boolean

是否已经销毁了

继承自:

list : Array.<Subtitles.Item>

字幕列表

readonly listDX : Array.<TaskItem>

实例化后的字幕对象列表

readonly options : object

当前类的构造参数

继承自:

readonly parentContainer : HTMLElement

父容器DOM对象

继承自:

readonly parentContainerId : string

父容器DOM对象的ID

继承自:

show : boolean

设置DOM容器的显示隐藏

继承自:

readonly state : State

当前对象的状态

继承自:

readonly type : string

控件类型

继承自:

方法

abstract _addedHook()void

对象添加到地图上的创建钩子方法, 每次add时都会调用

返回值:

继承自:

abstract _mountedHook()void

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

返回值:

继承自:

abstract _removedHook()void

对象从地图上移除的创建钩子方法, 每次remove时都会调用

返回值:

继承自:

addEventParent(obj)BaseClass

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

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

父类对象

返回值:

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

继承自:

addItem(item)TaskItem

添加单个字幕

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

单个字幕参数

返回值:

字幕对象

addTo(map)BaseControl

添加到地图上,同 map.addControl

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

地图对象

返回值:

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

继承自:

destroy(noDel)void

销毁当前对象

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

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

返回值:

继承自:

fire(type, data, propagate)BaseClass

触发指定类型的事件。

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

事件类型

data object 可选

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

propagate BaseClass 可选

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

返回值:

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

继承自:

getItemById(id)TaskItem

根据id获取字幕对象

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

id值

返回值:

字幕对象

getLangText(key)string

获取当前key对应语言的文本内容。

参数名称 类型 描述信息
key string

文本key

返回值:

lang参数指定的对应文本内容

继承自:

hasEventParent(obj)boolean

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

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

父类对象

返回值:

是否绑定了抛出事件

继承自:

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关键字将指向的对象)。

返回值:

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

继承自:

reload()void

重新加载

返回值:

继承自:

remove(destroy)void

从地图上移除,同map.removeControl

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

是否调用destroy释放

返回值:

继承自:

removeEventParent(obj)BaseClass

移除抛出事件到父类

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

父类对象

返回值:

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

继承自:

removeItem(id)boolean

根据id删除字幕对象

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

id值

返回值:

是否成功删除

setOptions(options)BaseThing|BaseControl|object

更新图层参数

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

与类的构造方法参数相同

返回值:

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

继承自:

setStyle(style)void

设置新的css样式信息

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

css样式

返回值:

继承自:

toJSON()object

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

返回值:

Json简单对象

继承自:

updateItem(item)TaskItem

更新单个字幕

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

单个字幕参数

返回值:

字幕对象

定义的类型

mars3d.control.Subtitles.Item

任务列表 支持的参数信息

属性:
属性名称 类型 可选 默认值 描述信息
text number <可选>

文本内容

start number <可选>

开始时间(相当于map.clock.startTime的秒数)

stop number <可选>

停止时间(相当于map.clock.startTime的秒数)

duration number <可选>

时长秒数,当没有配置stop时,内部自动算:stop= start + duration

delay number <可选>

延迟执行秒数,当没有配置start时,内部自动算:start=前一个的stop + delay

id string | number <可选>
createGuid()

字幕id标识

show boolean <可选>
true

字幕是否禁用,可以设置临时跳过这个字幕

使用示例:
有下面几种使用场景,按需使用即可:
方式1:(start+stop)
{ text: "我是第1句话",start: 3, stop: 9 },//对应start:3-stop:9

方式2:(start+duration)
{ text: "我是第1句话", start: 3, duration: 6 }, //对应start:3-stop:9

方式3:(duration+delay), 这种方式是队列式便于整体移动修改
{ text: "我是第1句话", duration: 1, delay: 0 }, //对应start:0-stop:1
{ text: "我是第2句话", duration: 6, delay: 2 }, //对应start:3-stop:9