npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

vue-vehicle-track-drawer

v1.0.1

Published

\# vue-vehicle-track-drawer Vue 3 车辆轨迹播放组件。

Downloads

11

Readme

# vue-vehicle-track-drawer Vue 3 车辆轨迹播放组件。

支持抽屉/弹窗两种模式,可自定义轨迹样式和播放速度,基于高德地图和 Element Plus 开发。

特性

  • 支持抽屉(drawer)和弹窗(dialog)两种显示模式 -
  • 可自定义轨迹线颜色、宽度和车辆图标 -
  • 灵活配置播放速度和倍速选项 - 提供轨迹播放、暂停、进度控制功能 -
  • 支持轨迹打印功能 - 适配不同屏幕尺寸,
  • 响应式布局
  • 安装组件 npm install vue-vehicle-track-drawer --save
  • 安装依赖(确保已安装) npm install element-plus @element-plus/icons-vue @amap/amap-jsapi-loader vue --save

特性

全局引入

import { createApp } from 'vue';
import App from './App.vue';
import VehicleTrackDrawer from 'vue-vehicle-track-drawer';
import ElementPlus from 'element-plus';
import 'element-plus/dist/index.css';

const app = createApp(App);
app.use(ElementPlus);
app.use(VehicleTrackDrawer);
app.mount('#app');

Props 配置

| 参数名 | 类型 | 默认值 | 说明 | | ------------ | ------- | ------------------- | ---------------------------------------------------- | | title | String | ' 用车轨迹' | 组件标题 | | visible | Boolean | false | 控制组件显示 / 隐藏(v-model) | | mode | String | 'drawer' | 显示模式,可选值:'drawer'(抽屉)、'dialog'(弹窗) | | size | String | '70%' | 抽屉模式下的尺寸 | | dialogSize | String | '80%' | 弹窗模式下的尺寸 | | draggable | Boolean | true | 是否支持拖拽 | | modal | Boolean | true | 弹窗模式下是否显示遮罩层 | | mapId | String | 'vehicle-track-map' | 地图容器 ID(避免重复) | | mapKey | String | - | 高德地图开发者 Key(必填) | | showControl | Boolean | true | 是否显示播放控制栏 | | showFooter | Boolean | true | 是否显示底部按钮栏 | | printSize | String | '794px' | 打印模式下的尺寸 | | defaultSpeed | Number | 1 | 默认播放速度 | | speedOptions | Array | 见下方说明 | 倍速选项配置 | | styles | Object | 见下方说明 | 样式配置 | | trackPoints | Array | [] | 轨迹点数据(必填) |

speedOptions 默认值

javascript

[
  { label: '0.5x', value: 0.5 },
  { label: '1x', value: 1 },
  { label: '2x', value: 2 },
  { label: '3x', value: 3 },
  { label: '4x', value: 4 }
]

styles 默认值

javascript

{
  fullTrackColor: '#e5e7eb',  // 完整轨迹颜色
  movingTrackColor: '#4096ff',// 已行驶轨迹颜色
  trackWidth: 6,              // 轨迹线宽度
  carIcon: undefined          // 车辆图标,默认使用高德地图标记
}

trackPoints 数据结构

javascript

[
  {
    lng: Number,         // 经度(必填)
    lat: Number,         // 纬度(必填)
    speedKph?: Number,   // 速度(km/h,可选)
    deviceTime?: String  // 时间(可选)
  },
  // 更多轨迹点...
]

事件

| 事件名 | 说明 | 回调参数 | | --------------- | ------------------ | --------------------- | | close | 组件关闭时触发 | - | | print | 点击打印按钮时触发 | - | | progress-change | 进度变化时触发 | 进度值(Number) | | play-status | 播放状态变化时触发 | 是否播放中(Boolean) |

方法

通过 ref 可以调用组件内部方法:

vue

<template>
  <vehicle-track-drawer ref="trackRef" ... />
</template>

<script setup>
import { ref } from 'vue';

const trackRef = ref(null);

// 示例:手动触发播放
const startPlay = () => {
  trackRef.value.handlePlay();
};
</script>

| 方法名 | 说明 | 参数 | | -------------- | ------------ | ---------------- | | initMap | 初始化地图 | - | | handlePlay | 开始播放轨迹 | - | | handleStop | 停止播放轨迹 | - | | updatePosition | 更新轨迹位置 | 进度值(Number) |

样式定制

组件支持通过深度选择器(:deep ())覆盖默认样式:

css

/* 自定义控制栏样式 */
:deep(.control-bar) {
  background: rgba(0, 0, 0, 0.7);
}

/* 自定义滑块样式 */
:deep(.el-slider__runway) {
  background-color: #666;
}

注意事项

  1. 高德地图 Key 需要自行申请(高德开放平台
  2. 确保轨迹点数据格式正确,至少包含 lnglat 字段
  3. 组件依赖 Element Plus,需确保项目中已正确引入
  4. 车辆图标建议使用 32x32 像素的 PNG 图片,确保显示效果

版本更新日志

1.0.0

  • 初始版本发布,支持抽屉 / 弹窗模式切换、轨迹播放控制、样式自定义等功能

License

zjhs

基础用法