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

Unity3D中MapBox地图:Unity坐标转经纬度的API/函数咨询

Unity位置转经纬度(Abstract Map反向转换)

嘿,刚好你之前用了GeoToWorldPosition做正向转换,Abstract Map本身就提供了对应的反向API来完成Unity世界坐标到经纬度的转换!

  • 核心方法就是WorldToGeoPosition,它和你之前用的GeoToWorldPosition是成对出现的,专门用来处理反向转换。

示例代码

你可以直接在Unity脚本里这样调用:

// 获取你要转换的Unity世界空间位置(比如某个生成对象的transform.position)
Vector3 targetWorldPos = yourSpawnedObject.transform.position;

// 调用Abstract Map的反向转换方法
GeoCoordinate geoCoords = AbstractMap.Instance.WorldToGeoPosition(targetWorldPos);

// 提取经纬度值
double targetLatitude = geoCoords.Latitude;
double targetLongitude = geoCoords.Longitude;

注意事项

  • 如果你的地图是3D模式,转换时建议忽略Y轴高度(除非你的SDK支持带高度的地理坐标转换),可以传入new Vector3(targetWorldPos.x, 0, targetWorldPos.z)来确保转换准确性。
  • 要确保目标位置在当前加载的地图范围内,否则返回的经纬度可能会出现异常值。
  • 不同版本的Abstract Map可能会有方法名细微差异,如果找不到WorldToGeoPosition,可以去SDK的API文档里找“世界坐标转地理坐标”相关的方法,通常命名逻辑都是和正向转换对应起来的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:20:27