TargetLayer(options)

new TargetLayer(options)

目标图层

Parameters:
Name Type Description
options Object
Properties
Name Type Attributes Description
url string

数据源,Ais服务器地址

layerRect Object <optional>

Ais显示范围,例如{x:-20029493.339452129,y:-21388008.625504356, w:40058986.678904258, h:42776017.251008712}

map Map <optional>

海图Map对象,未设置时需要调用Map.addLayer(layer)来添加到Map显示

showCogLine boolean <optional>

是否显示航向线

showCogLineTime Number <optional>

航向线显示时长

showHdg boolean <optional>

是否显示船首向

showHdgLen Number <optional>

船首向线的长度,单位米

Extends

Methods

Parent(painter, viewport)

绘制图层物标

Parameters:
Name Type Description
painter Painter

画笔

viewport MercatorViewport

视窗

Overrides:

clearItem()

清空物标

Overrides:

clearItems()

清空所有物标

Overrides:

count() → {Number}

获取目标数量

Returns:
Number -

目标数量

delete()

删除目标图层

Overrides:

getItem(id) → {TargetItem}

获取目标数据

Parameters:
Name Type Description
id String

目标ID

Returns:
TargetItem -

目标对象

getItemByIndex(index) → {TargetItem}

根据索引获取数据

Parameters:
Name Type Description
index Number

索引

Returns:
TargetItem -

目标对象

getItemIndex(id) → {Number}

Parameters:
Name Type Description
id String

目标ID

Returns:
Number -

目标索引值

getLayerRect() → {Array.<Number>}

获取图层所占区域范围

Returns:
Array.<Number> -

图层所占区域范围

Overrides:

getParameter() → {Object}

获取配置参数

Returns:
Object -

参数对象

getSelectedItems() → {Array.<SceneItem>}

获取选中的目标列表

Returns:
Array.<SceneItem> -

目标列表

getVisible() → {Boolean}

获取图层显示状态

Returns:
Boolean -

显示状态

Overrides:

getZIndex() → {Number}

获取图层叠放次序

Returns:
Number -

层级

Overrides:

itemAt(x, y) → {SceneItem}

某点上最上层的目标

Parameters:
Name Type Description
x Number

X轴坐标(EN)

y Number

Y轴坐标(EN)

Returns:
SceneItem -

物标对象

Overrides:

items() → {Array.<SceneItem>}

获取场景中所有物标

Returns:
Array.<SceneItem> -

物标列表

Overrides:

itemsAtCircle(x, y, r, mode) → {Array.<SceneItem>}

获取圆形区域内的目标

Parameters:
Name Type Default Description
x Number

X轴坐标(EN)

y Number

Y轴坐标(EN)

r Number

半径

mode Number 1

相交模式

Returns:
Array.<SceneItem> -

目标列表

Overrides:

itemsAtEllipse(x, y, rx, ry, mode) → {Array.<SceneItem>}

获取椭圆区域内的目标

Parameters:
Name Type Default Description
x Number

X轴坐标(EN)

y Number

Y轴坐标(EN)

rx Number

长半轴

ry Number

短半轴

mode Number 1

相交模式

Returns:
Array.<SceneItem> -

目标列表

Overrides:

itemsAtPoint(x, y, mode) → {SceneItem}

获取指定位置的物标

Parameters:
Name Type Default Description
x Number

X轴坐标(EN)

y Number

Y轴坐标(EN)

mode Number 1

选择模式

Returns:
SceneItem -

物标

Overrides:

itemsAtPolygon(polygon, mode) → {Array.<SceneItem>}

获取多边形区域内的目标

Parameters:
Name Type Default Description
polygon Polygon

多边形坐标数据

mode Number 1

相交模式

Returns:
Array.<SceneItem> -

目标列表

Overrides:

itemsAtRect(rect, mode) → {Array.<SceneItem>}

获取矩形区域内的目标

Parameters:
Name Type Default Description
rect Rect

矩形坐标数据

mode Number 1

相交模式

Returns:
Array.<SceneItem> -

目标列表

Overrides:

on(key, fun)

事件监听

Parameters:
Name Type Description
key string

事件名称

fun function

监听回调

Example
事件如下:
| 事件名称      | 参数          | 描述         |
| ------------ | ------------- | ----------- |
| additem      | item:目标对象 | 新增目标     |
| removeitem   | item:目标对象 | 删除目标     |
| updateitem   | item:目标对象 | 更新目标     |
| clear        | item:目标对象 | 清空所有目标  |
| selectitem   | item:目标对象 | 选中目标     |
| hoveredenter | item:目标对象 | 鼠标移入目标  |
| hoveredleave | item:目标对象 | 鼠标移出目标  |

var targetLayer = new HdMap.TargetLayer({
     url: "ws://target.haohaidata.com:8878",
     map: map,
})
targetLayer.on('selectitem', (item) => {
  console.log(item) //item: 目标
})

removeItem(item)

删除物标

Parameters:
Name Type Description
item SceneItem | Array.<SceneItem>

物标对象

Overrides:

setLayerRect(rect)

设置图层所在区域范围

Parameters:
Name Type Description
rect Array.<Number>

图层所在范围

Overrides:

setParameter(params)

设置目标显示参数

Parameters:
Name Type Description
params Object

参数对象

Properties
Name Type Description
showCogLine Boolean

是否显示航速

showCogLineTime Number

航线时长

showHdg Boolean

是否显示船首向

showHdgLen Number

船首向长度

setSelected(id, bSelected)

设置选中状态

Parameters:
Name Type Description
id String

目标ID

bSelected Boolean

是否选中

setVisible(bvisible)

设置图层显示状态

Parameters:
Name Type Description
bvisible Boolean

显示状态

Overrides:

setZIndex(z)

设置图层叠放次序

Parameters:
Name Type Description
z Number

层级

Overrides:

update()

更新图层

Overrides:

updateMinScale(pixLenX, pixLenY, minz, maxZ)

通过像素值,重新计算目标显示最小层级,为了使目标不重叠显示

Parameters:
Name Type Default Description
pixLenX Number 64

目标间隔(x方向像素)

pixLenY Number 16

目标间隔(y方向像素)

minz Number 1

最小显示层级

maxZ Number 18

最大显示层级

Overrides: