当前位置: 首页 > 文档资料 > ThingJS 文档中心 >

Class: Map

优质
小牛编辑
131浏览
2023-12-01

CMAP~ Map

地图类


new Map(options) → {Map}

构造函数

Parameters:
NameTypeDescription
optionsObject

参数列表

Properties
NameTypeDescription
typeString

类型'Map'

terrainUrlString

地形服务url,如果不传就不加地形,目前地形必须在map初始化时设置,设置后,会创建一个TerrainLayer并且赋值给Map.terrainLayer
这里的地形服务是遵循TMS切片规范的terrain格式的地形服务
一个高程数据集的瓦片url类似于:https://assets.cesium.com/1/{z}/{x}/{y}.terrain(需要token才可以访问)

atmosphereBoolean

是否开启大气效果,默认为 true

styleCMAP.MapStyle

地图渲染效果

restrictedLevelArray

地图最大最小缩放级别 之前的属性名为level 也支持但推荐使用restrictedLevel 默认[0,22]

attributionString

右下角地图的版权信息

Returns:
Type
Map
Example
var app = new THING.App({   container: 't3d', // 3D 的容器});//直接创建Map对象var map = app.create({
     type: 'Map'
     atmosphere :false,//不开大气效果 默认开启
     terrainUrl: 'http://data.marsgis.cn/terrain',//地形服务url
     restrictedLevel:[0,22],//定义地图层级
     maxPitch:82,//地球最大俯仰角度,不能大于90
     style:{
       night:false, //不开启白天黑夜 默认开启
       fog :false  //开启雾效果 默认关闭 目前该参数只能在初始化时设置
     },
     attribution:'Google' //地图右下角的信息
  });
 //通过CityBuilder导出的url创建地图
  var map = app.create({
     type: 'Map'
     url:'https://www.thingjs.com/citybuilder_console/mapProject/config/TVRFNE9UZz1DaXR5QnVpbGRlckAyMDE5',
     complete:function(e){
//地图上要素创建完毕的回调函数
THING.Utils.log(e.object.userLayers.length);
     }
  });
 map.on('click',function (event){
     //对于Map 事件返回的属性中添加了coordinates 代表点击的经纬度信息
      THING.Utils.log(event.coordinates);
    });

Extends

Members


<readonly> allLayers :CMAP.LayerCollection

所有图层的集合,包含baseLayers,terrainLayer,useLayers

Type:
  • CMAP.LayerCollection

angles :Array.<number>

三轴相对角度,相对于自身坐标

Type:
  • Array.<number>
Inherited From:
Overrides:

attribution :String

设置地图的attribution,在地图右下角有一个小方盒子中呈现,如果不填写,会默认展示ThingJs的超链接, 如果填写,会在ThingJS后添加相应的内容
系统内置了几种常用的地图的attribution的写法,如Google OSM Carto GeoQ Gaode,系统会自动生成对应的attribution.
如果传none 则不会生成attribution
也可以自定义attribution

Type:
  • String
Example
map.attribution = 'Google';//设置谷歌地图的版权信息map.attribution = 'My Attribution'; //自定义版权信息 右下角会展示ThingJS|My Attribuitionmap.attribution = 'none'; //不显示版权信息

<readonly> baseLayers :CMAP.BaseLayerCollection

基础底图集合

Type:

brothers :THING.Selector

获取物体的所有兄弟对象(排除自己),返回物体对象集合

Type:
Inherited From:
Overrides:

children :Array.<THING.BaseObject>

获取子物体列表(数组)

Type:
Inherited From:
Overrides:

controls :Array.<Object>

获取控件列表(数组)

Type:
  • Array.<Object>
Inherited From:
Overrides:

<readonly> currentLevel :Number

获取当前地图层级

Type:
  • Number

draggable :Boolean

设置/获取 物体是否可被拖拽

Type:
  • Boolean
Inherited From:
Overrides:
Example
obj.draggable = true

dragState :Number

