change - detectar pais javascript
Obtener paĆs desde la latitud longitud (6)
Google Geocoding API proporciona estos resultados en formato JSON. Es gratis, pero puede que necesites pagar por acceso ilimitado.
Pruebe el enlace abajo
http://maps.googleapis.com/maps/api/geocode/json?latlng=11.2742848,75.8013801
Me gustaría saber cómo puedo obtener el nombre del país de latitud y longitud mediante JavaScript. Abro al uso de la API de JavaScript de Google Maps. ¿Puedo obtener ciudad y zip también?
Editar: mi objetivo es rellenar automáticamente el campo de dirección, no mostrarlo en un mapa.
No sé si funciona con google maps, pero hay un servicio web que devuelve un código de país y toma como parámetros el lat y long.
Aquí hay un ejemplo: http://api.geonames.org/countryCodeJSON?lat=49.03&lng=10.2&username=demo
También encontré una pequeña descripción:
El código de país ISO de cualquier punto dado.
- Tipo de servicio web: REST
- Url:
ws.geonames.org/countryCode?
- Parámetros:
lat
,lng
,type
,lang
,radius
(buffer en km para el país más cercano en áreas costeras)- Resultado: devuelve el código de país ISO para la latitud / longitud especificada
Con el parámetro
type=xml
este servicio devuelve un documento xml con el código de país iso y el nombre del país. El parámetro opcional lang se puede usar para especificar el idioma en el que debería estar el nombre del país. La salida JSON se produce contype=JSON
Ver los docs
Editar: tenga en cuenta que la demo
es solo un usuario de demostración y debe crear una cuenta de usuario en http://www.geonames.org/login para usar el servicio.
Sí, puede usar google maps para encontrar el país para latitudes y longitudes dadas. Use el servicio de geocodificación inversa .
Puede obtener el país, la ciudad, el código postal y la dirección completa de la respuesta que obtiene del servidor. Verifique el ejemplo del enlace para más detalles;)
Si está usando golang puede usar una de estas 2 bibliotecas para obtener el país y no necesita ni siquiera hacer una llamada de API ya que el conjunto de datos está incorporado, por lo que es ilimitado.
Si una biblioteca autónoma (es decir, no hay conexión de servidor / Internet, y rápida) es deseable, y solo se requiere información del país, la siguiente biblioteca basada en datos de openstreetmap puede ser útil: 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) { ... });
La devolución de llamada se llama con code
, el código de país para latlng.
<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>