为什么在获取结果时,我的语言参数有时会被忽略?

后端开发 2026-07-09

我这样发送请求

https://maps.googleapis.com/maps/api/geocode/json?latlng={lat},{lng}&language=en&key={GOOGLE_MAPS_API_KEY}

大多数情况下,结果是英文,但有时会是印地语。为什么会这样?以及如何确保结果始终为英文的解决方案是什么?

解决方案

language=en参数只是语言偏好,并不能严格保证。即使英语数据不可用,或当地表示被认为更适合该位置,Google地理编码仍可能返回本地语言名称。这是反向地理编码的预期行为。 参考链接

为提高一致性,你可以:

  • 继续传递language=en。
  • 如果坐标在印度且需要印度特定结果,请添加region=in。
  • 使用address_components,并选择诸如locality、administrative_area_level_1、country等具体组件,而不仅仅依赖formatted_address。
  • 如果需要严格英文输出,请在你方进行后处理或翻译非英文组件。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章