获取物体当前拖拽状态 THING.DragState.No —— 非拖拽模式、 THING.DragState.DragEnd —— 拖拽结束、 THING.DragState.Dragging —— 拖拽中、

Type:
  • Number
Inherited From:
Overrides:

id :String

设置/获取 物体 id

Type:
  • String
Inherited From:
Overrides:

inheritAngles :Boolean

设置/获取 物体是否跟随父物体旋转, 默认true.

Type:
  • Boolean
Inherited From:
Overrides:

inheritPickable :Boolean

设置/获取 物体拾取是否受父物体影响, 默认 true.

Type:
  • Boolean
Inherited From:
Overrides:

inheritPosition :Boolean

设置/获取 物体位置是否跟随父物体移动, 默认true.

Type:
  • Boolean
Inherited From:
Overrides:

inheritScale :Boolean

设置/获取 物体是否跟随父物体缩放, 默认true.

Type:
  • Boolean
Inherited From:
Overrides:

inheritStyle :Boolean

设置/获取 物体样式是否受父物体影响, 默认 true.

Type:
  • Boolean
Inherited From:
Overrides:

inheritTheme :Boolean

设置/获取 物体模板是否受父物体影响, 默认 true.

Type:
  • Boolean
Inherited From:
Overrides:

inheritVisible :Boolean

设置/获取 物体可见性是否受父物体影响, 默认 true.

Type:
  • Boolean
Inherited From:
Overrides:

keepSize :Boolean

设置/获取 图标是否保持像素大小不变。默认为 false,即图标在 3D 场景中呈现“近大远小”的表现形式。

Type:
  • Boolean
Inherited From:
Overrides:
Example
// 设置物体始终保持像素大小(不随场景缩放“近大远小”)object.keepSize = true;

level :Array

设置地图可以缩放层级,默认是[0,22] 推荐使用restrictedLevel

Type:
  • Array
Deprecated:
  • Yes
Example
map.style.level = [0,18]; //设置地图默认缩放层级为最小0最大18

localPosition :Array.<number>

设置/获取 物体在父物体坐标系下的相对位置

Type:
  • Array.<number>
Inherited From:
Overrides:

maxPitch :Number

地图最大俯仰角 最大90

Type:
  • Number
Example
map.maxPitch = 60; //设置地图最大俯仰角为60度

name :String

设置/获取 物体 name

Type:
  • String
Inherited From:
Overrides:

parent :THING.BaseObject

获取直接父物体

Type:
Inherited From:
Overrides:

parents :THING.Selector

获取所有父物体(祖先),返回物体对象集合,集合中的第一个对象为直接父物体,最后一个为世界根对象

Type:
Inherited From:
Overrides:
Example
// 获取某对象的所有父物体var parents=obj.parents;// parents[0] 等同于 obj.parent// 遍历物体集合parents.forEach(function (parent) {  THING.Utils.log(parent.name)})

pickable :Boolean

设置/获取 物体是否能被拾取

Type:
  • Boolean
Inherited From:
Overrides:

position :Array.<number>

设置/获取 物体在世界坐标系下的绝对位置

Type:
  • Array.<number>
Inherited From:
Overrides:

restrictedLevel :Array

设置地图可以缩放层级,默认是[0,22]

Type:
  • Array
Example
map.restrictedLevel = [0,18]; //设置地图默认缩放层级为最小0最大18

scale :Array.<number>

物体自身缩放比例

Type:
  • Array.<number>
Inherited From:
Overrides:
Example
// 等比例缩放 2 倍obj.scale = [2,2,2]

subNodes :THING.Selector

获取子部件(模型的 Mesh 列表)

Type:
Inherited From:
Overrides:
Example
var subNodes = obj.subNodes;subNodes.forEach(function(subnode){  THING.Utils.log(subnode.name)})

terrainLayer :CMAP.TerrainLayer

地形图层

Type:

type :String

设置/获取 物体类型

Type:
  • String
Inherited From:
Overrides:

userData :Object

获取/设置用户自定义属性

Type:
  • Object
Inherited From:
Overrides:

