Android Studio Geocoder RPC 失败,状态为 102
Android Studio Geocoder RPC failed with status 102
正在进行从数据库获取地址的项目。
从这些地址我得到 LatLng 并将它们固定在 Google 地图 Activity 上。
我使用此方法从地址获取 LatLng:
public LatLng getLocationFromAddress(Context context, String inputtedAddress) {
Geocoder coder = new Geocoder(context);
List<Address> address;
LatLng resLatLng = null;
try {
// May throw an IOException
address = coder.getFromLocationName(inputtedAddress, 5);
if (address == null) {
return null;
}
if (address.size() == 0) {
return null;
}
Address location = address.get(0);
location.getLatitude();
location.getLongitude();
resLatLng = new LatLng(location.getLatitude(), location.getLongitude());
} catch (IOException ex) {
ex.printStackTrace();
}
return resLatLng;
直到 2 天前,它给了我来自 285 个地址的 164 个正确坐标。由于某些原因,某些地址将 LatLng 设为空值。
在不更改任何代码的情况下,现在我在前 8-10 次调用地理编码器时收到以下错误:
W/System.err: java.io.IOException: Timed out waiting for response from server
W/System.err: at android.location.Geocoder.getFromLocationName(Geocoder.java:178)
之后,其余报错:
W/System.err: java.io.IOException: RPC failed with status 102
at android.location.Geocoder.getFromLocationName(Geocoder.java:178)
给出错误的确切行是:
address = coder.getFromLocationName(inputtedAddress, 5);
编辑:
经过更多调查,我发现 Geocoder.java class 有错误,缺少一些方法:
重新安装 Android Studio 可行吗?
此问题已在
中解决
解决方案是将 Google Play 服务升级到修订版 44+
模拟器似乎没有互联网连接。从以太网更改为 WiFi 解决了该问题。在以太网上,DNS 是域一,因此由于某种原因无法连接到 Internet。
正在进行从数据库获取地址的项目。
从这些地址我得到 LatLng 并将它们固定在 Google 地图 Activity 上。
我使用此方法从地址获取 LatLng:
public LatLng getLocationFromAddress(Context context, String inputtedAddress) {
Geocoder coder = new Geocoder(context);
List<Address> address;
LatLng resLatLng = null;
try {
// May throw an IOException
address = coder.getFromLocationName(inputtedAddress, 5);
if (address == null) {
return null;
}
if (address.size() == 0) {
return null;
}
Address location = address.get(0);
location.getLatitude();
location.getLongitude();
resLatLng = new LatLng(location.getLatitude(), location.getLongitude());
} catch (IOException ex) {
ex.printStackTrace();
}
return resLatLng;
直到 2 天前,它给了我来自 285 个地址的 164 个正确坐标。由于某些原因,某些地址将 LatLng 设为空值。
在不更改任何代码的情况下,现在我在前 8-10 次调用地理编码器时收到以下错误:
W/System.err: java.io.IOException: Timed out waiting for response from server
W/System.err: at android.location.Geocoder.getFromLocationName(Geocoder.java:178)
之后,其余报错:
W/System.err: java.io.IOException: RPC failed with status 102
at android.location.Geocoder.getFromLocationName(Geocoder.java:178)
给出错误的确切行是:
address = coder.getFromLocationName(inputtedAddress, 5);
编辑:
经过更多调查,我发现 Geocoder.java class 有错误,缺少一些方法:
重新安装 Android Studio 可行吗?
此问题已在
解决方案是将 Google Play 服务升级到修订版 44+
模拟器似乎没有互联网连接。从以太网更改为 WiFi 解决了该问题。在以太网上,DNS 是域一,因此由于某种原因无法连接到 Internet。