我想知道如何从纬度和地址获取国家/地区名称。使用JavaScript的经度。我愿意使用Google Maps的JavaScript API。我还可以获得城市和拉链吗?
修改:我的目标是自动填写地址字段,而不是在地图上显示。
答案 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?
- 参数:
lat
,lng
,type
,lang
,radius
(沿海地区最近的国家/地区的缓冲区)- 结果:返回给定纬度/经度的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调用,因为数据集是内置的,因此无限制。