You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mapbox GL JS:如何将屏幕(X,Y)坐标转换为LngLat?

Mapbox 屏幕坐标(X,Y)转LngLat 实现方法

Mapbox GL JS 提供了和project()对应的逆转换方法unproject(),直接用它就能完成屏幕像素坐标到地理坐标(LngLat)的转换。

  • 核心用法示例:

    // 前提:map是已初始化的Mapbox地图实例
    const screenCoords = [x, y]; // 你的屏幕(X,Y)坐标,格式为[横向像素值, 纵向像素值]
    const lngLat = map.unproject(screenCoords);
    // 可直接访问经纬度值
    const longitude = lngLat.lng;
    const latitude = lngLat.lat;
    
  • 关键注意点:

    • 必须在地图实例完成加载后调用unproject(),比如放在map.on('load', () => { ... })的回调函数内,否则会因投影参数未就绪导致转换结果错误。
    • 屏幕坐标的原点是地图容器的左上角,要确保你传入的(X,Y)是基于这个原点的坐标,而非其他坐标系的点位。

内容的提问来源于stack exchange,提问作者johnbumble

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 06:54:07