从纬度经度获取国家

我想知道如何使用JavaScript获取经纬度的国家名称。 我打开使用Google Maps的JavaScript API。 我也可以得到城市和邮编吗?

编辑:我的目标是自动填写地址栏位,不要在地图上显示。

我不知道它是否适用于谷歌地图,但有一个Web服务,返回一个国家代码,并采取经纬度参数。

这是一个例子: http : //api.geonames.org/countryCodeJSON?lat=49.03&lng=10.2&username=demo

我还发现了一些说明:

任何给定点的ISO国家代码。

  • Webservicetypes:REST
  • url: ws.geonames.org/countryCode?
  • 参数: latlngtypelangradius (沿海地区最近国家的缓冲区)
  • 结果:返回给定纬度/经度的ISO国家代码

使用参数type=xml该服务返回一个带有iso国家代码和国家/地区名称的xml文档。 可选参数lang可用于指定国家/地区名称应使用的语言。JSON输出使用type=JSON

看文档

编辑:请注意, demo只是一个演示用户,你应该在http://www.geonames.org/login创build一个用户帐户,以使用该服务。;

 <form id="form1" runat="server"> <div> <script type="text/javascript" src="http://j.maxmind.com/app/geoip.js" ></script> <br />Country Code: <script type="text/javascript">document.write(geoip_country_code());</script> <br />Country Name: <script type="text/javascript">document.write(geoip_country_name());</script> <br />City: <script type="text/javascript">document.write(geoip_city());</script> <br />Region: <script type="text/javascript">document.write(geoip_region());</script> <br />Region Name: <script type="text/javascript">document.write(geoip_region_name());</script> <br />Latitude: <script type="text/javascript">document.write(geoip_latitude());</script> <br />Longitude: <script type="text/javascript">document.write(geoip_longitude());</script> <br />Postal Code: <script type="text/javascript">document.write(geoip_postal_code());</script> </div> </form> 

Google地理编码API在JSON合成器中提供了这些结果。 它的免费,但你可能需要付费无限访问。

尝试下面的链接

 http://maps.googleapis.com/maps/api/geocode/json?latlng=11.2742848,75.8013801 

是的,您可以使用谷歌地图find给定纬度和经度的国家。 使用反向地理编码服务 。

您可以从服务器获得的回复中获得国家,城市,邮政编码和完整的地址。 查看链接中的示例以获取详细信息;)

如果需要一个自包含的库(即没有服务器/互联网连接和快速),并且只需要国家/地区信息,则基于openstreetmap数据的以下库可能很有用 – https://github.com/hlaw/codegrid- JS

 <script type="text/javascript" src="[path]/codegrid.js"></script> grid = codegrid.CodeGrid(); // initialize grid.getCode (lat, lng, function (err, code) { ... }); 

callback被称为code ,latlng的国家代码。

如果您使用的是golang,您可以使用这两个库中的一个来获取国家,而且您不需要进行api调用,因为数据集是内置的,因此不受限制。

https://github.com/SocialHarvest/geobed

https://github.com/bradfitz/latlong