<readonly> userLayers :CMAP.UserLayerCollection

业务图层的集合

Type:
  • CMAP.UserLayerCollection

<readonly> util :CMAP.Util

地球相关工具,包括坐标转换,角度计算等 也可通过CMAP.Util获取

Type:

visible :boolean

地球是否显示 true:显示;false:不显示

Type:
  • boolean
Overrides:
Example
map.visible = false;//不显示地球

Methods


add(params [, index])

添加子物体

Parameters:
NameTypeArgumentDescription
paramsTHING.BaseObject | *

物体或者参数列表

Properties
NameTypeArgumentDescription
objectTHING.BaseObject

物体

localPositionArray.<Number><optional>

相对于父物体的坐标位置

anglesArray.<Number><optional>

旋转角度

basePointString<optional>

作为位置参考基准的子节点名字

indexNumber<optional>

插入下标,默认插入到最后位置

Inherited From:
Overrides:
Example
// 将物体 box 作为孩子直接添加到 car 上car.add(box);// 添加子物体 box ,并设置其与父物体的相对位置car.add({  object: box, // 作为孩子的对象  localPosition: [0, 2, 0] // 相对于父物体的坐标});// 以某个“子节点”作为参考基准点,添加子物体car.add({  object: box,  basePoint: "chazi", // 作为“基准”的“子节点”名称});

addControl(type [, name]) → {Object}

添加物体控件

Parameters:
NameTypeArgumentDescription
typeObject

系统内置控件类型 或 用户自定义控件类型

nameString<optional>

控件自定义名称(用于查找)

Inherited From:
Overrides:
Returns:

控件

Type
Object
Example
obj.addControl(new THING.AxisTransformControl(obj), 'axisControl');

addLayer(layer) → {void}

map中添加layer,可以添加FeatureLayer、ThingLayer、TileLayer等

Parameters:
NameTypeDescription
layerCMAP.TileLayer | CMAP.ThingLayer | CMAP.FeatureLayer

需要添加的图层

Returns:
Type
void

destroy()

销毁地球实例,释放内存

Inherited From:
Overrides:

distanceTo(position) → {Number}

获取物体到某坐标或者另一物体的绝对距离

Parameters:
NameTypeDescription
positionArray.<number> | THING.BaseObject

世界坐标系下的位置 或 另一物体

Inherited From:
Overrides:
Returns:

距离

Type
Number
Example
// 填写世界坐标系下的位置obj.distanceTo([0,0,0]);// 填写物体对象obj.distanceTo(otherObj);

fadeIn(param)

淡入

Parameters:
NameTypeDescription
paramObject

参数列表

Properties
NameTypeArgumentDescription
timeNumber<optional>

淡入时间(毫秒) 默认 1s

completefunction<optional>

完成时的回调

Inherited From:
Overrides:
Example
obj.fadeIn();// 设置时间和回调obj.fadeIn({  time:2000,  complete:function(ev){    THING.Utils.log('complete')  }})

fadeOut(param)

淡出

Parameters:
NameTypeDescription
paramObject

参数列表

Properties
NameTypeArgumentDescription
timeNumber<optional>

淡出时间(毫秒) 默认 1s

completefunction<optional>

完成时的回调

Inherited From:
Overrides:
Example
obj.fadeOut();// 设置时间和回调obj.fadeOut({  time:2000,  complete:function(ev){    THING.Utils.log('complete')  }})

getAttribute(key) → {*}

获取属性值

Parameters:
NameTypeDescription
keyString

属性名,可以使用 a/b/c 的路径方式

Inherited From:
Overrides:
Returns:

属性值

Type
*
Example
obj.getAttribute("userData/power");

getControl(name) → {Object}

获取控件

Parameters:
NameTypeDescription
nameString

控件自定义名称

Inherited From:
Overrides:
Returns:

控件

Type
Object
Example
var control = obj.getControl('axisControl');

getEvents(eventType) → {Array.<Object>}

获取绑定的事件列表,返回数组

Parameters:
NameTypeDescription
eventTypeTHING.EventType | String

