Class: MarkerLayer

MarkerLayer

标注图层对象:一共分三个层级,第三层级为圆形标记点,第二层级为标记图片,第一层级为标注Marker
一般通过api.markerLayer调用其方法
MarkerLayer标注点的效果图:


new MarkerLayer()

See:

Extends

Methods


add(data, fn)

添加一个或多个标注图层服务对象

Parameters:
Name Type Description
data object | array

标注图层对象包含的数据结构,可以是Object类型或者Array类型,对于每一个对象,支持以下属性:

  • id (string) 标注图层对象的唯一标识符

  • groupId (string) 可选,Group分组

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

  • range (array) 标注图层对象三段可视范围,共分三段: [minDis,lod1Dis,lod2Dis,maxDis],第一段近距离(标记点Marker):[minDis,lod1Dis],第二段中距离(标记图片):[lod1Dis,lod2Dis],第三段远距离(圆形标记点):[lod2Dis,maxDis]

  • viewHeightRange (array) 可见高度范围:[最小可见高度, 远最大可见高度],默认值: [-1000000000, 1000000000]

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

  • fixedSize (boolean) 第二层级标注图片是否固定尺寸,取值范围:false 自适应,近大远小,true 固定尺寸,默认值:false

  • color (Color) 球面的颜色,默认值:黑色Color.Black,支持四种格式,取值示例

  • radius (number) 球面的半径,默认值:1米

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

  • anchors (array) 锚点: [x, y],设置MarkerLayer的整体偏移,取值规则和imageSize设置的宽高有关,图片的左上角会对准标注点的坐标位置。示例设置规则:x=-imageSize.width/2,y=imageSize.height

  • textRange (array) 文本可视范围: [近裁距离, 远裁距离],默认值: [100, 6000]

  • fixedSize (boolean) 图片是否固定尺寸,取值范围:false 自适应,近大远小,true 固定尺寸,默认值:false

  • useTextAnimation (boolean) 是否打开文字展开动画效果,默认值:true

  • textOffset (array) 文本偏移: [x, y],默认值:[0,0]

  • fontSize (number) 字体大小,默认值:12

  • fontOutlineSize (number) 字体轮廓线大小,默认值:1

  • textBackgroundColor (Color) 文本背景颜色,默认值白色[1, 1, 1, 0.85],支持四种格式,取值示例

  • fontColor (Color) 字体颜色,默认值:黑色Color.Black,支持四种格式,取值示例

  • fontOutlineColor (Color) 字体轮廓线颜色,默认值:黑色Color.Black,支持四种格式,取值示例

  • popupBackgroundColor (Color) 弹窗背景颜色, [1.0,1.0,1.0,0.1] ,支持四种格式,取值示例

  • popupSize (array) 弹窗大小: [width, height],默认值:[600,400]

  • popupOffset (array) 弹窗偏移: [x, y],默认值:[0,0]

  • autoHidePopupWindow (boolean) 是否自动关闭弹出窗口,默认值:true

  • displayMode (number) 显示模式,默认值:4,取值说明如下:

    0:相机移动不显示,参与避让聚合


    1:相机移动时显示,参与避让聚合


    2:相机移动时显示,不参与避让聚合


    3:相机移动时不显示,不参与避让聚合


    4:智能模式,根据当前相机高度自动适配以上模式,类似金字塔lod加载效果,内置默认规则:range范围的1%内取值2,大于1%小于10%取值1,大于10%取值0

  • clusterByImage (boolean) 聚合时是否根据图片路径(imagePath)分类聚合显示,即当多个markerLayer的imagePath路径参数相同时按路径对markerLayer分类聚合

  • priority (number) 避让优先级,默认值:0

  • occlusionCull (boolean) 是否参与遮挡剔除

  • markers (array) 标注图层对象包含的标记点对象或数组,可以是Object类型或者Array类型,对于每一个对象,支持以下属性:

    id (string) 必选,标记点的ID

    coordinate (array) 标注点的位置坐标: [x, y, z],取值示例

    text (string) 显示的文字

    popupURL (string) 弹窗HTML链接或者视频文件路径,也支持实时流媒体视频地址,资源引入说明

    imagePath (string) 图片路径,支持gif动图,支持本地路径和网络路径,资源引入说明

    imageSize (array) 图片的尺寸: [width, height], 默认值[32,32]

    hoverImagePath (string) 鼠标悬停时显示的图片路径,支持gif动图,支持本地路径和网络路径,资源引入说明

    hoverImageSize (array) 鼠标悬停时显示的图片尺寸: [width, height], 默认值:[0,0] 使用图片自身的尺寸,注意:如果设置的值比imageSize尺寸小,则默认使用imageSize的尺寸。

fn function

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


clear(fn)

删除场景中所有的标注图层对象

Parameters:
Name Type Description
fn function

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


delete(ids, fn)

删除一个或多个标注图层对象

Parameters:
Name Type Description
ids string | array

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

fn function

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


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

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

Parameters:
Name Type Description
ids string | array

标注图层对象的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

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


focusByMarkerId(id, markerId, distance, flyTime, rotation, fn)

自动定位到内部标记点合适的观察距离

Parameters:
Name Type Description
id string

定位到的标注图层对象的ID

markerId string

定位到的标注图层对象内部标记点marker的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

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


hide(ids, fn)

隐藏标注图层对象

Parameters:
Name Type Description
ids string | array

标注图层对象的ID或者ID数组

fn function

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


hideAll(fn)

隐藏所有标注图层对象

Parameters:
Name Type Description
fn function

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


setViewHeightRange(id, minViewHeight, maxViewHeight, fn)

设置标注图层对象的可视高度范围

Parameters:
Name Type Description
id string

标注图层对象的ID

minViewHeight number

可视高度范围最小值,取值范围:[任意负数~任意正数],单位:米

maxViewHeight number

可视高度范围最大值,取值范围:[任意负数~任意正数],单位:米

fn function

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


show(ids, fn)

显示标注图层对象

Parameters:
Name Type Description
ids string | array

标注图层对象的ID或者ID数组

fn function

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


showAll(fn)

显示所有标注图层对象

Parameters:
Name Type Description
fn function

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


update(data, fn)

修改一个或多个标注图层对象

Parameters:
Name Type Description
data data | array

标注图层对象包含的数据结构,参考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: