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

Class: FeatureLayer

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

CMAP~ FeatureLayer


new FeatureLayer(param)

Parameters:
NameTypeDescription
paramObject

参数

Properties
NameTypeDescription
dataSourceObject

数据,目前只支持geojson

extrudeHeightNumber

拔起的高度 适用于GeoPolygon和GeoBuilding 单位米

offsetHeightNumber

离地高度 单位米

offsetHeightFieldString

离地高度字段 代表从该对象的属性中读取该字段的值作为离地高度 优先级低于offsetHeight

extrudeFactorNumber

高度拉伸倍数 适用于GeoPolygon和GeoBuilding

extrudeFieldString

高度属性字段 适用于GeoPolygon和GeoBuilding

renderOrderNumber

渲染优先级,默认为0

geometryTypeString

数据类型 目前支持 GeoPoint GeoLine GeoPolygon GeoHeatMap和GeoBuilding

rendererObject

各类型样式 详情见对应的实例的renderer

visibleLevelArray

设置显示级别,[最小级别,最大级别]或者是[最小级别],该图层在这个级别范围内才显示 目前只支持初始化时设置

infoWindowObject

图层内对象弹窗信息 属性可参考LayerInfoWindow类

labelObject

图层标注信息 属性可参考LayerLabel类

pivotObject

轴心点位置 适用于GeoPoint

Example
var pointLayer = app.create({
      type: 'FeatureLayer',
      name: 'pointLayer',
      renderOrder: 1,
      dataSource:{
"type": "FeatureCollection",
"features": [{
    "type": "Feature",
    "properties": {
      "type": "rain",
      "value": 5
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-73.99995803833008, 40.71805432623303]
    }
  }, {
    "type": "Feature",
    "properties": {
      "type": "water",
      "value": 7
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-73.98167610168457, 40.726087955120704]
    }
  }]
   },
      geometryType:'GeoPoint',
      renderer:{
type: 'image',
url:'image/uGeo/pop.png',
size:20
      }
    });
   map.userLayers.add(pointLayer);

Extends

Members


angles :Array.<number>

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

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

brothers :THING.Selector

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

Type:
Inherited From:
Overrides:

controls :Array.<Object>

获取控件列表(数组)

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

dataSource :Object

数据源,目前只支持geojson格式的对象 设置dataSource属性会重置featureLayer的renderer

Type:
  • Object
Example
featureLayer.dataSource =
    {
      "type": "FeatureCollection",
      "features": [{
  "type": "Feature",
  "properties": {
"type": "rain",
"value": 5
  },
  "geometry": {
"type": "Point",
"coordinates": [-73.99995803833008, 40.71805432623303]
  }
}, {
  "type": "Feature",
  "properties": {
"type": "water",
"value": 7
  },
  "geometry": {
"type": "Point",
"coordinates": [-73.98167610168457, 40.726087955120704]
  }
}]
     };

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:

extrudeFactor :Number

高度拉伸倍数

Type:
  • Number
Example
featureLayer.extrudeFactor = 2; //设置高度放大倍数

extrudeField :String

高度属性字段

Type:
  • String
Example
featureLayer.extrudeField = 'height'; //设置高度属性字段,该字段可在每一个对象的userData中找到

extrudeHeight :Number

设置FeatureLayer中各对象的拔起高度

Type:
  • Number

height :Number

设置FeatureLayer中各对象拔起高度

Type:
  • Number
Deprecated:
  • Yes

id :String

设置/获取 物体 id

Type:
  • String
Inherited From:
Overrides:

<readonly> infoWindow :CMAP.LayerInfoWindow

图层的弹窗信息

Type:
Example
//不支持featureLayer.infoWindow = infoWindow这种修改方式//通过这种方式来修改featureLayer中infoWindow的title属性featureLayer.infoWindow.title = '标题';

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;

<readonly> label :CMAP.Label

图层的标注信息

Type:
  • CMAP.Label
Example
//不支持featureLayer.label = label这种修改方式//通过这种方式来修改featureLayer中label的fontSize属性featureLayer.label.fontSize = 12;

localPosition :Array.<number>

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

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

name :String

设置/获取 物体 name

Type:
  • String
Inherited From:
Overrides:

<readonly> objects :Array

图层中所有的对象

Type:
  • Array
Inherited From:
Overrides:

offsetHeight :Number

离地高度 单位:米

Type:
  • Number
Inherited From:
Overrides:
Example
featureLayer.offsetHeight = 200; //设置离地高度200米

offsetHeightAdded :Number

设置FeatureLayer中各对象的离地高度字段

Type:
  • Number
Example
featureLayer.offsetHeightField = 50; //设置离地高度字段

offsetHeightField :Number

设置FeatureLayer中各对象的离地高度字段

Type:
  • Number
