Class: Vehicle

Vehicle

Vehicle类,提供车辆载具对象相关的操作
一般通过api.vehicle调用其方法


<protected> new Vehicle()

See:

Extends

Methods


add(data, fn)

添加一个或多个Vehicle对象

路径参数assetPath获取方法如下动图:

Parameters:
Name Type Description
data object | array

数据结构,支持对象或数组,对于每一个对象支持以下属性:

  • id (string) Vehicle对象的ID

  • groupId (string) 可选,Group分组

  • userData (string) 可选,用户自定义数据

  • assetPath (string) 资源库车辆载具路径,类似CustomObject对象的assetPath,示例值:'/JC_CustomAssets/VehicleLibrary/Exhibition/SUV_01'

  • coordinate (array) 载具初始位置坐标:[X,Y,Z],取值示例,数组元素类型:(number),取值范围:[任意数值]

  • coordinateType (number) 可选,坐标系类型,取值:0为Projection类型,1为WGS84类型,默认值:0

  • autoHeight (boolean) 可选,是否自动计算载具行驶高度,默认值:true,注意:当设置为false时会使用载具坐标的高度Z

  • rotation (array) 可选,载具旋转,世界坐标系旋转:[Pitch,Yaw,Roll],数组元素类型:(number),取值范围:[任意数值],默认值:[0,0,0]

  • colorType (number) 可选,载具涂装颜色类型,取值范围:[0~任意正整数],默认值:0 随机使用涂装颜色,大于0则使用其他固定的涂装颜色。

  • localOffset (array) 可选,载具基于原始位置坐标的偏移量,默认值:[0,0,0]

  • supportAttach (boolean) 是否支持贴画贴合,默认值:true

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


callBatchFunction(data, fn)

调用多个Vehicle对象的多个蓝图函数

Parameters:
Name Type Description
data object | array

数据结构,支持对象或数组,对于每一个对象支持以下属性:

  • id (string) Vehicle对象的ID

  • functionName (string) 蓝图函数名

  • parameters (array) 蓝图函数包含的多个参数结构,可选参数,数组类型,注意:传入多参数的顺序与类型务必与蓝图函数的参数顺序及其参数类型一致以保证执行结果符合预期。多个参数结构示例:[{"paramType":BPFuncParamType.String,"paramValue":"示例值"},{"paramType":BPFuncParamType.Bool,"paramValue":false},{"paramType":BPFuncParamType.Float,"paramValue":100.8}]

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


clear(fn)

清空场景中所有的Vehicle对象

Parameters:
Name Type Description
fn function

可选的回调函数,请参考二次开发:异步接口调用方式


delete(ids, fn)

删除一个或多个Vehicle对象

Parameters:
Name Type Description
ids string | array

要删除的Vehicle对象的ID或者ID数组(可以删除一个或者多个)

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


focus(ids, followEnable, distance, flyTime, rotation, distanceRotation, fn)

自动定位到合适的观察距离

Parameters:
Name Type Description
ids string | array

Vehicle对象的ID或者ID数组

followEnable boolean

可选参数,是否开启相机自动跟随(开启后相机交互会被自动托管),默认值:false

distance number

可选参数,观察点距离目标点(被拍摄物体)的距离

flyTime number

可选参数,相机飞行的时间,取值范围:[0~任意正数],单位:秒,默认值2秒

rotation array

可选参数,相机旋转的欧拉角:[Pitch,Yaw,Roll],数组元素类型:(number),取值范围:Pitch[-90~90] Yaw[-180~180] Roll[0]

distanceRotation array

可选参数,跟车相机旋转的欧拉角:[Pitch,Yaw,Roll],数组元素类型:(number),取值范围:Pitch[-90~90] Yaw[-180~180] Roll[0]

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


get(ids, fn)

根据ID获取Vehicle对象的详细信息

Parameters:
Name Type Description
ids string | array

要获取的Vehicle对象的Vehicle对象的ID或者ID数组(可以获取一个或者多个)

fn function

可选的回调函数,请参考二次开发:异步接口调用方式

Example
CustomObject的详细信息
[{
            "id":"vc1",
            "groupId": "car_main_road",
            "userData": "car_info",
            "coordinateType":0,
            "coordinate":[-1499.8984375, -2804.5328125000001,1],
            "assetPath":"/JC_CustomAssets/VehicleLibrary/Exhibition/SUV_01",
            "rotation":[0, -10, 0],
        }]