事件名称, 如果不传则返回所有已绑定的事件

Inherited From:
Overrides:
Returns:
Type
Array.<Object>
Example
var events=obj.getEvents();// 返回数组,结构形如:[{"type":"enterlevel","priority":50,"userData":null,'tag':'__level_scene_operations__'},{"type":"leavelevel","priority":50,"userData":null,'tag':'__level_scene_operations__'},{"type":"click","priority":50,"userData":null,'tag':'我的单击事件'}]

getLayerByName(name) → {THING.Selector}

根据图层名称获取图层

Parameters:
NameTypeDescription
nameString

图层实例的name

Returns:

图层的集合

Type
THING.Selector
Example
var layer = map.getLayerByName('name1');//获取name为name1的图层

hasAttribute(key) → {Boolean}

判断属性是否存在

Parameters:
NameTypeDescription
keyString

属性名,可以使用 a/b/c 的路径方式

Inherited From:
Overrides:
Returns:
Type
Boolean
Example
// 物体属性 obj.userData.power 是否存在obj.hasAttribute("userData/power");

hasChild(object) → {Boolean}

检测是否拥有此子物体

Parameters:
NameTypeDescription
objectTHING.BaseObject

物体

Inherited From:
Overrides:
Returns:
Type
Boolean

hasControl(control) → {Boolean}

查询是否拥有控件

Parameters:
NameTypeDescription
controlObject | String

控件或者控件自定义名字

Inherited From:
Overrides:
Returns:
Type
Boolean
Example
obj.hasControl('axisControl');

isBrotherOf(object) → {Boolean}

判断该物体是否为某物体的兄弟

Parameters:
NameTypeDescription
objectTHING.BaseObject

物体

Inherited From:
Overrides:
Returns:
Type
Boolean

isChildOf(parent) → {Boolean}

判断该物体是否为某物体的孩子

Parameters:
NameTypeDescription
parentTHING.BaseObject

物体

Inherited From:
Overrides:
Returns:
Type
Boolean

lookAt(target, params)

设置物体观察朝向

Parameters:
NameTypeDescription
targetArray.<Number> | THING.BaseObject | THING.CameraController

世界坐标下某坐标、某物体或者摄像机,设为 null 时表示取消观察

paramsArray.<Number> | Object

参数列表

Properties
NameTypeArgumentDescription
anglesArray.<Number><optional>

叠加的修正值

lockYAxisBoolean<optional>

是否锁定 Y 轴

alwaysBoolean<optional>

是否一直朝向观察物体

Inherited From:
Overrides:
Example
//让物体面向[0,1,0],该坐标是在世界坐标下位置obj.lookAt([0,1,0])//让物体一直面向摄影机obj.lookAt(app.camera)//让物体一直面向一个物体obj.lookAt(obj2)//让物体一直面向一个物体,同时物体沿自身Y轴向再旋转90度obj.lookAt(obj2,[0,90,0])//取消lookAt功能obj.lookAt(null)

movePath(params)

沿指定路径移动

Parameters:
NameTypeDescription
paramsObject
Properties
NameTypeArgumentDescription
pathArray.<Number>

路径,由世界坐标系下的坐标点组成

orientToPathBoolean<optional>

物体方向是否沿路径方向

orientToPathDegreeNumber<optional>

相对于路径方向的角度旋转值

timeNumber<optional>

沿路径移动的时间(毫秒)

localBoolean<optional>

输入的坐标是否相对于父物体的位置(默认false), 否则路径为世界坐标

delayTimeNumber<optional>

延时执行时间(毫秒)

lerpTypeTHING.LerpType<optional>

插值类型

loopTypeString<optional>

循环类型,默认为 no

updatefunction<optional>

移动中的回调

completefunction<optional>

移动完成时的回调

