Как получать координаты в react-native + expo?

В React Native с использованием библиотеки Expo можно получить текущие координаты устройства с помощью пакета expo-location. Вот пошаговая инструкция, как получить координаты:

  1. Установите Expo CLI, если еще не сделали этого, командой npm install -g expo-cli.
  1. Создайте новый проект React Native с помощью команды expo init my-project (где my-project - название вашего проекта).
  1. Перейдите в каталог проекта командой cd my-project.
  1. Установите пакет expo-location с помощью команды expo install expo-location.
  1. Импортируйте необходимые модули в Вашу компоненту:
import React, { useEffect, useState } from 'react';
import { View, Text } from 'react-native';
import * as Location from 'expo-location';
  1. Создайте функцию для получения координат:
const getLocation = async () => {
  let { status } = await Location.requestForegroundPermissionsAsync();
  if (status !== 'granted') {
    console.log('Permission to access location was denied');
    return;
  }

  let location = await Location.getCurrentPositionAsync({})

  // Здесь вы можете использовать полученные координаты в своем коде
  console.log(location.coords.latitude, location.coords.longitude);
};
  1. Используйте функцию getLocation для получения координат, например, внутри компонента useEffect:
useEffect(() => {
  getLocation();
}, []);
  1. Заметьте, что для работы с expo-location вам также может понадобиться разрешение на доступ к местоположению устройства. Вы можете добавить соответствующую информацию в файл app.json:
{
  "expo": {
    "android": {
      "permissions": [
        "ACCESS_COARSE_LOCATION",
        "ACCESS_FINE_LOCATION"
      ]
    }
  }
}

Это руководство показывает, как получить текущие координаты устройства в React Native с использованием пакета expo-location. Пожалуйста, обратите внимание, что точность и доступность координат могут различаться в зависимости от устройства и настроек пользователя.