hide(ids, fn)

隐藏一个或多个Vehicle对象

Parameters:
Name Type Description
ids string | array

Vehicle对象的ID或者ID数组

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


moveTo(data, fn)

设置Vehicle对象行驶(根据实时获取的GPS数据运动)

Parameters:
Name Type Description
data object | array

数据结构,支持对象或数组,对于每一个对象支持以下属性:

  • id (string) Vehicle对象的ID

  • coordinate (array) 车辆移动目标点坐标:[X,Y,Z],取值示例,数组元素类型:(number),取值范围:[任意数值]

  • gear (number) 车辆档位:0驻车档 1倒挡 2空挡 3前进挡

  • time (number) 车辆移动耗时,单位:秒

fn function

可选的回调函数,请参考二次开发:异步接口调用方式

Example
数据结构示例

[{"id": "vc1","coordinate": [-1498, -2804,0],"gear": 3,"time": 1}]

pause(ids, fn)

暂停指定的载具运动

Parameters:
Name Type Description
ids string | array

Vehicle对象的ID或ID数组

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


resume(id, fn)

恢复指定的载具运动

Parameters:
Name Type Description
id string | array

Vehicle对象的ID或ID数组

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


setWayPoint(data, fn)

设置Vehicle对象行驶的路径点(已知路径点 轨迹动画)

Parameters:
Name Type Description
data object | array

数据结构,支持对象或数组,对于每一个对象支持以下属性:

  • id (string) Vehicle对象的ID

  • wayPoints (array) 载具运动的路径点数组,数组每一个元素的对象属性如下:

    timeStamp {number} 时间,单位:秒

    coordinate {array} 路径点坐标:[X,Y,Z],取值示例,数组元素类型:(number),取值范围:[任意数值]

    gear {number} 车辆档位:0驻车档 1倒挡 2空挡 3前进挡

fn function

可选的回调函数,请参考二次开发:异步接口调用方式

Example
数据结构示例
[{
        "id": "vc1",
        "wayPoints": 
            [
                {
                    "timeStamp": 0,
                    "coordinate": [-1498,-2804,0],
                    "gear": 3
                },
                {
                    "timeStamp": 1,
                    "coordinate": [-1469,-2800,0],
                    "gear": 3
                    
                },
                {
                    "timeStamp": 2,
                    "coordinate": [-1465,-2783,0],
                    "gear": 3
                    
                }
            ]
        }]

show(ids, fn)

显示一个或多个Vehicle对象

Parameters:
Name Type Description
ids string | array

Vehicle对象的ID或者ID数组

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


start(data, fn)

启动指定的载具在某个时刻开始运动

Parameters:
Name Type Description
data object | array

数据结构,支持对象或数组,对于每一个对象支持以下属性:

  • id (string) Vehicle对象的ID
  • timeStamp (number) Vehicle对象开始运动的时间
fn function

可选的回调函数,请参考二次开发:异步接口调用方式

Example
请求参数结构示例
以下参数表示三辆载具开始运动,v1第一秒开始运动,v2第五秒开始运动,v3第七秒开始运动
[
{"id":"vc1","timeStamp":1},
{"id":"vc2","timeStamp":5},
{"id":"vc3","timeStamp":7}
]

stop(ids, fn)

停止指定的载具运动

Parameters:
Name Type Description
ids string | array

Vehicle对象的ID或ID数组

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


update(data, fn)

修改一个或多个Vehicle对象

Parameters:
Name Type Description
data object | array

Vehicle对象或者数组,请参考add方法

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


updateBegin()

用于批量多次修改对象的属性

在开始修改之前调用updateBegin,然后可以多次调用setXXX方法,最后调用updateEnd提交修改更新数据
注意:
updateBegin不是异步调用,不需要await,也没有回调函数参数

Inherited From:
Overrides:
Example
fdapi.xxx.updateBegin();
for (let i = 0; i < 1000; i++) {
     fdapi.xxx.setColor(i, Color.Yellow);
} 
fdapi.xxx.updateEnd(function () {
     log('update finished!');
});

updateEnd(fn)

用于批量多次修改对象的属性,与updateBegin配套使用
注意:
updateEnd是异步调用,可以用回调函数也可以await

Parameters:
Name Type Description
fn function

可选的回调函数,请参考二次开发:异步接口调用方式

Inherited From:
Overrides: