Google Geocoding API 返回错误的语言作为响应
Posted
技术标签:
【中文标题】Google Geocoding API 返回错误的语言作为响应【英文标题】:Google Geocoding API returns wrong language in response 【发布时间】:2015-01-18 20:57:35 【问题描述】:我的项目请求地理编码 API 以获取乌克兰敖德萨的坐标和更正完整地址。
我可以在 HTTP 请求中添加 language=ru
(language=uk
) 参数以请求俄语或乌克兰语的响应。从今天开始,无论我在请求中指定哪种语言,我都会收到乌克兰的街道名称作为回应。
示例。
请求俄语:https://maps.googleapis.com/maps/api/geocode/json?address=Пушкинская, Одесса, Украина&language=ru
响应的相关部分:
"results" : [
"address_components" : [
"long_name" : "Пушкінська вулиця",
"short_name" : "Пушкінська вулиця",
"types" : [ "route" ]
,
"long_name" : "Приморський район",
"short_name" : "Приморський район",
"types" : [ "sublocality_level_1", "sublocality", "political" ]
,
"long_name" : "Одеса",
"short_name" : "Одеса",
"types" : [ "locality", "political" ]
,
"long_name" : "Одесский горсовет",
"short_name" : "Одесский горсовет",
"types" : [ "administrative_area_level_3", "political" ]
,
"long_name" : "Одеська область",
"short_name" : "Одеська область",
"types" : [ "administrative_area_level_1", "political" ]
,
"long_name" : "Украина",
"short_name" : "UA",
"types" : [ "country", "political" ]
],
请注意,"country"
和 "administrative_area_level_3"
字段应该是俄语,但其他所有字段都是乌克兰语。
如果我使用language=uk
,响应中的所有字段都以乌克兰语返回(如预期的那样)。
我想 Google 的某个人合并了俄罗斯和乌克兰的名单,但我无法做任何事情来恢复俄罗斯的名字。所以问题更多是关于我应该在哪里报告这个错误?
【问题讨论】:
【参考方案1】:我用过这个https://maps.googleapis.com/maps/api/geocode/json?address=Пушкинская,%20Одесса,%20Украина&language=uk 回复是
对于https://maps.googleapis.com/maps/api/geocode/json?address=Пушкинская,%20Одесса,%20Украина&language=ukr
我收到此回复
如果我使用
https://maps.googleapis.com/maps/api/geocode/json?address=Пушкинская,%20Одесса,%20Украина&language=en 我收到此回复
【讨论】:
您发布的链接正在按预期工作。当您询问“uk”时,您会得到乌克兰语 当您询问“en”时,您会得到来自乌克兰语的英语音译。当您要求输入错误的语言代码 (ukr) 时,您默认使用您的语言环境 (en)。但是,如果你问“ru”,你会得到乌克兰语而不是俄语。但在今年 11 月底之前,俄罗斯工作了。对于广场和公共交通站点等某些对象,您仍然可以获得俄语翻译,但对于大多数街道则不行。【参考方案2】:您可以报告地理编码 api 问题here。
点击“新问题”,然后在“模板”下选择“Geocoding API - Bug”。
祝你好运。
【讨论】:
我已经完成了。还有其他人遇到这个问题,谷歌没有承认。 code.google.com/p/gmaps-api-issues/issues/detail?id=7359 看起来他们可能需要几个月的时间才能回复(基于其他论坛帖子。)我的猜测是,越多的人发布他们遇到同样问题的帖子,你就越有可能得到一个答案...您可能需要发挥创造力才能从 Google 的某个人那里获得帮助。 我试图与乌克兰 Google 办公室的某个人交谈。但我只能找到不在地图上工作的员工。他们无能为力。他们建议通过地图制作器创建新的语言条目,然后等待它可能会被添加回地图。不过,我更容易切换到 Yandex Maps API。以上是关于Google Geocoding API 返回错误的语言作为响应的主要内容,如果未能解决你的问题,请参考以下文章
Google Maps Geocoding APi 不返回 lat 和 long
在哪里放置 Google Geocoding API 的 API 密钥?
获取与 Google Places/Geocoding API 的交集
v3 Google Maps Geocoding API 是不是有代表准确性的字段?