geocoder.getFromLocation();等待服务器响应超时[关闭]

Posted

技术标签:

【中文标题】geocoder.getFromLocation();等待服务器响应超时[关闭]【英文标题】:geocoder.getFromLocation(); Timed out waiting for response from server [closed] 【发布时间】:2016-04-20 22:58:38 【问题描述】:

我有一个 android 应用程序推出市场超过 6 个月,它使用 geocoder.getFromLocation()“翻译” latitudelongitude 到人类可读的地址:

Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(latitude, longitude, 1);

一切正常直到 7 小时前(2016-01-15 04:00 UTC)。与 Google 支持部门合作,根据他们的建议,在此处发布问题,看看是否有人有解决此问题的想法。

我已与 Maps API 的工程团队谈过,似乎 Android Geocoder 使用与 Geocoding API 不同的后端, 我们支持,所以从我们这边我们无能为力 现在。

另外...

所有 Android 设备都存在此问题吗? 是的 能否访问以下网址https://maps.googleapis.com/maps/api/geocode/json?address=Barcelona 从出现问题的设备? 是的。我们可以通过 这些 Android 设备中的浏览器。 这些设备具有哪个版本的 Android? Android 版本从 4.4.4 到 5.1.1

【问题讨论】:

我在尝试使用地理编码器时遇到了完全相同的问题,它也是从今天早上开始的。我已经在我的手机和互联网之间插入了一个代理,并且能够从 Google 服务器中发现一个 502 错误,并显示消息“”服务器遇到临时错误,无法完成您的请求。请在 30 秒后重试。 这就是我们所知道的一切。”在尝试获取 google.com/loc/m/api 时。也许您可以将此信息发送给他们,因为您已经与支持部门取得联系? 它又开始为我工作了。 这对我们也不起作用。与 Geocoder 团队一起创建了以下错误:https://code.google.com/p/gmaps-api-issues/issues/detail?id=9153 还是不行…… 我们面临同样的问题的时间与您开始面临的时间大致相同 【参考方案1】:

抱歉,这里更新晚了。来自 Google 于太平洋标准时间 2016 年 1 月 15 日 09:41 的回复...

...

在审核了您提供的信息后,我们认为您可能 受到已知问题的影响。以下是有关该问题的一些详细信息:

描述:太平洋标准时间 2016 年 1 月 14 日晚上 11 点左右,我们开始 接收通过 Android SDK 的地理编码器发出的请求的报告 定时。我们在后端发现了一个中断,即 对观察到的错误负责。我们的工程师团队正在努力 解决后端故障。

如何诊断:使用 Android 的 getFromLocation() 对请求进行地理编码 地理编码方法 (http://developer.android.com/reference/android/location/Geocoder.html) 可能会返回超时异常。

解决方法:目前没有可用的解决方法,但我们会 让您知道我们是否了解其中之一。 ...

根据我的记录,该服务已在 2016 年 1 月 15 日 12:00 到 18:00 PST 之间得到支持。

并且,感谢 Google 支持,在此正式回复之前让我更新。

【讨论】:

它仍然给我超时异常,但仅当我第一次从 latlong 请求地址时 我没有找到任何修复方法而不是像http://maps.googleapis.com/maps/api/geocode/json?latlng=lat,lng&sensor=true那样直接使用http api【参考方案2】:

解决方案:尝试设置设备的日期和时间以自动从网络获取设备。

我认为由于日期/时间不正确而导致 API 无法获取安全证书,并且 API 失败。让我知道它是否有效。

【讨论】:

【参考方案3】:

在墨西哥,Geocoder 现在正常工作,请在您的应用中检查服务

【讨论】:

Android 地理编码器非常不可靠。恕我直言,该类应该被固定或从平台上删除。经过数小时研究地理编码器问题后,我决定实施用于地理编码的 web api。除非你超过你的 api 限制,否则它永远不会失败。此处的说明:developers.google.com/maps/documentation/geocoding/…

以上是关于geocoder.getFromLocation();等待服务器响应超时[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

调用 geoCoder.getFromLocation() 时服务不可用

调用 geoCoder.getFromLocation() 时服务不可用

Android:java.io.IOException:Android Geocoder.getFromLocation() 时服务不可用

创建 Android 位置对象

Android grpc 失败异常

如何在Android中使用OpenStreetMap的经纬度获得地址