Inherited From:
Overrides:
Example
// 世界坐标系下坐标点构成的数组 关于坐标的获取 可利用「工具」——>「拾取场景坐标」var path = [[0, 0, 0], [20, 0, 0], [20, 0, 10], [0, 0, 10], [0, 0, 0]];obj.movePath({  orientToPath: true, // 物体移动时沿向路径方向  path: path, // 路径坐标点数组  time: 5 * 1000, // 路径总时间 毫秒  delayTime: 1000, // 延时 1s 执行  lerpType: null, // 插值类型(默认为线性插值)此处设置为不插值  complete: function (ev) {    THING.Utils.log(ev.object.name + "移动结束")  }});

moveTo(params)

移动到某位置 或 某物体对象

Parameters:
NameTypeDescription
paramsObject
Properties
NameTypeArgumentDescription
positionArray.<Number> | THING.BaseObject

目标位置(世界坐标系下绝对位置) 或 物体对象

orientToPathBoolean<optional>

是否朝向目标方向

loopTypeString<optional>

循环类型,默认为 no

timeNumber<optional>

完成移动的时间(毫秒)

offsetPositionArray.<Number><optional>

相对于当前位置的移动偏移量(与 position 选填其一)

completefunction<optional>

移动完成时的回调,仅当 loopType 为 no 时才有回调

Inherited From:
Overrides:
Example
// 移动到世界坐标系下 [0,0,10] 处位置obj.moveTo([0, 0, 10]);// 3s 移动到世界坐标系下原点位置 [0,0,0]obj.moveTo({  position: [0,0,0],  time: 3000,  orientToPath: true,// 朝向目标方向  complete:function(ev) {    THING.Utils.log(ev.object.name + '移动完成');  }});// 2s 向前移动 10mobj.moveTo({  offsetPosition: [0, 0, 10], // 相对自身 向前移动 10m  time: 2 * 1000,  orientToPath: true,  complete: function (ev) {    THING.Utils.log(ev.object.name + '移动完成');  }});

off(eventType, condition, callback)

移除事件绑定

Parameters:
NameTypeDescription
eventTypeString

事件类型名称

conditionString

物体类型选择条件

callbackfunction | String

事件触发的回调函数 或 事件标签(tag)

Inherited From:
Overrides:
Example
// 移除所有 Click 事件的绑定obj.off('click');// 移除对物体下 Marker 子物体的 Click 事件绑定obj.off('click','.Marker');// 移除标记为某个事件标签的事件绑定,如果绑定(on)时没写条件,则第二个参数需填写 nullobj.off('click','.Marker','我的点击事件01')obj.off('click',null,'我的点击事件02')

one(eventType [, condition] [, userData], callback [, tag] [, priority])

绑定事件(只触发一次)

Parameters:
NameTypeArgumentDescription
eventTypeString

事件类型名称

conditionString<optional>

物体类型选择信息

userDataObject<optional>

事件传递自定义数据

callbackfunction

事件触发的回调函数

tagString<optional>

事件标签

priorityNumber<optional>

优先级,数值越大优先级越高

Inherited From:
Overrides:

pauseEvent(eventType [, condition] [, tag])

暂停事件响应

Parameters:
NameTypeArgumentDescription
eventTypeTHING.EventType | String

事件名称

conditionString<optional>

物体类型选择条件

tagString<optional>

事件标签

Inherited From:
Overrides:

query(param [, recursive]) → {THING.Selector}

在子物体中查询(不包括自己)

Parameters:
NameTypeArgumentDefaultDescription
paramString

查询条件

recursiveBoolean<optional>
true

是否递归查询所有子物体, 默认true

Inherited From:
Overrides:
Returns:

查询结果

Type
THING.Selector
Example
// 查询名称为 car01 的子物体obj.query('car01');// 查询类型为 Marker 的子物体obj.query('.Marker');// 查询id为 001 的子物体obj.query('#001');// 根据自定义属性值筛选子物体obj.query('[userData/power=40]');// 根据正则表达式匹配 name 中包含 'car' 的子物体obj.query(/car/);// 上行代码等同于// var reg = new RegExp('car');// var cars=app.query(reg);

remove(object)

移除子物体

Parameters:
NameTypeDescription
objectTHING.BaseObject

