Как решить: неопределенная ошибка типа Отклонение обещания (id: 0) с картой местоположения пользователя? - PullRequest
0 голосов
/ 11 февраля 2020

Моя позиция во Вьетнаме, но устройство не отображает разрешение, запрашивающее при переходе на этот экран

Вот ошибка Я пытался использовать реаги -native-карты и разрешения на импорт, местоположение из expo-permissions + expo-location Нужно ли ловить ошибку и как это сделать? Также я использую свое реальное устройство

Это код

import React from 'react';
import {
    View,
    Text,
    StyleSheet,
    PermissionsAndroid,
} from 'react-native'
import MapView  from 'react-native-maps';
import {Permissions} from 'expo-permissions';
import {Location} from 'expo-location'

class MapViewScreen extends React.Component {
    constructor(props){
        super(props);

        this.state={
            region:{
                latitude: 37.78825,
                longitude: -122.4324,
                latitudeDelta: 0.922,
                longitudeDelta: 0.0421,
            }
        }
        this._requestUserLocationPermission();
    }
    _requestUserLocationPermission = async () => {
        const { status } = await Permissions.askAsync(Permissions.LOCATION);
        if(status !== 'granted'){
            alert('Please enable your location!')
        }

        let location = await Location.getCurrentPositionAsunc({enabledHighAccuracy: true})
        let region = {
            latitude: location.coords.latitude,
            longitude: location.coords.longitude,
            latitudeDelta: 0.045,
            longitudeDelta: 0.045
        }

    }
    render(){
        return(
            <View style={styles.container}>
                <MapView
                    initialRegion={this.state.region}
                    showsCompass={true}
                    showsUserLocation={true}
                    rotateEnabled={false}
                    style={{flex: 1}}
                />
            </View>
        );
    }
}

export default MapViewScreen;

const styles = StyleSheet.create({
    container:{
        flex: 1,
        backgroundColor: '#fff',
    }
})

1 Ответ

0 голосов
/ 29 февраля 2020

Я успешно исправил проблему. Изменив значение initialRegion на region prop в реагирующих родных картах, экран теперь может показывать местоположение моего устройства сразу после того, как я вхожу в экран карты. Спасибо всем за помощь

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