Geolocation.getCurrentPosition()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Contexto seguro: Esta función está disponible solo en contextos seguros (HTTPS), en algunos o todos los navegadores que lo soportan.

El método Geolocation.getCurrentPosition() es usado para obtener la ubicación actual del dispositivo.

Sintaxis

js
getCurrentPosition(success)
getCurrentPosition(success, error)
getCurrentPosition(success, error, options)

Parámetros

success

La función devuelta tiene como único parámetro de entrada un objeto de tipo GeolocationPosition.

error Opcional

La función opcional devuelta tiene como parámetro de entrada un objeto de tipo GeolocationPositionError.

options Opcional

Un objeto opcional que puede incluir las siguientes propiedades:

maximumAge

Un valor positivo de tipo long que indica el tiempo máximo en milisegundos que una posible ubicación almacenada en caché puede ser devuelta. Si se establece en 0, eso significa que el dispositivo no podrá usar la ubicación almacenada en caché y debe intentar recuperar la ubicación real y actual. Si se establece como Infinity el dispositivo deberá regresar la ubicación almacenada en caché independientemente de su antigüedad. Predeterminado: 0.

timeout

Un valor positivo de tipo long que representa el tiempo máximo en milisegundos en que el dispositivo tiene permitido recuperar la ubicación. El valor predeterminado es Infinity, esto significa que getCurrentPosition() regresará un valor hasta que la ubicación este disponible.

enableHighAccuracy

Un valor de tipo boolean que indica que a la aplicación le gustaría obtener el resultado más preciso posible. Si es true y el dispositivo es capaz de proveer una ubicación más precisa, lo hará. Tenga en cuenta que este resultado puede necesitar de más tiempo de respuesta o incrementar el consumo de energía (con un chip GPS en un dispositivo móvil por ejemplo). Por otro lado, si es false, el dispositivo puede tomarse la libertad de usar menos recursos y responder más rápido y/o usando menos energía. Predeterminado: false

Valor devuelto

Ninguno (undefined).

Ejemplos

js
const options = {
  enableHighAccuracy: true,
  timeout: 5000,
  maximumAge: 0,
};

function success(pos) {
  const crd = pos.coords;

  console.log("Tu ubicación actual es:");
  console.log(`Latitud : ${crd.latitude}`);
  console.log(`Longitud: ${crd.longitude}`);
  console.log(`Más o menos ${crd.accuracy} metros.`);
}

function error(err) {
  console.warn(`ERROR(${err.code}): ${err.message}`);
}

navigator.geolocation.getCurrentPosition(success, error, options);

Especificaciones

Specification
Geolocation
# getcurrentposition-method

Compatibilidad con navegadores

BCD tables only load in the browser

Véase también