leaflet-canvasmarker添加的marker旋转问题

Leafletjs的标准图层的marker是可以通过组件 leaflet-rotatedmarker进行图标旋转的,在marker上添加两个属性:

  • rotationAngle:旋转角度,以度为单位,顺时针旋转。
  • rotationOrigin:旋转中心,默认值为 'bottom center',对应于标记图标的"尖端"。

但是leaflet-canvasmarker组件的图层使用leaflet-rotatedmarker的旋转方式失效,而在leaflet-canvasmarker官网提供了一个旋转的方法: Leaflet.Icon扩展参数 rotate

用法启发:zhuanlan.zhihu.com/p/593744067

  • 旋转

  • 使用 rotate(angle) 方法可以旋转画布,但默认的旋转原点是画布的左上角,也就是 (0, 0) 坐标。

    我计算旋转角度通常是用 角度 * Math.PI / 180 的方式表示。

关键代码:rotate: Math.PI / 180 * v.direction,

js 复制代码
// 图标
const icon = L.icon({
    iconUrl,
    iconSize: [24, 24],
    iconAnchor: [12, 12],
    rotate: Math.PI / 180 * v.direction, 
});
// 加到marker上
const m = L.marker([v.lat, v.lng],{ icon, data: v});
相关推荐
mapbar_front13 分钟前
今天聊聊面试
前端·面试
华仔啊31 分钟前
Vue3+CSS实现一个非常丝滑的 input 标签上浮动画,设计师看了都点赞
前端·css·vue.js
北海道浪子35 分钟前
[免费送$1000]ClaudeCode、Codex等AI模型在开发中的使用
前端·人工智能·后端
明月与玄武40 分钟前
2025 前端框架决战:Vue 与 React 分析优缺点及使用场景!
前端·vue.js·react.js
无盐海1 小时前
XSS漏洞攻击 (跨站脚本攻击)
前端·xss
不一样的少年_1 小时前
1024程序员节:用不到100行代码做个“代码雨屏保”装X神器(附源码)
前端·javascript·浏览器
阿奇__1 小时前
el-table默认排序设置
前端·javascript·vue.js
hongc931 小时前
element-ui el-table 设置固定列fixed 高度不对
前端·vue.js·elementui
Forfun_tt1 小时前
xss-labs pass-12
前端·xss
云枫晖2 小时前
Webpack系列-编译过程
前端·webpack