【问题标题】:ZipCode from location来自位置的邮政编码
【发布时间】:2011-05-02 10:04:56
【问题描述】:

有什么方法可以从 location 或 lat 或 long 获取当前用户位置的邮政编码。 如果有怎么办?

【问题讨论】:

    标签: android location zipcode


    【解决方案1】:

    使用安卓Geocoder API

    getFromLocation(double, double, int) 就是你所需要的。

    【讨论】:

      【解决方案2】:

      是的,你可以......你需要做的就是提取

      http://maps.google.com/maps/geo?ll=纬度,经度

      http://maps.google.com/maps/geo?ll=10.345561,123.896932
      

      或者试试这个解决方案。我可以给你一个想法。

      你可以拥有一个城市,对吧?有了这个 json 数据,如果你有这个格式的邮政编码的数据库(在 maxmind.com)

      国家代码 |城市 |邮政编码


      PH |宿务|6000

      现在查询与谷歌返回的国家代码相关的数据库。

      更新

      Geocoding API v2 已于 2013 年 9 月 9 日停用。

      这是 API 服务的新 URL

      http://maps.googleapis.com/maps/api/geocode/json?latlng=your_latitude,your_longitude

      http://maps.googleapis.com/maps/api/geocode/json?latlng=10.32,123.90&sensor=true

      【讨论】:

      • @Udaykiran 你需要另一个有邮政编码记录的数据库。这是数据库的例子。ipinfodb.com/zipcode_database.php
      • 如果你还想下载另一个邮政编码数据库,这里 populardata.com/downloads.html" >邮政编码数据库
      • 谢谢你拯救了我的一天!!!!和@Udaykiran 尝试给美国的纬度,它会给你邮政编码,我不知道印度有什么问题!!!
      • 此答案不再有效,因为 Google 已拒绝地理编码 API v2。 Android Geocode API 是更好的解决方案。
      • 我已经更新了我的答案。 maps.googleapis.com/maps/api/geocode/…
      【解决方案3】:

      基于地理编码器的实现:

      private String getZipCodeFromLocation(Location location) {
          Address addr = getAddressFromLocation(location);
          return addr.getPostalCode() == null ? "" : addr.getPostalCode();
      }
      
      private Address getAddressFromLocation(Location location) {
          Geocoder geocoder = new Geocoder(this);
          Address address = new Address(Locale.getDefault());
          try {
              List<Address> addr = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
              if (addr.size() > 0) {
                  address = addr.get(0);
              }
          } catch (IOException e) {
              e.printStackTrace();
          }
          return address;
      }
      

      您还可以从地址获取其他信息,例如城市名称。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-20
        • 1970-01-01
        • 2020-01-27
        • 1970-01-01
        • 2012-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多