使用zipcode获取经度和纬度

时间:2010-09-04 07:28:52

标签: android google-maps

我想使用Android应用程序的zipcode获取经度和纬度

4 个答案:

答案 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。请注意,由于您只是提供邮政编码,因此地址本身不准确,您可能无法获得所需的结果。