我正在尝试使用navigator.geolocation.getCurrentPosition()获取当前的gps坐标。
一些注意事项: 1.我正在通过android studio使用模拟器 2.我已经启用
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
由于我使用的是SDK版本26。我尝试使用PermissionsAndroid。但是,当我使用示例code时,它们提供了:
从“ react-native”导入{PermissionsAndroid};
async function requestCameraPermission() {
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.CAMERA,
{
'title': 'Cool Photo App Camera Permission',
'message': 'Cool Photo App needs access to your camera ' +
'so you can take awesome pictures.'
}
)
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log("You can use the camera")
} else {
console.log("Camera permission denied", granted)
}
} catch (err) {
console.warn(err)
}
}
这总是会导致console.log指出“摄像机许可”被拒绝,不再询问。
我的异步ComponentWillMount函数如下所示:
componentWillMount = async() => {
console.log('inside cwm', );
console.log('before navigator');
await navigator.geolocation.getCurrentPosition(
(position) => {
const initialPosition = JSON.stringify(position);
console.log('heres your location', initialPosition);
// this.setState({ initialPosition });
},
(error) => alert(error.message),
{ enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 }
);
console.log('after navigator"');
}
我看到的唯一console.log消息是方法之前的两个,以及方法之后的最终console.log。除了PermissionsAndroid和getCurentPosition()以外,我还需要获取当前的GPS坐标吗?