从纬度经度获取国家
我想知道如何使用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?
- 参数:
lat
,lng
,type
,lang
,radius
(沿海地区最近国家的缓冲区)- 结果:返回给定纬度/经度的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调用,因为数据集是内置的,因此不受限制。