Вот мой код.Я полагаю, что это как-то связано с функциями асинхронности / ожидания, но я не могу понять это.
const App = () => {
async function getUserLocation() {
try {
if(Platform.OS === 'Android') {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log('Access granted!');
Geolocation.getCurrentPosition(
info => {
setLat(info.coords.latitude);
setLng(info.coords.longitude);
},
error => {
console.log(error);
}
);
} else {
console.log('Access denied!');
}
}
} catch (err) {
console.warn(err);
}
}
useEffect(() => {
getUserLocation();
}, []);
return (
{lat && lng &&
<MapView
showsUserLocation
provider={PROVIDER_GOOGLE}
style={styles.map}
region={{
latitude: lat,
longitude: lng,
latitudeDelta: 0.040,
longitudeDelta: 0.020,
}}
/>
}
);
}
Карта, кажется, загружается, но у меня нет определенного местоположения.Это просто серая штука.
что я делаю не так?