npm 包 @afsharnia/vessel-tracking-ui 使用教程

阅读时长 8 分钟读完

简介

@afsharnia/vessel-tracking-ui 是一款基于 Vue.js 的前端组件库,旨在为船舶追踪应用提供丰富的可视化和交互效果。

该组件库包含了多个组件,如船舶轨迹图表、船舶定位地图、船舶列表等,并且提供灵活的配置选项,方便集成到各种不同的应用场景中。

安装

可以通过 npm 进行安装:

也可以通过 yarn 进行安装:

使用

引入组件库

在需要使用该组件库的页面或组件中,通过以下方式引入该组件库:

注意: 该组件库依赖于 Vue.js 2.x 版本,请在项目中先安装 Vue.js 并且版本号要与组件库兼容。

使用组件

在页面或组件中使用该组件库提供的组件,比如船舶定位地图组件:

-- -------------------- ---- -------
----------
  -----
    ------ ------ -------- --------
    ----------- ------------------ --
  ------
-----------

--------
------ ------- -
  ---- -- -
    ------ -
      -------- -
        - --- -- ----- ------- --- ---- ------ ---- ----- --
        - --- -- ----- ------- --- ---- ------ ---- ------ --
        - --- -- ----- ------- --- ---- ------ ---- ------ -
      -
    -
  -
-
---------

该代码示例中,我们使用了 vessel-map 组件,并且传入了一个 vessels 属性,该属性是一个数组,代表了需要在地图上展示的船舶列表。每个船舶对象包含 idnamelatlng 四个属性,其中 id 是必填项,其他三个属性可以根据需要自行设置。

各组件介绍

该组件库包含多个组件,下面对几个主要组件进行简单介绍。

vessel-map

该组件是一个基于 Leaflet.js 的船舶定位地图组件,可在地图上展示船舶的实时位置、运动轨迹等信息。同时,该组件也提供了多种地图样式和交互效果的配置选项,以方便适配不同的应用场景。

属性
  • vessels: 船舶列表,包含每个船舶的位置信息、ID 和名称。
  • showVesselLabel: 是否显示船舶名称标签,默认值为 true
  • center: 地图中心点坐标,格式为 [lat, lng],默认值为 [0, 0]
  • zoom: 地图缩放级别,范围为 0~20,默认值为 8
  • minZoom: 地图最小缩放级别,范围为 0~20,默认值为 2
  • maxZoom: 地图最大缩放级别,范围为 0~20,默认值为 18
  • attributionControl: 地图是否显示版权信息,默认值为 true
  • zoomControl: 地图是否显示缩放控制,默认值为 true
  • dragging: 地图是否支持拖拽移动,默认值为 true
  • scrollWheelZoom: 地图是否支持鼠标滚轮缩放,默认值为 true
  • doubleClickZoom: 地图是否支持双击鼠标缩放,默认值为 true
  • boxZoom: 地图是否支持框选缩放,默认值为 true
  • keyboard: 地图是否支持键盘操作,默认值为 true
  • vesselIcon: 船舶图标配置,包含以下属性:
    • url: 图标文件地址。
    • width: 图标宽度。
    • height: 图标高度。
    • anchor: 锚点位置,格式为 [x, y],默认值为 [0.5, 0.5]
  • trailColorMap: 轨迹颜色映射表,是一个从船舶 ID 到颜色值的映射对象,用于给不同的船舶轨迹设置不同的颜色。默认值为一个空对象 {}
  • showTrail: 是否显示船舶运动轨迹,默认值为 true
  • trailMinPoints: 轨迹线最少点数,用于设置当船舶运动轨迹的点数少于该值时,不展示该船舶的轨迹线。默认值为 2

注意: 船舶位置信息中,lat 是纬度,lng 是经度,需要根据实际情况设置。

vessel-chart

该组件是一个船舶轨迹图表组件,可展示多艘船在同一时间范围内的轨迹数据,以及船舶的速度和方向等信息。

属性
  • vesselData: 船舶数据,包含每个船舶的轨迹点数据、名称、ID。
  • timeRange: 时间范围,定义了需要展示的数据的时间周期。
  • maxSpeed: 最大速度,用于计算船舶的速度百分比,即当前速度除以该值得到的结果乘以 100 作为百分比值,在图表中进行展示。默认值为 20

vessel-list

该组件是一个船舶列表组件,可展示多艘船舶的位置、速度和状态等信息。

属性
  • vessels: 船舶列表,包含每个船舶的位置和速度等信息。
  • showStatus: 是否显示船舶的状态信息,默认值为 true
  • statusMap: 状态图标映射表,是一个从状态值到图标地址的映射对象,用于根据不同的状态值展示对应的图标。默认值为一个空对象 {}

示例代码

下面是一个包含了以上三个主要组件的完整示例,展示了如何使用 @afsharnia/vessel-tracking-ui 组件库来实现一个简单的船舶追踪应用。

-- -------------------- ---- -------
----------
  -----
    ------ ------ -------- --------
    ---- ------------
      ---- -----------------
        ----------- ------------------ --
      ------
      ---- -----------------
        ------------- ------------------------ ---------------------- --
        ------------ ------------------ --
      ------
    ------
  ------
-----------

--------
------ ------- -
  ---- -- -
    ------ -
      -------- -
        - --- -- ----- ------- --- ---- ------ ---- ------ ------ --- ------- -------- --
        - --- -- ----- ------- --- ---- ------ ---- ------- ------ --- ------- --------- --
        - --- -- ----- ------- --- ---- ------ ---- ------- ------ --- ------- ----- -
      --
      ----------- -
        ---- -
          - ---- ----- ---- ---- ----- ----------- --------- --
          - ---- ----- ---- ------ ----- ----------- --------- --
          -- ---
        --
        ---- -
          - ---- ----- ---- ------ ----- ----------- --------- --
          - ---- ----- ---- ------ ----- ----------- --------- --
          -- ---
        --
        -- ---
      --
      ---------- -
        ------ ----------- ----------
        ---- ----------- ---------
      -
    -
  -
-
---------

-------
---- -
  ------- ---- --
-
--------- -
  ------------- -----
-
--------

指导意义

本文介绍了 @afsharnia/vessel-tracking-ui 组件库的使用教程,通过该组件库,我们可以快速实现一个可视化、交互性强的船舶追踪应用,从而提高运输和物流等领域的效率和安全性。

同时,本文也给出了具体的代码示例和组件属性说明,通过学习和掌握这些内容,我们可以更好地理解和使用该组件库,同时也可以借鉴其中的思路和方法,应用到其他的前端开发工作中。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/116394