Как получить данные о местоположении из фотографий в React Native Android 10 - PullRequest
1 голос
/ 18 февраля 2020

MediaStore.Images.Media.LATITUDE и MediaStore.Images.Media.LONGITUDE устарели в Android Q.

В любом случае известно, как мы можем получить расположение Media на React Native с помощью expo? В основном сделайте ниже, не извлекая. Android 10: получить галерею через MediaStore с информацией о местоположении

Спасибо

import * as Permissions from 'expo-permissions';
import * as MediaLibrary from 'expo-media-library';
import Exif from 'react-native-exif'
...

    MediaLibrary.getAssetInfoAsync(asset).then(function (e) {
                                console.log("Location is ", e.location); //always null
                                if (e.location) {
                                    data.push(e);
                                }
                            });
    Exif.getLatLong(asset) //doesn't get location.
                          .then((loc) => { console.log('Location OK: ', loc) })
                          .catch(msg => console.log('messages: ' + msg)) 

1 Ответ

0 голосов
/ 30 марта 2020

Это может быть проблемой, если вы используете реальное устройство, а не эмулятор.

Когда я использую симулятор iOS, нет проблем с определением местоположения этим методом, если изображение содержит любые данные о местоположении.

const imageData = await MediaLibrary.getAssetInfoAsync(assetId);
console.log(imageData.location)

Однако на моем физическом устройстве android поле местоположений также разрешается до null. Даже если изображение, с которым я тестирую, совпадает.

Но когда я использую экспо ImagePicker, местоположение отображается, если изображение содержит информацию.

Кроме того, использование может быть ненужным react-native-exif; метод getAssetInfoAsync уже возвращает данные EXIF ​​изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...