地理编码器不适用于某些地址
Geocoder does not work for certain addresses
我正在使用 goecoder 尝试将地址转换为 lat/lng。但是,地理编码器似乎适用于某些地址,但不适用于其他地址。如果我在 google 地图上搜索地址,那么它会完美地找到它。
这是一个例子 38 Crichton Street, Ottawa, ON, Canada
当我 运行 下面的代码
时,这个地址 returns 0 结果
Location loc = null;
Geocoder geoCoder = new Geocoder(this, Locale.getDefault());
try {
List<Address> address = geoCoder.getFromLocationName(addr, 1);
if (address.size() == 0) {
return null;
}
double latitude = address.get(0).getLatitude();
double longitude = address.get(0).getLongitude();
loc = new Location("Unknown");
loc.setLatitude(latitude);
loc.setLongitude(longitude);
} catch (IOException ioException) {
Log.e(TAG, ioException.toString());
} catch (IllegalArgumentException illegalArgumentException) {
Log.e(TAG, illegalArgumentException.toString());
}
知道为什么或如何修复它
谢谢
不确定为什么本机 Android API 地理编码器找不到此地址。我可以看到这个地址是在 Geocoding API 网络服务中找到的:
https://maps.googleapis.com/maps/api/geocode/json?address=38%20Crichton%20Street%2C%20Ottawa%2C%20ON%2C%20Canada&key=MY_API_KEY
您也可以在 Geocoder 工具中看到它:
作为解决方法,您可以考虑使用地理编码 API 网络服务。请注意,您可以在 Github:
上找到用于 Web 服务的 Java 客户端库
https://github.com/googlemaps/google-maps-services-java
客户端库的Java文档位于
https://googlemaps.github.io/google-maps-services-java/v0.2.5/javadoc/
希望对您有所帮助!
我正在使用 goecoder 尝试将地址转换为 lat/lng。但是,地理编码器似乎适用于某些地址,但不适用于其他地址。如果我在 google 地图上搜索地址,那么它会完美地找到它。
这是一个例子 38 Crichton Street, Ottawa, ON, Canada 当我 运行 下面的代码
时,这个地址 returns 0 结果 Location loc = null;
Geocoder geoCoder = new Geocoder(this, Locale.getDefault());
try {
List<Address> address = geoCoder.getFromLocationName(addr, 1);
if (address.size() == 0) {
return null;
}
double latitude = address.get(0).getLatitude();
double longitude = address.get(0).getLongitude();
loc = new Location("Unknown");
loc.setLatitude(latitude);
loc.setLongitude(longitude);
} catch (IOException ioException) {
Log.e(TAG, ioException.toString());
} catch (IllegalArgumentException illegalArgumentException) {
Log.e(TAG, illegalArgumentException.toString());
}
知道为什么或如何修复它
谢谢
不确定为什么本机 Android API 地理编码器找不到此地址。我可以看到这个地址是在 Geocoding API 网络服务中找到的:
https://maps.googleapis.com/maps/api/geocode/json?address=38%20Crichton%20Street%2C%20Ottawa%2C%20ON%2C%20Canada&key=MY_API_KEY
您也可以在 Geocoder 工具中看到它:
作为解决方法,您可以考虑使用地理编码 API 网络服务。请注意,您可以在 Github:
上找到用于 Web 服务的 Java 客户端库https://github.com/googlemaps/google-maps-services-java
客户端库的Java文档位于
https://googlemaps.github.io/google-maps-services-java/v0.2.5/javadoc/
希望对您有所帮助!