2

我只需要知道如何从经度和纬度中获取邮政编码。

我使用谷歌地图 api 基于诸如“曼彻斯特”之类的搜索来获取经纬度,然后我需要从中获取邮政编码来查询我的数据库。

到目前为止我的代码是

function getLatLng()
{
    var localSearch = new google.maps.Geocoder();
    var postcode = $("#address").val();
    localSearch.geocode({ 'address': postcode },
                    function(results, status) {
                        if (results.length == 1) {
                            var result = results[0];
                            var location = result.geometry.location;
                        }
                        else 
                        {
                            $("#error").html("Address not found");
                        }
                    });
}
4

3 回答 3

6

你想要做的是(一个例子)'反向地理编码'

请参阅: Google 反向地理编码 - 如何捕捉到最近的完整邮政编码

具体链接到:

https://google-developers.appspot.com/maps/documentation/javascript/examples/geocoding-reverse

于 2012-05-09T21:42:39.477 回答
1

.. 搜索诸如“曼彻斯特”,然后我需要一个来获取邮政编码..

您可能需要考虑:-

世界上不止一个“曼彻斯特”。

英国的“曼彻斯特”被许多邮政编码覆盖;如果查询过于笼统,地理编码可能只给你其中一个,或者一个都不给。

显然,由于邮局许可问题,退回的英国邮政编码可能是零碎的——只有最重要的部分被退回。

于 2012-05-10T09:02:13.363 回答
0

首先,您应该知道,当您搜索“曼彻斯特”时,您可以获得邮政编码以及经纬度。查看这部分文档。查看您从谷歌获得的回复,您可以从中获取邮政编码。

或者,如果您想运行另一个查询以从您拥有的坐标中获取邮政编码(这似乎没有用,因为正如我所说,您可以在一次调用 API 中执行此操作),您可以按照 Geert-Jan 的建议进行反向地理编码.

于 2012-05-10T07:57:27.030 回答