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

vue3集成高德地图绘制轨迹地图

背景:展示地图的物流轨迹信息

技术栈:vue3+高德地图

功能点:

1、支持平移、拖拽

2、支持缩小、放大

3、默认把轨迹置于画布中央

4、轨迹上有流光动画效果

前置工作

1、先安装包

npm i @amap/amap-jsapi-loader --save

2、引入

import AMapLoader from '@/amap/amap-jsapi-loader';

3、访问高德地图官网,注册高德地图账号:https://lbs.amap.com/

注册成功之后,点控制台

选择应用管理,然后创建新应用

创建成功之后,会在我的应用中看到对应的key

vue3中创建demo:JS API 结合 Vue 使用-基础-进阶教程-地图 JS API 2.0 | 高德地图API

物流轨迹地图:实现过程中遇到的问题
1、路径置于画布中央

2、隐藏高德地图版权信息

.amap-logo,
.amap-copyright {display: none !important;opacity: 0 !important;pointer-events: none !important;
}

3、标记起点/终点,起终点标识符设置动画效果

 map.add(polyline);// 起点startMarker = new win.AMap.Marker({position: pathArray[0],content: markerHtml('#4CAF50', '起'),offset: new win.AMap.Pixel(-15, -15),zIndex: 100});map.add(startMarker);// 终点endMarker = new win.AMap.Marker({position: pathArray[pathArray.length - 1],content: markerHtml('#F44336', '终'),offset: new win.AMap.Pixel(-15, -15),zIndex: 100});map.add(endMarker);const markerHtml = (color: string, text: string) => `<div style="width:32px;height:32px;position:relative;display:flex;align-items:center;justify-content:center;"><div class="ripple" style="position:absolute;width:32px;height:32px;left:0;top:0;border-radius:50%;background:${color};opacity:0.3;animation:ripple 1.5s infinite;"></div><div style="width:20px;height:20px;border-radius:50%;background:${color};display:flex;align-items:center;justify-content:center;z-index:1;"><span style="color:#fff;font-size:12px;font-weight:bold;">${text}</span></div></div>
`;.ripple {animation: ripple 1.5s infinite;
}
@keyframes ripple {0% {transform: scale(0.7);opacity: 0.5;}70% {transform: scale(1.0);opacity: 0.1;}100% {transform: scale(1.4);opacity: 0;}
}

4、添加轨迹信息

5、添加流光

注意:调试的时候,可以看到流光属性已经加载了,但是页面上无法看到流光效果,原因:
1、插件上一定药引入Loca,并且是2.0版本

2、注意设置zIndex的值

http://www.xdnf.cn/news/995545.html

相关文章:

  • 鸿蒙 UI 开发基础语法与组件复用全解析:从装饰器到工程化实践指南
  • uni-app 小程序 Cannot read property ‘addEventListener‘ of undefined, mounted hook
  • 一.干货干货!!!SpringAI入门到实战-小试牛刀
  • 山东大学《Web数据管理》期末复习宝典【万字解析!】
  • Mac 系统 Node.js 安装与版本管理指南
  • 使用Gitlab CI/CD结合docker容器实现自动化部署
  • React 集中状态管理方案
  • CentOS变Ubuntu后后端程序SO库报错,解决方案+原理分析!
  • .NET 中的异步编程模型
  • [电赛]MSPM0G3507学习笔记(二) GPIO:led与按键(流水灯、呼吸灯,短按长按与双击,ui预览)
  • 基于OpenCV和深度学习实现图像风格迁移
  • VR 地震安全演练:“透视” 地震,筑牢企业安全新护盾​
  • 16层混压PCB的精密重构:高频基板局部化的黄金法则
  • 【Go-补充】实现动态数组:深入理解 slice 与自定义实现
  • 机器学习 [白板推导](六)[核方法、指数族分布]
  • 【WebSocket】WebSocket架构重构:从分散管理到统一连接的实战经验
  • 新零售视域下实体与虚拟店融合的技术逻辑与商业模式创新——基于开源AI智能名片与链动2+1模式的S2B2C生态构建
  • C#事件基础模型代码
  • 【技术追踪】MMFusion:用于食管癌淋巴结转移诊断的多模态扩散模型(MICCAI-2024)
  • Linux部署bmc TrueSight 监控agent步骤
  • Java学习笔记之:初识nginx
  • js判断手机操作系统(ios、安卓、华为)
  • 分享在日常开发中常用的ES6知识点【面试常考】
  • “储能+热泵+AI”三维驱动,美的能源定义能源科技新未来
  • 【深度解读】混合架构数据保护实战
  • 从零搭建智能家居:香橙派+HomeAssistant实战指南
  • LlamaIndex 工作流 上下文状态和流式传输事件
  • SpringBoot+Junit在IDEA中实现查询数据库的单元测试
  • 代码训练LeetCode(32)Z字形变换
  • chrome138版本及以上el-input的textarea输入问题