Google proporciona una forma de obtener la ubicación del usuario a través de AJAX API loader. Esto incluso funcionará sin Gears instalado. Sólo tiene que incluir una etiqueta de script que apunta a la jsapi:
<script type="text/javascript"
src="http://www.google.com/jsapi?key=ABCDEFG">
</script>
Cuando una aplicación hace uso del cargador de API AJAX, el cargador intenta localizar geográficamente el cliente en base a su dirección IP. Si este proceso tiene éxito, la ubicación del cliente, con alcance al nivel de metro, estará disponible en la propiedad google.loader.ClientLocation. Si el proceso no puede encontrar una coincidencia, esta propiedad se establece en nulo.
if (google.loader.ClientLocation){
var center = new google.maps.LatLng(
google.loader.ClientLocation.latitude,
google.loader.ClientLocation.longitude
);
map.setCenter(center);
}
Cuando se rellena, el google.loader.objeto ClientLocation se rellena con las siguientes propiedades de granularidad a nivel de metro:
ClientLocation.latitude
- suministra la latitud baja resolución asociado a la dirección IP del cliente
ClientLocation.longitude
- suministra la longitud de baja resolución asociado a la dirección IP del cliente
ClientLocation.address.city
- proporciona el nombre de la ciudad asociado a la dirección IP del cliente
ClientLocation.address.country
- suministra el nombre del país asociado a la dirección IP del cliente
ClientLocation.address.country_code
- Proporciona el nombre del código de país ISO 3166-1 asociado a la dirección IP del cliente
ClientLocation.address.region
- suministra el nombre de una región específica del país asociado a la dirección IP del cliente
Esto siempre ha tenido los mejores resultados para mí: http://united-coders.com/christian-harms/free-ip-location-script –
Puede hacer una llamada a un tercero API como la mía, https://ipdata.co – Jonathan