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

使用Leaflet实现地图高亮点标记功能 渲染本地icon图片

在前端地图开发中,经常需要在地图上高亮显示某些特定点位。本文将介绍如何使用Leaflet.js库实现这一功能,矢量前端渲染本地图片。

在这里插入图片描述

准备好的png放到文件目录(@/assets/flight.png):
在这里插入图片描述

核心代码解析

import flightIcon from '@/assets/flight.png';// 高亮点要素(如果存在)
if (points?.length > 0) {points.forEach(point => {const coords = point.geometry.coordinates;const direction = point.properties.direction || 0;const icon = L.icon({iconUrl: flightIcon,iconSize: [20, 20],iconAnchor: [10, 10],iconRotate: direction});const marker = L.marker([coords[1], coords[0]], {icon,rotationAngle: direction,zIndexOffset: 1000});highlightGroup.addLayer(marker);});highlightState.value.points = points;
}

功能实现要点

  1. 图标配置

    • 使用L.icon()创建自定义图标
    • iconUrl指定图标路径
    • iconSize设置图标尺寸
    • iconAnchor定义图标锚点位置
    • iconRotate实现图标旋转效果
  2. 标记创建

    • 使用L.marker()创建标记
    • 坐标格式为[纬度, 经度]
    • rotationAngle设置标记旋转角度
    • zIndexOffset提高标记层级确保显示在最上层
  3. 分组管理

    • 将标记添加到highlightGroup图层组
    • 便于统一管理和控制高亮点

应用场景

这种实现方式特别适用于:

  • 航班追踪系统
  • 实时交通监控
  • 物流追踪平台
  • 任何需要突出显示动态点位的场景

优化建议

  1. 考虑添加动画效果增强用户体验
  2. 实现点击事件处理交互
  3. 根据缩放级别调整图标大小
http://www.dtcms.com/a/284359.html

相关文章:

  • 集成算法学习学习
  • Qt 监控串口设备热插拔的方法
  • javaweb学习开发代码_HTML-CSS-JS
  • [RAG] 文档格式化 | 知识库摄入 | VectorDB.faiss | BM25索引.pkl
  • 松材线虫检测仪在林业的作用
  • 【Lua】题目小练1
  • 九学王资源apk应用名称整理
  • 【机器学习实战【七】】机器学习特征选定与评估
  • ELN:生物医药科研的数字化引擎——衍因科技引领高效创新
  • 多线程(一) --- 线程的基础知识
  • 使用位运算优化 Vue.js 应用:高效状态管理技巧
  • Oracle 19.28 RU 升级最佳实践指南
  • 装饰器模式及优化
  • 大模型Agent应用开发实战:从框架选型到行业落地
  • 十六进制与嵌入式系统及通信系统
  • yolo8+ASR+NLP+TTS(视觉语音助手)
  • 基于Rust Softplus 函数实践方法
  • 【通识】网络的基础知识
  • 学习日志预告
  • 【测试100问】为什么要做接口测试?
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | GoodCheapFast(Good - Cheap - Fast三选二开关)
  • 区块链之Casper协议背景、演变发展、运作机制和潜在风险
  • 周志华《机器学习导论》第8章 集成学习 Ensemble Learning
  • 2025开源组件安全工具推荐OpenSCA
  • LVS(Linux virtual server)
  • AWS Lambda 最佳实践:构建高效无服务器应用的完整指南
  • 多维动态规划题解——最长公共子序列【LeetCode】记忆化搜索翻译成递推
  • CCS缺陷|冻干/灌装10大缺陷暴露无菌生产系统性漏洞:气流流型缺陷
  • 【android bluetooth 协议分析 03】【蓝牙扫描详解 3】【Bluetooth 中 EIR、IR、BLE 普通广播与扩展广播详解】
  • 数仓建设中,系统数据录入错误或者延迟,如何对历史数据修复或补入?