经纬志
首页 / Leaflet / 使用示例

DivIcon 图标

四种完全由 CSS 画出来的标记:编号徽章、文字标签、脉冲点、靶标。

Leaflet 1.9.4 · 更新 2026-10-28
源码与运行效果
运行效果

说明

每个图标都设置 className: '',避免 Leaflet 默认的白底方块包在外面。 徽章与靶标把 iconAnchor 设为尺寸的一半,让圆心对准坐标; 文字标签把锚点放在底部尖角,iconAnchor: [宽/2, 高 + 5], 再加 tooltipAnchor 保证提示框不被标签挡住。

放大图标时重新计算 iconSize 与 iconAnchor, 并同步内联字号,锚点比例不变,标记不会跑位。 脉冲效果靠 @keyframes 做外层扩散圈,不占用额外的 DOM 节点。

图标iconAnchor用途
编号徽章中心点站点序号、巡检点
文字标签底部尖角地名、设备名
脉冲点中心点告警、实时位置
靶标中心点选中目标、重点区域
通用className: ''去掉默认白底边框

图标内的 DOM 会随地图平移频繁更新位置,不要在图标里放视频、输入框这类 有状态的元素,拖动时输入焦点会反复丢失。复杂交互应放在 popup 或侧栏。