Class: CanvasShipService

ShipxyAPI. CanvasShipService


船位展示服务实现类

new CanvasShipService(map, options)
船位展示服务实现类
Parameters:
Name Type Description
map L.Map 地图对象
options Object 设置
Properties:
Name Type Description
options Object
Properties
Name Type Description
isAutoUpdateSrvtime Object 是否自动更新srvtime,默认:true
enableAreaShip Object 是否自动刷新区域船,默认:true
enableFleetShip Object 是否自动刷新关注船,默认:true
enableDShip Object 是否自动刷新D+船,默认:false
enableTracks Object 是否显示近期轨迹,默认:true
enableSelectedShip Object 是否自动刷新选中船,默认:false
dShipColor Object D+船颜色,默认:#ff6347
topLabelZoom Object 顶层船从第几级开始显示标签,默认:1
generalLabelZoom Object 普通船,从第几级开始显示标签,默认:13
weixingLabelZoom Object 卫星船,从第几级开始显示标签,默认:1
delayTime Object 刷新间隔时间,单位:毫秒
bounds Object 指定区域船,显示区域,默认是地图可视范围
zoomLevel_data Object 默认值:9,zoom小于等于该值,不检索数据
zoomLevel_base Object 默认值:9,zoom大于该值,用于船舶分组:baseShips
lableRotate Object lable旋转角度,默认值:undefined
lableTxtColorMapTypeDark Object 船舶名称文字颜色用,深色瓦片定义,默认:["MT_SATELLITE", "MT_ESRI", "MT_WEIRUANWEIXING"]
lableTxtColor Object 船舶名称,文字颜色,默认值:["#000","#fff"]
lableFont Object 船舶名称,文字字体,默认值:["'600 12px Arial'", "'500 12px Arial'"]
lableLineColor Object 船舶名称,文字线框颜色,默认值:["#000","#000"]
monitorShips Object 安装有视频监控的船舶列表,mmsi列表
getAreaShipsCallBack Object 区域船外部数据回调,返回CanvasShip对象数组,默认值:undefined
drawShipsEndCallBack Object 默认值:undefined,绘制区域船后回调,返回对象:{count:number},
shipSizeZoom Object 船舶缩放比例,默认值:1
shipOptions Object 船舶模型设置
tooltip_fields Object tooltip 显示字段设置
drawBaseShipsGridZoom Object 级别,0.1°网格显示船舶数量限制级别,默认:[]
drawBaseShipsGridMax Object 数量,0.1°网格显示船舶数量限制数量,默认:[],大于0生效
drawBaseShipsGridSize Object 缩放级别对应的网格大小,默认:[],默认:0.5
drawBaseShipsGridMaxCount Object 绘制船大于该数量,开启网格抽稀绘制,默认:0,大于0生效
areaShipsDataGridSize Object 网格化存储,网格大小,默认:0.05
Example
new ShipxyAPI.CanvasShipService(map, {enableAreaShip: true,enableFleetShip: true, delayTime: 5000});

Methods


1、添加船舶

<static> addShips(ships)
添加船舶,更新缓存,并绘制。
Parameters:
Name Type Description
ships Array 船舶数组,[CanvasShip],船舶属性必填项有:shipid、mmsi、lat、lng

2、删除船通过船舶ID

<static> deleteShipByShipID(shipsid)
删除船通过船舶ID,船舶ID是,字符串,或逗号分割的字符串,或数组。
Parameters:
Name Type Description
shipsid string | array 船舶ID(字符串|逗号分割的字符串|数组)

3、删除所有船舶

<static> removeAllShips()
删除所有船舶(清空画布、清空数据缓存)

4、添加关注船

<static> addFleetShips(ships)
添加关注船
Parameters:
Name Type Description
ships Array 船舶数组,[CanvasShip],船舶属性必填项有:shipid、mmsi、lat、lng

5、删除指定的关注船

<static> deleteFleetShips(ships)
删除指定的关注船,根据MMSI
Parameters:
Name Type Description
ships Array 船舶mmsi数组,为空则删除所有关注船

6、删除所有关注船船舶

<static> deleteAllFleetShips()
删除所有关注船船舶(清空画布、清空数据缓存)

7、删除所有区域船船舶

<static> deleteAllAreaShips()
删除所有区域船船舶(清空画布、清空数据缓存)

8、船舶定位

<static> locationShip(mmsi, isQueryURL)
船舶定位,根据MMSI查找,并在地图定位该船。
Parameters:
Name Type Description
mmsi String mmsi
isQueryURL String 缓存查不到,是否查询数据接口,默认:true
Returns:
Type
CanvasShip | null

9、获取船舶信息(通过MMSI)

<static> getShipByMmsi(mmsi, isQueryURL)
获取船舶信息,通过MMSI查询船舶信息,并返回结果。
Parameters:
Name Type Description
mmsi String mmsi
isQueryURL boolean 缓存中查不到数据,是否查询数据接口,默认:true
Returns:
Type
CanvasShip | null

