从纬度经度获取国家/地区

时间:2010-12-21 09:15:44

标签: javascript google-maps geolocation

我想知道如何从纬度和地址获取国家/地区名称。使用JavaScript的经度。我愿意使用Google Maps的JavaScript API。我还可以获得城市和拉链吗?

修改:我的目标是自动填写地址字段,而不是在地图上显示。

5 个答案:

答案 0 :(得分:61)

我不知道它是否适用于谷歌地图,但有一个网络服务返回一个国家代码,并将纬度和长度作为参数。

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

返回JSON数据: {"languages":"de","distance":"0","countryCode":"DE","countryName":"Germany"}

我还找到了一点描述:

  

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

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

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

请参阅docs

修改:请注意,demo只是演示用户,您应该在http://www.geonames.org/login创建一个用户帐户才能使用该服务。

答案 1 :(得分:11)

Google Geocoding API以JSON格式提供这些结果。它是免费的,但您可能需要支付无限制访问权。

尝试下面的链接

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

答案 2 :(得分:9)

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

答案 3 :(得分:5)

是的,您可以使用谷歌地图查找给定纬度和经度的国家/地区。使用reverse geocoding service

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

答案 4 :(得分:0)

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

https://github.com/SocialHarvest/geobed

https://github.com/bradfitz/latlong