我想在加载地图之前在启动画面中显示权限。 这是我在代码中得到的结果。打开应用程序,它会显示“启动画面”,然后在我启用GPS的同时加载“权限和地图”之后,getCurrentPosition将不会在地图中执行。
我想要的结果是在“初始屏幕”中时,它将在加载地图之前显示权限,因此将执行getCurrentPosition。
我尝试了一些代码,但是没有任何效果。先感谢您!祝你有美好的一天。
这是我的代码:
componentDidMount(){
this.requestLocationPermission()
this.getUserLocationHandler()
SplashScreen.hide()
}
getUserLocationHandler = () => {
Geolocation.getCurrentPosition(
position => {
this.setState({
userLocation: {
latitude: position.coords.latitude,
longitude: position.coords.longitude,
latitudeDelta: 0.0043,
longitudeDelta: 0.0104,
},
});
},
err => console.log(err.code, err.message)
);
};
requestLocationPermission = () => {
try {
const granted = PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
{
title: 'Location Permission',
message: 'You must to accept this to make it work.'
}
)
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log("Permission accepted")
} else {
console.log("Permission Denied.")
}
} catch (err) {
console.warn(err)
}
}
render() {
return(
<View style={styles.container}>
<StatusBar backgroundColor='transparent' translucent={true} />
<MapView userLocation={this.state.userLocation} />
</View>
);
}
}