Geolocalización
Obtén y rastrea la posición actual del dispositivo, incluyendo información sobre altitud, rumbo y velocidad (si están disponibles).
Plataformas Soportadas
Sección titulada “Plataformas Soportadas”Este plugin requiere una versión de Rust de al menos 1.77.2
| Plataforma | Nivel | Notas |
|---|---|---|
| windows | ||
| linux | ||
| macos | ||
| android | ||
| ios |
Configuración
Sección titulada “Configuración”Instala el plugin de geolocalización para comenzar.
Usa el gestor de paquetes de tu proyecto para agregar la dependencia:
npm run tauri add geolocationyarn run tauri add geolocationpnpm tauri add geolocationdeno task tauri add geolocationbun tauri add geolocationcargo tauri add geolocation-
Ejecuta el siguiente comando en la carpeta
src-tauripara agregar el plugin a las dependencias del proyecto enCargo.toml:cargo add tauri-plugin-geolocation --target 'cfg(any(target_os = "android", target_os = "ios"))' -
Modifica
lib.rspara inicializar el plugin:src-tauri/src/lib.rs #[cfg_attr(mobile, tauri::mobile_entry_point)]pub fn run() {tauri::Builder::default().setup(|app| {#[cfg(mobile)]app.handle().plugin(tauri_plugin_geolocation::init());Ok(())}).run(tauri::generate_context!()).expect("error while running tauri application");} -
Instala los bindings de JavaScript utilizando tu gestor de paquetes de JavaScript preferido:
npm install @tauri-apps/plugin-geolocationyarn add @tauri-apps/plugin-geolocationpnpm add @tauri-apps/plugin-geolocationdeno add npm:@tauri-apps/plugin-geolocationbun add @tauri-apps/plugin-geolocation
Configuración
Sección titulada “Configuración”Apple requiere que se especifiquen descripciones de privacidad en Info.plist para la información de ubicación, donde debes describir por qué tu aplicación necesita acceder a ella. A continuación se ilustra un ejemplo de descripción:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"> <dict> <key>NSLocationWhenInUseUsageDescription</key> <string>Required to do XY</string> </dict></plist>Android
Sección titulada «Android»Este plugin añade automáticamente los siguientes permisos a tu archivo AndroidManifest.xml:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />Si tu aplicación requiere funcionalidad GPS para funcionar, deberías añadir lo siguiente a tu archivo AndroidManifest.xml:
<uses-feature android:name="android.hardware.location.gps" android:required="true" />Google Play Store utiliza esta propiedad para decidir si debe mostrar la aplicación a dispositivos sin capacidades de GPS.
El plugin de geolocalización está disponible en JavaScript.
import { checkPermissions, requestPermissions, getCurrentPosition, watchPosition,} from '@tauri-apps/plugin-geolocation';
let permissions = await checkPermissions();if ( permissions.location === 'prompt' || permissions.location === 'prompt-with-rationale') { permissions = await requestPermissions(['location']);}
if (permissions.location === 'granted') { const pos = await getCurrentPosition();
await watchPosition( { enableHighAccuracy: true, timeout: 10000, maximumAge: 0 }, (pos) => { console.log(pos); } );}Permisos
Sección titulada “Permisos”De forma predeterminada, todos los comandos y alcances (scopes) potencialmente peligrosos del plugin están bloqueados y no se puede acceder a ellos. Debes modificar los permisos en tu configuración de capabilities para habilitarlos.
Consulta la Visión General de Capacidades para obtener más información y la guía paso a paso para usar permisos de plugins.
{ "$schema": "../gen/schemas/mobile-schema.json", "identifier": "mobile-capability", "windows": ["main"], "platforms": ["iOS", "android"], "permissions": [ "core:default", "geolocation:allow-check-permissions", "geolocation:allow-request-permissions", "geolocation:allow-get-current-position", "geolocation:allow-watch-position" ]}Tabla de Permisos
| Identificador | Descripción |
|---|---|
|
|
Habilita el comando check_permissions sin ningún alcance preconfigurado. |
|
|
Deniega el comando check_permissions sin ningún alcance preconfigurado. |
|
|
Habilita el comando clear_permissions sin ningún alcance preconfigurado. |
|
|
Deniega el comando clear_permissions sin ningún alcance preconfigurado. |
|
|
Habilita el comando clear_watch sin ningún alcance preconfigurado. |
|
|
Deniega el comando clear_watch sin ningún alcance preconfigurado. |
|
|
Habilita el comando get_current_position sin ningún alcance preconfigurado. |
|
|
Deniega el comando get_current_position sin ningún alcance preconfigurado. |
|
|
Habilita el comando request_permissions sin ningún alcance preconfigurado. |
|
|
Deniega el comando request_permissions sin ningún alcance preconfigurado. |
|
|
Habilita el comando watch_position sin ningún alcance preconfigurado. |
|
|
Deniega el comando watch_position sin ningún alcance preconfigurado. |
© 2026 Colaboradores de Tauri. CC-BY / MIT