Overrides:
Example
featureLayer.offsetHeightField = 50; //设置离地高度字段

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:

<readonly> renderer :Object

图层的渲染样式 目前FeatureLayer的renderer可以支持条件分类,但是如果对renderer进行修改,仅支持整体修改暂不支持分类修改

Type:
  • Object
Example
//不支持featureLayer.renderer = renderer这种修改方式//通过这种方式来修改featureLayer中renderer的color属性 这样会影响featureLayer中所有对象的颜色//如果想单独修改某一个地理对象的样式,可以通过featureLayer.objects[0].renderer.color = [1,0,0]这种方式修改//对于FeatureLayer来说 如果为FeatureLayer设置样式,会冲掉featureLayer中个体的样式//调用featureLayer.dataSource = xxx;也会重新设置featureLayer的rendererfeatureLayer.renderer.color = 'rgb(255,0,0)';

renderOrder :number

设置/获取渲染排序值, 数值越小越先渲染,默认值为 0

Type:
  • number
Overrides:
  • CMAP.Layer#renderOrder
Example
featureLayer.renderOrder = 5;//设置图层渲染顺序为5

scale :Array.<number>

物体自身缩放比例

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

style :THING.BaseStyle

获取物体样式

Type:
Inherited From:
Overrides:

subNodes :THING.Selector

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

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

type :String

设置/获取 物体类型

Type:
  • String
Inherited From:
Overrides:

userData :Object

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

Type:
  • Object
Inherited From:
Overrides:

visible :boolean

显示为True,不显示为False

Type:
  • boolean
Overrides:
  • CMAP.Layer#visible

visibleLevel :Array

设置显示级别,[最小级别,最大级别]或者是[最小级别],该图层在这个级别范围内才显示

Type:
  • Array
Inherited From:
Overrides:
Example
layer.visibleLevel = [10,15];//限制图层在10-15层级范围内显示

Methods


add(obj)

添加对象到FeatureLayer,要添加的feature类型必须和FeatureLayer的geometryType一致 添加后dataSource属性不变

Parameters:
NameTypeDescription
objObject

要添加到图层中的对象(GeoPoint,GeoLine,GeoBuilding,GeoPolygon等)

Overrides:

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

添加物体控件

Parameters:
NameTypeArgumentDescription
typeObject

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

nameString<optional>

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

Inherited From:
Overrides:
Returns:

控件

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

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':'我的单击事件'}]

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(obj)

移除Layer中指定的对象 移除后dataSource属性不变

Parameters:
NameTypeDescription
objObject

图层中的对象

Overrides:

removeAll()

移除layer下的所有对象 移除后dataSource属性不变


removeAllControls()

删除该物体的所有控件

Inherited From:
Overrides:

removeControl(control)

删除控件

Parameters:
NameTypeDescription
controlObject | String

控件或控件自定义名称

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

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

恢复事件响应

Parameters:
NameTypeArgumentDescription
eventTypeTHING.EventType | String

事件名称

conditionString<optional>

物体类型选择信息

tagString<optional>

事件标签

Inherited From:
Overrides:

rotate(angle, axis)

让物体以自身坐标系下指定坐标轴旋转(默认 Y 轴)

Parameters:
NameTypeDescription
angleNumber

旋转角度值

axisArray.<number>

方向轴,默认为物体 Y 轴方向

Inherited From:
Overrides:
Example
// 绕自身 Y 轴旋转45度,等同于 obj.rotateY(45)obj.rotate(45);// 绕自身 X 轴旋转30度,等同于 obj.rotateX(30)obj.rotate( 30, [1,0,0])// 绕自身 Z 轴向旋转-45度,等同于 obj.rotateZ(-45)obj.rotate( -45, [0,0,1])

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})

setVisible(value, effectChildren)

设置图层可见 对于图层来说,如果仅仅设置图层本身节点的visible,第二个参数传false,如果需要影响图层内各要素的visible,第二个参数传true 注:如果图层内要素visible为true 而图层本身的visible是false 这个要素是不会被显示的

Parameters:
NameTypeDescription
valueBoolean

是否可见

effectChildrenBoolean

是否影响图层内要素

Inherited From:
Overrides:

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)})

updateRenderer(renderItem)

设置图层渲染样式 这里是整体修改FeatureLayer的样式,如果单独修改某一项,应该使用featureLayer.renderer.xxx=xxx;的方式

Parameters:
NameTypeDescription
renderItemObject

图层整体的样式

Example
featureLayer.updateRenderer({
       'opacity':1,
      'type':'image',
      'lineType':'Plane',
      'imageUrl':'uGeo/path.png',
      'color':[53,77,135,0.27],
      'numPass':1,
      'effect':true,
      'width':5,
      'speed':1,
    });

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]);