Hay 2 formas de determinar la ubicación del usuario para mostrarles contenido diferente: del lado del cliente y del servidor.
El lado del cliente significa que el sitio solicita al navegador del usuario que revele la ubicación del usuario. Esta característica ha estado disponible desde HTML 5. En resumen, debe agregar un fragmento de código JavaScript especial a la página de su sitio, algo como esto:
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition (geoSuccess, geoError);
}
- ¿Cuáles son los usos comunes de WebDAV? ¿Por qué alguien implementaría eso en lugar de FTP para editar archivos en un servidor web?
- ¿Qué necesito para escribir un script que me ayude a hacer clic en los botones de los sitios web?
- ¿Es simplex.com un sitio de estafa?
- ¿Hay un sitio para que los locales compartan?
- ¿Cuáles son las 3 cosas principales que alguien debe considerar al crear un sitio web nuevo?
Se llama al controlador geoSuccess cuando el usuario da permiso para usar su ubicación; de lo contrario se llama a geoError . Puede encontrar más información sobre esta característica aquí: Geolocalización – Sumérjase en HTML5
Incluso si el usuario no permite que el navegador comparta su ubicación, puede usar el método del lado del servidor. La idea es simple: cada solicitud HTTP entrante tiene la dirección IP del usuario. Existen servicios especiales que le permiten determinar la ubicación del usuario en función de sus direcciones IP, los llamados servicios GeoIP. Algunos de ellos tienen API abierta; otros proporcionan bases de datos descargables que se pueden usar de forma independiente. Supongo que el servicio más popular que tiene ambas opciones es MaxMind: Базы данных GeoIP2.
Aquí hay un ejemplo de un sitio donde se usan ambos métodos: 5 minutos para trabajar. Su trabajo local está a solo unos pasos de su hogar. El sitio le solicita su ubicación, pero incluso si no la revela, se calcula en función de su dirección IP.