物体

Inherited From:
Overrides:

removeAllControls()

删除该物体的所有控件

Inherited From:
Overrides:

removeControl(control)

删除控件

Parameters:
NameTypeDescription
controlObject | String

控件或控件自定义名称

Inherited From:
Overrides:
Example
var control = obj.removeControl('axisControl');

removeLayer(layer) → {void}

map中移除layer,可以移除FeatureLayer、ThingLayer、TileLayer等

Parameters:
NameTypeDescription
layerCMAP.TileLayer | CMAP.ThingLayer | CMAP.FeatureLayer

需要移除的图层

Returns:
Type
void

resumeEvent(eventType [, condition] [, tag])

恢复事件响应

Parameters:
NameTypeArgumentDescription
eventTypeTHING.EventType | String

事件名称

conditionString<optional>

物体类型选择信息

tagString<optional>

事件标签

Inherited From:
Overrides:

rotate(param) → {void}

地球旋转

Parameters:
NameTypeDescription
paramObject

参数列表

Properties
NameTypeDescription
angleNumber

旋转角度

speedNumber

旋转速度 单位:(度/秒)

completeNumber

旋转完毕后的回调函数

Overrides:
Returns:
Type
void

rotateAround(params)

绕某点或某物体旋转

Parameters:
NameTypeDescription
paramsObject

参数列表

Properties
NameTypeArgumentDescription
objectTHING.BaseObject<optional>

围绕某物体

targetArray.<Number><optional>

围绕世界坐标系下某位置点

angleNumber<optional>

水平旋转角度

timeNumber<optional>

旋转时间(毫秒)

speedNumber<optional>

速度 (与 time 选填其一)

loopTypeString<optional>

循环类型

completefunction<optional>

旋转结束时的回调函数,仅当 loopType 为 no 时才有回调

Inherited From:
Overrides:
See:
Example
// obj2 绕着 obj1 旋转360度,2s转完obj2.rotateAround({  object: obj1,  angle:360,  time:2000,  loopType:THING.LoopType.No,  complete:function(){    THING.Utils.log('finish')  }})// obj 绕着 世界坐标系下的原点旋转360度,2s转完obj.rotateAround({  target: [0,0,0],  angle:360,  time:2000,  loopType:THING.LoopType.No,  complete:function(){    THING.Utils.log('finish')  }})

rotateTo(params)

在一段时间内物体旋转一定角度

Parameters:
NameTypeDescription
paramsObject

参数列表

Properties
NameTypeArgumentDescription
anglesArray.<number>

旋转角度

timeNumber<optional>

完成旋转的时间(毫秒)

speedNumber<optional>

旋转速度(与 time 选填其一)

loopTypeString<optional>

循环类型,默认为 no

lerpTypeString<optional>

旋转速度插值类型

completefunction<optional>

旋转完成时的回调函数,仅当 loopType 为 no 时有回调

Inherited From:
Overrides:
Example
// 物体绕 Y 轴旋转 90 度,5s 转完obj.rotateTo({  angles: [0, 90, 0], // 旋转角度  time: 5000, // 总时间  complete: function () {    THING.Utils.log('rotate complete');  // 旋转结束回调  }})// 物体绕 Y 轴旋转 90 度,5s 变加速转完obj.rotateTo({  angles: [0, 90, 0],  time: 5000,  lerpType: THING.LerpType.Quadratic.In, // 速度插值  complete: function () {    THING.Utils.log('finish')  }})

rotateX(value)

绕自身 X 轴旋转

Parameters:
NameTypeDescription
valueNumber

旋转角度值

Inherited From:
Overrides:

rotateY(value)

绕自身 Y 轴旋转

Parameters:
NameTypeDescription
valueNumber

旋转角度值

Inherited From:
Overrides:

rotateZ(value)

绕自身 Z 轴旋转

Parameters:
NameTypeDescription
valueNumber

旋转角度值

Inherited From:
Overrides:

scaleTo(params)

在一段时间内将物体缩放至某比例

