Class: Marker3D

Marker3D

动态标记,实现对3D标注对象的操作
一般通过api.marker3d调用其方法


new Marker3D()

See:

Extends

Methods


add(data, fn)

添加一个或多个动态标记

Parameters:
Name Type Description
data object | array

动态标记的数据,可以是Object类型或者Array类型,对于每一个3D标注点,支持以下属性:

  • id (string) 3D标注的唯一标识符

  • groupId (string) 可选,Group分组

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

  • text (string) 3D标注显示文字,字符长度范围[0~100]

  • textSize (number) 3D标注显示文字字体大小,默认值:70

  • textColor (Color) 3D标注显示文字颜色,支持四种格式,取值示例

  • textOutlineSize (number) 3D标注显示文字轮廓大小

  • textOutlineColor (Color) 3D标注显示文字轮廓颜色,支持四种格式,取值示例

  • textFixed (boolean) 3D标注显示文字是否固定文本朝向,默认值:true

  • textVisible (boolean) 3D标注显示文字是否显示文本,默认值:true

  • textLocation (array) 文字位置:[X,Y,Z],取值示例,数组元素类型:(number),取值范围:[任意数值]

  • textRotation (array) 文字旋转:[Pitch,Yaw,Roll],数组元素类型:(number),取值范围:[任意数值]

  • textScale (array) 文字缩放:[X,Y,Z],数组元素类型:(number),取值范围:[任意正整数]

  • pointName (string) 3D标注展示的特效名称,取值详见Explorer资源面板->动态标记下的显示名称,取值示例:Point_B_特效编号

  • pointVisible (boolean) 3D标注是否显示,默认值:true

  • pointScale (number) 3D标注整体缩放比例,取值范围:[0.01,任意正数]

  • coordinate (array) 3D标注的位置坐标: [X,Y,Z],取值示例

  • coordinateType (number) 3D标注的坐标系类型,取值范围:0为Projection类型,1为WGS84类型,2为火星坐标系(GCJ02),3为百度坐标系(BD09),默认值:0

  • range (array) 3D标注的可视距离范围:[min,max],单位:米

  • autoHeight (boolean) 自动判断下方是否有物体,设置正确高度,默认值:false

fn function

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


clear(fn)

清空场景中所有的3D标注

Parameters:
Name Type Description
fn function

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


delete(ids, fn)

删除一个或多个3D标注对象

Parameters:
Name Type Description
ids string | array

要删除的3D标注对象的ID或者ID数组(可以删除一个或者多个)

fn function

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


deleteByGroupId(groupId, fn)

根据分组ID删除动态标注

Parameters:
Name Type Description
groupId string

动态标注创建时指定的分组ID

fn function

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


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

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

Parameters:
Name Type Description
ids string | array

3D标注对象的ID或者ID数组

distance number

可选参数,观察点距离目标点(被拍摄物体)的距离,取值范围:[0.01~任意正数],如果设置为0或者不设置,系统自动计算

flyTime number

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

rotation array

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

fn function

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


get(ids, fn)

根据ID获取3D标注的详细信息

Parameters:
Name Type Description
ids string | array

要获取的3D标注对象ID或者ID数组(可以获取一个或者多个)

fn function

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

Example
返回3DMarker的详细信息
{
        "id": "m1",
        "text": "3DMarker-Add",//3D标注显示文字
        "textSize" : 18,//3D标注显示文字大小
        "textColor ": Color.Blue,//3D标注显示文字颜色
        "textOutlineSize": 1,//3D标注显示文字轮廓大小
        "textOutlineColor" : Color.Black,// 3D标注显示文字轮廓颜色
        "textFixed": true,// 3D标注显示文字是否固定文本朝向
        "textVisible": true,//3D标注显示文字是否显示文本
        "textLocation": [0,0,0],// 文字位置
        "textRotation": [0,0,0],// 文字旋转
        "textScale": [1,1,1],// 文字缩放
        "pointName": "Point_B_1",//3D标注展示的特效名称
        "pointVisible": true,//3D标注是否显示
        "pointScale": 5,//3D标注整体缩放比例
        "coordinate": [0, 0, 10]//3D标注的位置坐标
    }

hide(ids, fn)

隐藏3D标注

Parameters:
Name Type Description
ids string | array

3D标注对象的ID或者ID数组

fn function

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


hideAll(fn)

隐藏所有3D标注

Parameters:
Name Type Description
fn function

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


hideByGroupId(groupId, fn)

根据分组ID隐藏动态标注

Parameters:
Name Type Description
groupId string

动态标注创建时指定的分组ID

fn function

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


show(ids, fn)

显示3D标注

Parameters:
Name Type Description
ids string | array

3D标注对象的ID或者ID数组

fn function

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


showAll(fn)

显示所有3D标注

Parameters:
Name Type Description
fn function

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


showByGroupId(groupId, fn)

根据分组ID显示动态标注

Parameters:
Name Type Description
groupId string

动态标注创建时指定的分组ID

fn function

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


update(data, fn)

修改一个或多个3D标注对象

Parameters:
Name Type Description
data data | array

3D标注点的数据,参考add方法

fn function

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


updateBegin()

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

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

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

updateEnd(fn)

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

Parameters:
Name Type Description
fn function

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

Inherited From:
Overrides: