Mapbox1.x transform:scale 缩放坐标偏移bug修复方案

本文详细探讨了地图缩放导致坐标计算错误的问题,提供了三种解决方案:修复mapbox源码中的坐标计算,使用Unfull进行反缩放以保持一致性,以及通过iframe嵌入避免页面加载延迟。重点在于修正坐标算法并分析其优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如图所示,以下是触发问题的步骤:
  1. 创建地图

  2. 设置transform scale(0.9)在地图容器上,或用fullScreen

  3. map.resize()更新画布

效果展示:

在这里插入图片描述

解决方法:

方案1:

修复mapbox地图源码-计算事件坐标添加位置的函数

函数在下载的源码以下位置:
在这里插入图片描述

mousePos(el: HTMLElement, e: MouseEvent | WheelEvent): Point {
    const rect = el.getBoundingClientRect();
    return getScaledPoint(el, rect, e);
}

getScaledPoint(el: HTMLElement, rect: ClientRect, e: MouseEvent | WheelEvent | Touch) {
    const scaling = el.offsetWidth === rect.width ? 1 : el.offsetWidth /
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值