所在地的邮政编码

发布于 2024-11-04 11:42:18 字数 45 浏览 0 评论 0原文

有没有办法从位置或纬度或经度获取当前用户位置的邮政编码。 如果是这样怎么办?

Is there any way to get zip-code of the current user location from location or lat or long.
If so how?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

当爱已成负担 2024-11-11 11:42:18

使用 Android Geocoder API

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

Use Android Geocoder API!

getFromLocation(double, double, int) is all you need.

棒棒糖 2024-11-11 11:42:18

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

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

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

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

你可以拥有一座城市,对吗?有了这个 json 数据,如果您有一个具有这种格式的邮政编码数据库(位于 maxmind.com)

CountryCode |城市 |邮政编码


PH |Cebu |6000

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

更新

地理编码 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

Yes you can...All you need to do is extract the

http://maps.google.com/maps/geo?ll=latitude,longitude

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

Or try experimenting this solutions.I can give you an idea.

You can have a city right? WIth this json data, If you have a database(at maxmind.com) of the zipcode with this format

CountryCode | City | ZipCode


PH |Cebu |6000

Now query your database that is relative to the countrycode that googles return.

UPDATE

The Geocoding API v2 has been turned down on September 9th, 2013.

Here's the new URL of API service

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

德意的啸 2024-11-11 11:42:18

基于地理编码器的实现:

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;
}

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

Geocoder based implementation:

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;
}

You can get also other information from address, for example city name.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文