10、获取船舶信息(通过船舶ID)

<static> getShipByShipid(shipid)
获取船舶信息,通过船舶ID,只查缓存中的船舶信息。
Parameters:
Name Type Description
shipid String 船舶ID
Returns:
Type
CanvasShip | null

11、设置船舶筛选条件

<static> setFilter(options)
设置船舶筛选条件
1、船舶类型
2、航速
3、船舶长度
4、船舶国籍
5、IMO是否合法
Parameters:
Name Type Description
options Object 过滤设置,满足设置的条件将显示船舶,否则不现实
Example
var options = {
   "shipType": "货船,油轮",
   "shipSog": "0,1",
   "shipLength": [[0, 40], [41, 80], [81, 160], [161, 240], [241, 320], [321, 9999]],
   "shipCountry": "0,1",// 0:中国(412、413、416),1:外国,空:全部
   "validIMO": false,// 是否校验IMO合法性
};
map.shipsService.setFilter(options);

12、获取船舶过滤条件

<static> getFilter()
获取船舶过滤条件
Returns:
Type
Object

13、添加选中船舶事件

<static> addSelectedListener(listener)
添加选中船舶事件,选中船舶时触发该事件
Parameters:
Name Type Description
listener function 回调方法,返回参数:{"shipid":"船舶唯一标识","mmsi":"船舶的mmsi"}

14、移除选中船舶事件

<static> removeSelectedListener()
移除选中船舶监听器

15、未选中船舶事件

<static> addUnSelectedListener(listener)
未选中船舶事件,鼠标单击,但未选中船舶时触发事件。
Parameters:
Name Type Description
listener function 回调方法

16、移除未选中船舶事件

<static> removeUnSelectedListener()
移除未选中船舶事件

17、添加选中船数据刷新事件

<static> addSelectedShipUpdateListener(listener)
添加选中船数据刷新事件,当选中船,数据更新时触发事件。
Parameters:
Name Type Description
listener function 回调方法,返回参数:{"shipid":"船舶唯一标识","mmsi":"船舶的mmsi"}

18、取消添加选中船数据刷新事件

<static> removeSelectedShipUpdateListener()
取消添加选中船数据刷新事件

19、是否开启D+船

<static> setEnableDShip(enableDShip)
是否开启D+船,提供D+船位数据展示的开启|关闭。
Parameters:
Name Type Description
enableDShip boolean 是否开启D+船

20、获取区域船显示状态

<static> getAreaShipShowStatus()
获取区域船显示状态
Returns:
Type
true | false

21、设置区域船显示状态

<static> setAreaShipShowStatus(isShow)
设置区域船显示状态,并执行重绘
Parameters:
Name Type Description
isShow Boolean 区域船是否可用

22、非选中船是否显示

<static> setNoSelShipIsShow(isShow, isRedrawShips)
非选中船是否显示,并执行重绘
Parameters:
Name Type Description
isShow boolean 是否显示
isRedrawShips boolean 是否重绘区域船

23、是否相应鼠标事件

<static> setPointerEvents(isEvent)
是否相应鼠标事件
Parameters:
Name Type Description
isEvent boolean true:响应,false:不响应;

24、设置选中船

<static> setSelectedShip(shipid)
设置选中船
Parameters:
Name Type Description
shipid Object 船舶shipId字符串或{shipid:shipid}对象

25、获取选中船

<static> getSelectedShip()
获取选中船
Returns:
船舶ID
Type
* | null

26、取消选中船

<static> cancelSelectedShip()
取消选中船

27、获取船舶类型

<static> getShipTypeOtherByArray(arr)
获取船舶类型数组(除参数指定之外的船舶类型,参数为空,返回全部)(AIS船舶类型)
Parameters:
Name Type Description
arr array 船舶类型,数组或逗号分割的字符串
Returns:
Type
array

28、设置船舶绘制图层层级

<static> setZIndex(zindex)
设置船舶绘制图层层级
Parameters:
Name Type Description
zindex number 层级

29、获取船舶绘制图层层级

<static> getZIndex()
获取船舶绘制图层层级(如不存在返回null)
Returns:
层级
Type
*

30、恢复默认船舶绘制图层层级

<static> restoreZIndex()
恢复默认船舶绘制图层层级(450)

31、更新设置的监控船列表

<static> updateMonitorShips(monitorShips, isAdd)
更新设置的监控船列表
Parameters:
Name Type Description
monitorShips 监控船列表
isAdd 是否追加 默认不追加,清除原有设置
Returns:
更新后的监控船舶列表
Type
Array

32、获取设置的监控船舶列表

<static> getMonitorShips()
获取设置的监控船舶列表
Returns:
设置的监控船舶列表
Type
Array

33、添加特殊船舶(置顶显示)

<static> addSpecialShips()
添加特殊船舶(置顶显示)

34、根据MMSI删除指定特殊船

<static> deleteSpecialShips(ships)
根据MMSI删除指定特殊船
Parameters:
Name Type Description
ships 特殊船舶MMSI