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

如何将Google History JSON的经纬度整数转换为谷歌地图可识别格式?

嘿,这个问题我太熟悉了!Google Location History导出的坐标用E7格式存储其实是个很常见的小细节,转成谷歌地图能用的格式超简单,还能帮你验证脚本的正确性。

转换E7坐标到谷歌地图可用格式的方法

核心转换逻辑

Google把真实经纬度乘以10^7(也就是10000000)后取整,得到latitudeE7和longitudeE7字段。所以转换公式就是:

  • 真实纬度 = latitudeE7 / 10000000
  • 真实经度 = longitudeE7 / 10000000

比如你给的示例数据:

{ "latitudeE7" : 511052047, "longitudeE7" : 207459413 }

转换后就是:51.1052047, 20.7459413,这个字符串可以直接复制到谷歌地图网页端的搜索框,回车就能定位到对应位置。

脚本里的实现(常见语言示例)

如果你要在遍历脚本里直接生成可复制的坐标,这里给两个常用语言的代码片段:

JavaScript

// 假设你的JSON数据已经解析到data变量中
data.locations.forEach(location => {
  // 计算真实经纬度
  const latitude = location.latitudeE7 / 10000000;
  const longitude = location.longitudeE7 / 10000000;
  // 拼接成谷歌地图支持的格式
  const mapCoords = `${latitude}, ${longitude}`;
  // 可以打印到控制台,或者输出到文件
  console.log(mapCoords);
});

Python

import json

# 读取导出的JSON文件
with open('YourLocationHistory.json', 'r', encoding='utf-8') as f:
    location_data = json.load(f)

# 遍历所有位置
for loc in location_data['locations']:
    lat = loc['latitudeE7'] / 10**7
    lng = loc['longitudeE7'] / 10**7
    # 生成可复制的坐标字符串(保留7位小数和原数据精度一致)
    map_ready = f"{lat:.7f}, {lng:.7f}"
    print(map_ready)

验证脚本定位正确性的方法

  1. 手动抽样验证:从脚本输出的坐标里挑几个你记得的位置(比如家、公司、常去的餐厅),复制到谷歌地图搜索框,看是否定位到正确地点。
  2. 时间点对照:选一个有明确记忆的时间点(比如某次旅行的景点),找到对应时间的坐标,验证是否匹配实际位置。
  3. 格式校验:确保转换后的坐标是十进制数+逗号分隔的格式(比如39.9042, 116.4074),谷歌地图对这种格式的支持最稳定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:43:30