Consumo práctico de una API de Geolocalización
Hasta ahora hemos comprendido qué son las APIs de geolocalización y cómo se integran en aplicaciones web orientadas a servicios.
En esta sesión pondremos en práctica estos conceptos desarrollando una aplicación web sencilla que obtenga la ubicación del usuario utilizando una API de geolocalización.
El objetivo no es solo obtener coordenadas, sino entender el flujo de comunicación entre el cliente y un servicio.
Objetivo de la práctica
Al finalizar esta clase, el estudiante será capaz de:
- Solicitar la ubicación del usuario desde el navegador.
- Obtener coordenadas geográficas (latitud y longitud).
- Mostrar la información en pantalla.
- Relacionar el uso de APIs con la arquitectura orientada a servicios.
API de Geolocalización del Navegador
La API de Geolocalización del navegador permite obtener la ubicación del usuario sin necesidad de servicios externos adicionales.
Características:
- Requiere permiso del usuario.
- Funciona en la mayoría de los navegadores modernos.
- Devuelve datos en tiempo real.
- Forma parte del entorno del cliente.
Estructura del proyecto
Crearemos un proyecto básico con:
- HTML
- JavaScript
- Navegador web
No se utilizarán frameworks para comprender mejor el funcionamiento de la API.
Paso 1: Estructura HTML
Creamos un archivo index.html con la siguiente estructura:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Geolocalización</title>
</head>
<body>
<h1>API de Geolocalización</h1>
<button onclick="obtenerUbicacion()">Obtener ubicación</button>
<p id="resultado"></p>
<script src="app.js"></script>
</body>
</html>
Paso 2: Uso de la API de Geolocalización
Creamos el archivo app.js:
function obtenerUbicacion() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
mostrarPosicion,
mostrarError
);
} else {
document.getElementById("resultado").innerText =
"La geolocalización no es compatible con este navegador.";
}
}
Paso 3: Mostrar la posición del usuario
Agregamos la función para procesar los datos recibidos:
function mostrarPosicion(posicion) {
const latitud = posicion.coords.latitude;
const longitud = posicion.coords.longitude;
const precision = posicion.coords.accuracy;
document.getElementById("resultado").innerHTML = `
<strong>Latitud:</strong> ${latitud} <br>
<strong>Longitud:</strong> ${longitud} <br>
<strong>Precisión:</strong> ${precision} metros
`;
}
Paso 4: Manejo de errores
Es importante contemplar posibles errores:
function mostrarError(error) {
switch (error.code) {
case error.PERMISSION_DENIED:
mensaje = "El usuario negó el acceso a la ubicación.";
break;
case error.POSITION_UNAVAILABLE:
mensaje = "La ubicación no está disponible.";
break;
case error.TIMEOUT:
mensaje = "La solicitud tardó demasiado.";
break;
default:
mensaje = "Ocurrió un error desconocido.";
}
document.getElementById("resultado").innerText = mensaje;
}
Actividad de la clase
Evidencia práctica
- Ejecutar la aplicación en tu navegador.
- Otorga permiso para acceder a la ubicación.
- Captura evidencia del resultado.
- Responde en un breve reporte:
- ¿Qué datos proporciona la API?
- ¿Por qué es necesario el permiso del usuario?
- ¿Qué ventajas ofrece esta API en aplicaciones reales?
Esta actividad formará parte de tus evidencias de evaluación.