Reactnative, geolocation

De Wikijoan
Dreceres ràpides: navegació, cerca

Contingut

Exemple geolocation

Aquest és l'exemple mínim per tal de què funcioni la geolocalització en el mòbil, amb Reactnative.

Creem la plantilla de la nostra aplicació:

 
$ expo init geo-example
$ cd geo-example

Hem de demanar permisos al nostre dispositius per tal d'accedir a la LOCATION. En el tutorial suposen que estem amb el Android SDK, però nosaltres estem amb l'entorn Expo de desenvolupament.

$ expo install expo-permissions

Permission type: LOCATION 
Packages: expo-location

Es soluciona editant el fitxer app.json (en el directori arrel):

    "android": {
      "permissions": [
        "ACCESS_FINE_LOCATION",
      ]

En l'app, quan cliquem sobre el text, se'ns demana permís per accedir a la location, i quan diem que sí, es mostra per pantalla.

Ha funcionat, però no tinc clar si és obligatori incloure aquestes funcions:


async function alertIfRemoteNotificationsDisabledAsync() {
  const { status } = await Permissions.getAsync(Permissions.NOTIFICATIONS);
  if (status !== 'granted') {
    alert('Hey! You might want to enable notifications for my app, they are good.');
  }
}

async function checkMultiPermissions() {
  const { status, expires, permissions } = await Permissions.getAsync(
    Permissions.CALENDAR,
    Permissions.CONTACTS
  );
  if (status !== 'granted') {
    alert('Hey! You have not enabled selected permissions');
  }
}

async function getLocationAsync() {
  // permissions returns only for location permissions on iOS and under certain conditions, see Permissions.LOCATION
  const { status, permissions } = await Permissions.askAsync(Permissions.LOCATION);
  if (status === 'granted') {
    return Location.getCurrentPositionAsync({ enableHighAccuracy: true });
  } else {
    throw new Error('Location permission not granted');
  }
}

creat per Joan Quintana Compte, abril 2020

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
Institut Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines