当前位置: 首页 > news >正文

vue3使用leaflet+trackplayer实现非地图动画轨迹(市场平面图动态轨迹)

vue3使用leaflet+trackplayer实现非地图动画轨迹(市场平面图动态轨迹)

在这里插入图片描述

先下载 leaflet 和 leaflet-trackplayer两个主要库

leaflet官方文档

npm install leaflet 
npm install leaflet-trackplayer

然后在页面中引用

html

<template><button @click="playMap">播放</button><div id="map"></div>
</template>

js

import L from 'leaflet';
import 'leaflet/dist/leaflet.css';
import 'leaflet-trackplayer';

引用完成后我们开始写主要逻辑

<script setup>
import L from 'leaflet';
import 'leaflet/dist/leaflet.css';
import 'leaflet-trackplayer';
import { onMounted, ref } from 'vue';
//背景图遮盖地图的图片(市场图片)
function getImageUrl() {return new URL(`./map.png`, import.meta.url).href;
}
//trackplayern播放器
let track = null;
//测试的点位
const testList = ref([]);
//生命周期挂载
onMounted(() => {let bounds = [[34.255, 108.885], // 左上角的坐标[34.27, 108.918], // 右下角的坐标];//创建地图对象let map = L.map('map', { attributionControl: false });//添加地图图层L.imageOverlay(getImageUrl(), bounds).addTo(map);//模拟一段轨迹数据 (真实经纬度地址哦~)let path = [ { lat: 34.257766231787095, lng: 108.90156984329225 },{ lat: 34.257854907014014, lng: 108.90483140945435 },{ lat: 34.257854907014014, lng: 108.90822172164918 },{ lat: 34.260745668218206, lng: 108.90820026397706 },{ lat: 34.26298017628813, lng: 108.90813589096071 },{ lat: 34.262944708369695, lng: 108.90485286712648 },{ lat: 34.262944708369695, lng: 108.90156984329225 },{ lat: 34.26514369102872, lng: 108.90154838562013 },{ lat: 34.26512595752755, lng: 108.89824390411378 },{ lat: 34.26516142452615, lng: 108.8950252532959 },{ lat: 34.265055023485516, lng: 108.8917636871338 },{ lat: 34.260887543511274, lng: 108.89180660247804 },{ lat: 34.257376059678286, lng: 108.89172077178956 },{ lat: 34.257447000196315, lng: 108.89508962631227 },];//根据背景图片的坐标设置地图的显示范围map.fitBounds(bounds);//定义沿着轨迹移动的markerlet markerIcon = L.icon({iconSize: [24, 54], // marker的大小iconUrl: new URL('/public/tool/arco.png', import.meta.url).href, // marker的图片iconAnchor: [11.5, 27], // marker的偏移});//创建播放器对象并添加至地图track = new L.TrackPlayer(path, { markerIcon, panTo: false }).addTo(map);//地图设置到合适的缩放级别map.setZoom(16, { animate: false });//点击地图添加点位map.on('click', function (e) {testList.value.push(e.latlng); //获取的经纬度console.log(JSON.stringify(testList.value));});
});
//播放轨迹
const playMap = () => {track.start();
};
</script>
<style scoped>
#map {height: 100vh;width: 100%;
}
</style>

TrackPlayer轨迹动画的更多配置网站
https://github.com/weijun-lab/Leaflet.TrackPlayer/blob/master/README.zh-CN.md

其实就是在地图上盖了一层你所需要的市场图片 轨迹还是按照真实经纬度走的 (哭笑不得)
希望对你有帮助

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 汇编语言第一次作业
  • Unity:类塔科夫,塔防网格构建
  • Agent、RAG、LangChain的概念及作用
  • spring security 如何解决跨域的
  • js部分面试题
  • 如何通过可视化大屏,打通智慧城市建设的“最后一公里”?
  • crontab命令:定时任务,周期执行
  • ROS2仿真之两轮差速
  • 纵切车床和走心机的区别
  • C/C++ 网络编程之关于多核利用问题
  • x11vnc卡顿问题,debian11编译x11vnc
  • 数学建模笔记—— 模糊综合评价
  • k8s防火墙networkPolicy,的核心是“自己”
  • 中关村科金推出得助音视频鸿蒙SDK,助力金融业务系统鸿蒙化提速
  • HTTP 之 响应头信息(二十三)
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • ECMAScript入门(七)--Module语法
  • input实现文字超出省略号功能
  • Java 最常见的 200+ 面试题:面试必备
  • java正则表式的使用
  • log4j2输出到kafka
  • Redis中的lru算法实现
  • VuePress 静态网站生成
  • 番外篇1:在Windows环境下安装JDK
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 运行时添加log4j2的appender
  • 函数计算新功能-----支持C#函数
  • 进程与线程(三)——进程/线程间通信
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (六)激光线扫描-三维重建
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十)T检验-第一部分
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)jdk与jre的区别
  • (转载)hibernate缓存
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .bat批处理(六):替换字符串中匹配的子串
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .Net Core 生成管理员权限的应用程序
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET运行机制