Tutorial HTML

INICIO HTML Introducción HTML Editores HTML HTML básico Elementos HTML Atributos HTML Encabezados HTML Párrafos HTML Estilos HTML Formato HTML Cotizaciones HTML Comentarios HTML Colores HTML CSS HTML Enlaces HTML Imágenes HTML icono de favoritos HTML Tablas HTML Listas HTML Bloque HTML y en línea Clases HTML Identificación HTML Marcos flotantes HTML HTML JavaScript Rutas de archivo HTML Encabezado HTML Diseño HTML Responsivo HTML Código informático HTML Semántica HTML Guía de estilo HTML Entidades HTML Símbolos HTML Emoticonos HTML Juego de caracteres HTML Codificación de URL HTML HTML frente a XHTML

Formularios HTML

Formularios HTML Atributos de formulario HTML Elementos de formulario HTML Tipos de entrada HTML Atributos de entrada HTML Atributos de formulario de entrada HTML

Gráficos HTML

Lienzo HTML HTML SVG

Medios HTML

Medios HTML Vídeo HTML Audio HTML Complementos HTML HTML de YouTube

API de HTML

Geolocalización HTML Arrastrar/soltar HTML Almacenamiento web HTML Trabajadores web HTML SSE HTML

Ejemplos HTML

Ejemplos HTML Cuestionario HTML Ejercicios HTML Certificado HTML Resumen HTML Accesibilidad HTML

Referencias HTML

Lista de etiquetas HTML Atributos HTML Atributos globales HTML Compatibilidad con navegador HTML Eventos HTML Colores HTML Lienzo HTML Audio/vídeo HTML Tipos de documentos HTML Conjuntos de caracteres HTML Codificación de URL HTML Códigos de idioma HTML Mensajes HTTP Métodos HTTP Convertidor PX a EM Atajos de teclado

API de geolocalización HTML


La API de geolocalización HTML se utiliza para localizar la posición de un usuario.


Localizar la posición del usuario

La API de geolocalización HTML se utiliza para obtener la posición geográfica de un usuario.

Dado que esto puede comprometer la privacidad, el puesto no está disponible a menos que el usuario lo apruebe.

Nota: la geolocalización es más precisa para dispositivos con GPS, como los teléfonos inteligentes.


Compatibilidad con navegador

Los números de la tabla especifican la primera versión del navegador que es totalmente compatible con la geolocalización.

API
Geolocation 5.0 - 49.0 (http)
50.0 (https)
9.0 3.5 5.0 16.0

Nota: A partir de Chrome 50, la API de geolocalización solo funcionará en contextos seguros como HTTPS. Si su sitio está alojado en un origen no seguro (como HTTP), las solicitudes para obtener la ubicación de los usuarios ya no funcionarán.


Uso de geolocalización HTML

El getCurrentPosition()método se utiliza para devolver la posición del usuario.

El siguiente ejemplo devuelve la latitud y la longitud de la posición del usuario:

Ejemplo

<script>
var x = document.getElementById("demo");
function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
  } else {
    x.innerHTML = "Geolocation is not supported by this browser.";
  }
}

function showPosition(position) {
  x.innerHTML = "Latitude: " + position.coords.latitude +
  "<br>Longitude: " + position.coords.longitude;
}
</script>

Ejemplo explicado:

  • Compruebe si la geolocalización es compatible
  • Si es compatible, ejecute el método getCurrentPosition(). Si no, mostrar un mensaje al usuario.
  • Si el método getCurrentPosition() tiene éxito, devuelve un objeto de coordenadas a la función especificada en el parámetro (showPosition)
  • La función showPosition() genera la latitud y la longitud

El ejemplo anterior es un script de geolocalización muy básico, sin manejo de errores.



Manejo de errores y rechazos

El segundo parámetro del getCurrentPosition()método se utiliza para manejar errores. Especifica una función para ejecutar si no puede obtener la ubicación del usuario:

Ejemplo

function showError(error) {
  switch(error.code) {
    case error.PERMISSION_DENIED:
      x.innerHTML = "User denied the request for Geolocation."
      break;
    case error.POSITION_UNAVAILABLE:
      x.innerHTML = "Location information is unavailable."
      break;
    case error.TIMEOUT:
      x.innerHTML = "The request to get user location timed out."
      break;
    case error.UNKNOWN_ERROR:
      x.innerHTML = "An unknown error occurred."
      break;
  }
}

Información específica de la ubicación

Esta página ha demostrado cómo mostrar la posición de un usuario en un mapa.

La geolocalización también es muy útil para obtener información específica de la ubicación, como:

  • Información local actualizada
  • Mostrando puntos de interés cerca del usuario
  • Navegación paso a paso (GPS)

El método getCurrentPosition() - Devolver datos

El getCurrentPosition()método devuelve un objeto en caso de éxito. Las propiedades de latitud, longitud y precisión siempre se devuelven. Las otras propiedades se devuelven si están disponibles:

Property Returns
coords.latitude The latitude as a decimal number (always returned)
coords.longitude The longitude as a decimal number (always returned)
coords.accuracy The accuracy of position (always returned)
coords.altitude The altitude in meters above the mean sea level (returned if available)
coords.altitudeAccuracy The altitude accuracy of position (returned if available)
coords.heading The heading as degrees clockwise from North (returned if available)
coords.speed The speed in meters per second (returned if available)
timestamp The date/time of the response (returned if available)

Objeto de geolocalización - Otros métodos interesantes

El objeto Geolocalización también tiene otros métodos interesantes:

  • watchPosition() - Devuelve la posición actual del usuario y continúa devolviendo la posición actualizada a medida que el usuario se mueve (como el GPS en un automóvil).
  • clearWatch()- Detiene el watchPosition()método.

El siguiente ejemplo muestra el watchPosition()método. Necesita un dispositivo GPS preciso para probar esto (como un teléfono inteligente):

Ejemplo

<script>
var x = document.getElementById("demo");
function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.watchPosition(showPosition);
  } else {
    x.innerHTML = "Geolocation is not supported by this browser.";
  }
}
function showPosition(position) {
  x.innerHTML = "Latitude: " + position.coords.latitude +
  "<br>Longitude: " + position.coords.longitude;
}
</script>