Parameters:
NameTypeDescription
paramsObject
Properties
NameTypeArgumentDescription
scaleArray.<number>

缩放值

timeNumber<optional>

完成缩放的时间(毫秒)

speedNumber<optional>

缩放速度(与 time 选填其一)

lerpTypeTHING.LerpType<optional>

缩放速度插值类型

loopTypeString<optional>

循环类型,默认为 no

completefunction<optional>

缩放完成时的回调

Inherited From:
Overrides:
Example
// 5s 物体缩放至两倍obj.scaleTo({  scale: [2,2,2], // 等比例缩放两倍  time: 5000,  complete: function () {    THING.Utils.log('scale completed');  // 缩放结束回调  }});// 缩放循环往复进行obj.scaleTo({  scale:[2,2,2],  time: 2000,  loopType: THING.LoopType.PingPong // 循环类型:来回往复})

selfToWorld(localPos) → {Array.<number>}

将物体自身坐标系下的相对位置转换成世界坐标系下的绝对位置

Parameters:
NameTypeDescription
localPosArray.<number>

物体自身坐标系下的相对位置

Inherited From:
Overrides:
Returns:

世界坐标系下的绝对位置

Type
Array.<number>
Example
// 例如某书柜在三楼的原点(相对位置)// floor 为三楼楼层对象,返回结果为书柜在世界坐标系下的绝对位置,比如 [5,6,-15]floor.selfToWorld([0,0,0]);

setAttribute(key, value)

设置属性值

Parameters:
NameTypeDescription
keyString

属性名,可以使用 a/b/c 的路径方式

value*

属性值

Inherited From:
Overrides:
Example
obj.setAttribute("userData/price",50);

setAttributes(attributes [, overwrite])

批量设置属性值

Parameters:
NameTypeArgumentDefaultDescription
attributesObject

属性列表

overwriteBoolean<optional>
true

是否覆盖原有属性(默认覆盖),如果为 false 表示如果原属性存在,则不会更新属性值

Inherited From:
Overrides:
Example
obj.setAttributes({  "userData/power": 50,  "userData/pirce": 60})

stopMoving()

停止移动(针对 moveTo 、 movePath)

Inherited From:
Overrides:

stopRotating()

停止旋转动画(停止 rotateTo 、rotateAround )

Inherited From:
Overrides:

stopScaling()

停止缩放动画( scaleTo )

Inherited From:
Overrides:

translate(offset)

相对于自身坐标系进行移动

Parameters:
NameTypeDescription
offsetArray.<Number>

相对于自身坐标系的偏移量

Inherited From:
Overrides:
Example
// 沿 X 轴移动 1m (即 左移 1m)obj.translate([1,0,0]);// 沿 Y 轴移动 1m (即 上移 1m)obj.translate([0,1,0]);// 沿 Z 轴移动 1m (即 向前移动 1m)obj.translate([0,0,1]);

trigger(eventType [, ev] [, tag])

触发事件

Parameters:
NameTypeArgumentDescription
eventTypeTHING.EventType | String

事件名称

evObject<optional>

事件信息,传递回调参数

tagString<optional>

事件标签

Inherited From:
Overrides:
Example
// 触发自定义的告警事件obj.trigger('Alarm');obj.on('Alarm',function(ev){  THING.Utils.log(ev.object.name);})// 传递参数obj.trigger('Alarm',{level:2});obj.on('Alarm',function(ev){  THING.Utils.log(ev.level)})

worldToSelf(worldPos) → {Array.<number>}

将世界坐标系下的绝对位置转换成物体自身的坐标系下的相对位置

Parameters:
NameTypeDescription
worldPosArray.<number>

世界坐标系下的绝对位置

Inherited From:
Overrides:
Returns:

相对坐标

Type
Array.<number>
Example
// 例如三楼某书柜在世界坐标系下的绝对坐标是 [5,6,-15]// floor 为三楼楼层对象,返回结果为书柜相对于该楼层的坐标,比如 [0,0,0]floor.worldToSelf([5,6,-15]);