我想使用Android应用程序的zipcode获取经度和纬度
答案 0 :(得分:23)
假设存在地理编码器服务,这是一个更简单的解决方案:
final Geocoder geocoder = new Geocoder(this);
final String zip = "90210";
try {
List<Address> addresses = geocoder.getFromLocationName(zipCode, 1);
if (addresses != null && !addresses.isEmpty()) {
Address address = addresses.get(0);
// Use the address as needed
String message = String.format("Latitude: %f, Longitude: %f",
address.getLatitude(), address.getLongitude());
Toast.makeText(this, message, Toast.LENGTH_LONG).show();
} else {
// Display appropriate message when Geocoder services are not available
Toast.makeToast(this, "Unable to geocode zipcode", Toast.LENGTH_LONG).show();
}
} catch (IOException e) {
// handle exception
}
答案 1 :(得分:4)
Google在GeoCoding中没有竞争对手:)
您必须为以下链接发出 http Get请求。 这是a link
只需根据您的要求更改邮政编码元素。并享受。
如需进一步参考,请点击链接。Maps Geocoding Reference
答案 2 :(得分:3)
你可以这样使用YQL:从geo.places中选择centroid text =“ZIPCODE_HERE”
答案 3 :(得分:2)
您必须使用Geocoding Service,例如Google提供的内容或免费提供的Nominatim。请注意,由于您只是提供邮政编码,因此地址本身不准确,您可能无法获得所需的结果。