Geolocation

Para acessar a geolocalização do dispositivo em um aplicativo React Native, você pode usar a API Geolocation do React Native. Antes de usar a geolocalização, você precisa garantir que a permissão para acessar a localização do dispositivo seja concedida pelo usuário. Abaixo está um exemplo básico de como usar a geolocalização em um aplicativo React Native:

import React, { useEffect, useState } from 'react';
import { View, Text, Button, StyleSheet } from 'react-native';
import Geolocation from '@react-native-community/geolocation';

const MeuComponente = () => {
  const [latitude, setLatitude] = useState(null);
  const [longitude, setLongitude] = useState(null);

  const obterLocalizacao = () => {
    Geolocation.getCurrentPosition(
      (position) => {
        const { latitude, longitude } = position.coords;
        setLatitude(latitude);
        setLongitude(longitude);
      },
      (error) => console.log(error.message),
      { enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 }
    );
  };

  useEffect(() => {
    obterLocalizacao();
  }, []); // Obtém a localização quando o componente é montado

  return (
    <View style={styles.container}>
      {latitude && longitude ? (
        <Text>
          Latitude: {latitude}, Longitude: {longitude}
        </Text>
      ) : (
        <Text>Aguardando localização...</Text>
      )}
      <Button title="Obter Localização" onPress={obterLocalizacao} />
    </View>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
  },
});

export default MeuComponente;

Neste exemplo, Geolocation.getCurrentPosition é usado para obter a localização atual do dispositivo. A função useEffect é usada para chamar obterLocalizacao quando o componente é montado. As coordenadas de latitude e longitude são exibidas na tela quando são obtidas.

Certifique-se de adicionar as permissões necessárias para acessar a localização no arquivo AndroidManifest.xml (para Android) e no arquivo Info.plist (para iOS). Além disso, você deve instalar a biblioteca @react-native-community/geolocation e vinculá-la ao seu projeto React Native:

npm install @react-native-community/geolocation
# ou
yarn add @react-native-community/geolocation

Além disso, este exemplo utiliza a useEffect para obter a localização quando o componente é montado. Você também pode criar uma função que seja chamada quando o usuário pressiona um botão ou em resposta a outras interações do usuário, dependendo das necessidades do seu aplicativo.