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});
相关推荐
用户033307413953 小时前
TypeScript using 与 AsyncDisposableStack:在真实服务端代码中协调多资源清理
前端
daisychey3 小时前
用 Playwright 做多平台内容分发,我踩过的 8 个坑
前端
IT_陈寒4 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
大龄秃头程序员4 小时前
iOS冷启动监控Demo
前端
光影少年4 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
掘金酱5 小时前
[稀土掘金 × 火山引擎] AI用量周榜冲刺赛|获奖名单公示
前端·人工智能·后端
泡泡oO5 小时前
“如果你还在用Superpowers,那我不要和你说话”
前端·后端·全栈
维克兜率天5 小时前
趋势过滤:避免被“假突破“反复打脸
前端
8年区块链老兵5 小时前
一篇文章教会你:用区块高度读懂比特币链上的每一笔交易
前端
xixichensh6 小时前
前端转做AI程序员第一步——开发一个AI流式对话Demo
前端