更新记录

1.0.1(2024-09-17) 下载此版本

1.0.1(2024-09-17)

1.优化组件的宽高可以自定义;

2.现在可以隐藏组件默认的日期范围选择器和播放控制面板,通过插槽可以插入自定义内容;

3.解决组件初始化时有时不显示地图的问题。

1.0.0(2023-11-14) 下载此版本

首个版本发布。


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× ×

组件功能

基于高德地图的轨迹回放。

文档

属性说明

属性名 类型 默认值 说明
mapWidth String '100%' 地图容器宽度(1.0.1版本新增),传入数值时要带上单位,例如:"50px"
mapHeight String '100%' 地图容器高度(1.0.1版本新增),传入数值时要带上单位,例如:"50px"
list Array null 轨迹数据,下面有详细说明
lngKey String lng 轨迹数据经度字段,用于解耦
latKey String lat 轨迹数据纬度字段,用于解耦
timeKey String time 轨迹数据时间字段,用于解耦
datePicker Boolean true 是否显示默认日期选框(1.0.1版本新增)
playPanel Boolean true 是否显示默认播放面板(1.0.1版本新增)
useJscode Boolean true 是否启用高德安全密钥jscode,默认启用
serviceHost String '' 代理服务器域名或地址,useJscode为true时生效
amapKey String 申请的高德地图Web端的key值,必传
@load-data EventHandle 组件初始化完成后或选中日期时间范围后触发,参数是一个具有开始和结束日期时间的对象:{ start: 'xxx', end: 'xxx'}
@update-trace-index EventHandle 轨迹回放时触发,参数是当前轨迹数据节点对应的下标
  • 为确保地图轨迹正常显示,请在load-data事件的回调函数中加载数据。

插槽说明

插槽名 类型 说明
default -- 覆盖在地图上的显示内容(1.0.1版本新增)

示例代码

<!-- 高德地图轨迹回放vue3 -->
<template>
  <view class="map-trace">
    <template v-if="list">
      <lk-amap-trace
        amap-key="xxx"
        service-host="http://localhost:8888/"
        :list="list"
        @load-data="loadData"
        @update-trace-index="getTraceIndex"
      ></lk-amap-trace>
    </template>
  </view>
</template>

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

  const list = ref([]) // 轨迹坐标节点
  const traceIndex = ref(-1) // 当前轨迹坐标节点下标

  const loadData = () => {
    list.value = Array.from({length: 10}, () => ({
      lng: (Math.random() * (135.083 - 73.55 + 1) + 73.55).toFixed(6), // 随机经度
      lat: (Math.random() * (53.55 - 3.85 + 1) + 3.85).toFixed(6) // 随机纬度
    }))
  }

  const getTraceIndex = index => traceIndex.value = index
</script>

<style lang="scss">
  .map-trace {
    height: 100%;
  }
</style>
<!-- 高德地图轨迹回放vue2 -->
<template>
  <view class="map-trace">
    <template v-if="list">
      <lk-amap-trace
        amap-key="xxx"
        service-host="http://localhost:8888/"
        :list="list"
        @load-data="loadData"
        @update-trace-index="getTraceIndex"
      ></lk-amap-trace>
    </template>
  </view>
</template>

<script>
  export default {
    data() {
      return {
        list: [],
        traceIndex: -1
      }
    },
    methods: {
      loadData() {
        this.list = Array.from({length: 10}, () => ({
          lng: (Math.random() * (135.083 - 73.55 + 1) + 73.55).toFixed(6), // 随机经度
          lat: (Math.random() * (53.55 - 3.85 + 1) + 3.85).toFixed(6) // 随机纬度
        }))
      },
      getTraceIndex(index) {
        this.traceIndex = index
      }
    }
  }
</script>

<style lang="scss">
  .map-trace {
    height: 100%;
  }
</style>

在线演示

在线演示地址

其他

组件难免有不足之处,欢迎各位老铁们批评指正,有任何问题都可以在评论区中留言。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无。

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无。

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问