方法
static mars3d.widget.activate(item, noDisableOther) → BaseWidget.widgetOptions
plugins/mars3d-widget/widgetManager.js 300
激活指定 widget模块
| 参数名称 | 类型 | 默认值 | 描述信息 | ||||||
|---|---|---|---|---|---|---|---|---|---|
item |
string | BaseWidget.widgetOptions |
指widget模块的uri 或 指模块的配置参数,当有配置参数时,参数优先级是: 【activate方法传入的配置 > init方法传入的配置(widget.json) > widget.js内部配置的】
|
|||||||
noDisableOther |
boolean |
false
|
可选
不释放其他已激活的widget |
返回值:
指widget模块对象
使用示例:
//常用方式,直接使用uri
mars3d.widget.activate("widgets/bookmark/widget.js");
//使用对象,可以传入更多参数,具体参数参看配置项手册,。
mars3d.widget.activate({
name:"视角书签"
uri: "widgets/bookmark/widget.js",
autoDisable: true,
testdata:'测试数据1987', //传数据进widget内部,widget内部使用this.config.testdata获取到传的数据
success:function(thisWidget){
//创建完成的回调方法
}
});
绑定类到当前对应js的widget中。
| 参数名称 | 类型 | 描述信息 |
|---|---|---|
_class |
BaseWidget |
定义的BaseWidget子类 |
返回值:
实例化后的对象
销毁对象
返回值:
无
释放指定的widget
| 参数名称 | 类型 | 描述信息 |
|---|---|---|
uri |
string | Array.<string> |
widget的uri 或 id |
返回值:
是否成功调用了释放
关闭释放所有widget
| 参数名称 | 类型 | 描述信息 |
|---|---|---|
nodisable |
string | boolean |
可选
传string时 指定不释放的widget的uri或id ,传true值强制释放所有widget(默认autoDisable为false的widet不会释放) |
group |
string |
可选
指定强制释放的group名(默认autoDisable为false的widet不会释放),传入group值后会强制释放所有同group组的widget |
返回值:
无
static mars3d.widget.disableGroup(group, nodisable) → void
plugins/mars3d-widget/widgetManager.js 554
关闭释放同组widget
| 参数名称 | 类型 | 描述信息 |
|---|---|---|
group |
string |
指定强制释放的group名 |
nodisable |
string |
可选
指定不释放的widget的uri或id |
返回值:
无
遍历所有widget
| 参数名称 | 类型 | 描述信息 |
|---|---|---|
method |
function |
回调方法 |
返回值:
无
触发指定类型的事件。
| 参数名称 | 类型 | 描述信息 |
|---|---|---|
type |
WidgetEventType |
事件类型 |
data |
object |
传输的数据或对象,可在事件回调方法中event对象中获取进行使用 |
propagate |
BaseClass | object |
可选
将事件传播给父类 (用addEventParent设置) |
返回值:
无
获取init方法传入的主目录配置参数
返回值:
主目录配置参数
获取配置的version配置参数,用于附加清除浏览器缓存
返回值:
配置的version参数
static mars3d.widget.getClass(uri) → BaseWidget
plugins/mars3d-widget/widgetManager.js 436
获取指定的widget 对应的实例化对象
| 参数名称 | 类型 | 描述信息 |
|---|---|---|
uri |
string |
widget的uri 或 id |
返回值:
widget对应的实例化对象
获取默认init时中传入配置的 windowOptions 参数
返回值:
windowOptions参数默认值
static mars3d.widget.getWidget(uri) → BaseWidget.widgetOptions
plugins/mars3d-widget/widgetManager.js 420
获取指定的widget配置信息
| 参数名称 | 类型 | 描述信息 |
|---|---|---|
uri |
string |
widget的uri 或 id |
返回值:
widget配置信息
static mars3d.widget.init(map, widgetcfg, _basePath) → void
plugins/mars3d-widget/widgetManager.js 74
初始化widget管理器,在构造完成map后调用一次即可。
| 参数名称 | 类型 | 默认值 | 描述信息 | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
map |
Map |
地图对象 |
|||||||||||||||||||
widgetcfg |
object |
{}
|
可选
全局配置(一般存放在widget.json),包括:
|
||||||||||||||||||
_basePath |
string |
''
|
可选
widgets目录所在的主路径(统一前缀), 如果widgets目录不在主页面一起或存在路由时,可以传入自定义主目录,值为 widgets目录相对于当前html页面的相对路径。 |
返回值:
无
使用示例:
let widgetCfg ={
"version": "2017",
"defaultOptions": {
"style": "dark",
"windowOptions": {
"skin": "layer-mars-dialog animation-scale-up",
"position": {
"top": 50,
"right": 10
},
"maxmin": false,
"resize": true
},
"autoReset": false,
"autoDisable": true,
"disableOther": true
},
"openAtStart": [
{
"name": "放大缩小按钮",
"uri": "widgets/toolButton/zoom.js"
}
],
"widgets": [
{
"name": "模板-div弹窗",
"uri": "widgets/_example_divwin/widget.js"
},
{
"name": "模板-append模板",
"uri": "widgets/_example_append/widget.js"
}
]
}
mars3d.widget.init(map, widgetCfg, './')
获取widget的当前激活状态
| 参数名称 | 类型 | 描述信息 |
|---|---|---|
uri |
string |
widget的uri 或 id |
返回值:
是否激活
是否有绑定指定的事件
| 参数名称 | 类型 | 描述信息 |
|---|---|---|
type |
WidgetEventType |
事件类型 |
propagate |
BaseClass |
可选
是否判断指定的父类 (用addEventParent设置的) |
返回值:
是否存在
解除绑定指定类型事件监听器
| 参数名称 | 类型 | 描述信息 |
|---|---|---|
types |
WidgetEventType | Array.<WidgetEventType> |
事件类型 |
fn |
function |
可选
绑定的监听器回调方法 |
context |
object |
可选
侦听器的上下文(this关键字将指向的对象)。 |
返回值:
无
绑定指定类型事件监听器
| 参数名称 | 类型 | 描述信息 |
|---|---|---|
types |
WidgetEventType | Array.<WidgetEventType> |
事件类型 |
fn |
function |
可选
绑定的监听器回调方法 |
context |
object |
可选
侦听器的上下文(this关键字将指向的对象)。 |
返回值:
无
绑定一次性执行的指定类型事件监听器 与on类似,监听器只会被触发一次,然后被删除。
| 参数名称 | 类型 | 描述信息 |
|---|---|---|
types |
WidgetEventType | Array.<WidgetEventType> |
事件类型 |
fn |
function |
可选
绑定的监听器回调方法 |
context |
object |
可选
侦听器的上下文(this关键字将指向的对象)。 |
返回值:
无
移除Widget测试栏(当有开启debugger时)
返回值:
无
static mars3d.widget.setViewShow(uri, show, index) → boolean
plugins/mars3d-widget/widgetManager.js 467
设置view弹窗的显示和隐藏,基于修改css实现
| 参数名称 | 类型 | 描述信息 |
|---|---|---|
uri |
string |
widget的uri 或 id |
show |
boolean |
是否显示 |
index |
number |
可选
当有多个view时,可以指定单个操作的view的index |
返回值:
是否成功设置