gpt4 book ai didi

react-native - navigator.geolocation::位置请求超时问题 React Native

转载 作者:行者123 更新时间:2023-12-02 02:46:46 27 4
gpt4 key购买 nike

我正在构建一个 React Native 应用程序并尝试使用 navigator.geolocation 获取我当前的地理编码它向我显示位置请求超时错误。基本上我正在构建一个跟踪应用程序,我需要配置确切的位置纬度经度。要开始跟踪,有一个按钮,单击此跟踪将开始,它应该是跟踪的初始点。我正在使用默认的 react native geolocation API,链接 https://facebook.github.io/react-native/docs/geolocation
获取我当前位置的函数::

getLocation() {
navigator.geolocation.getCurrentPosition(response => {
console.log(response);
if (response && response.coords) {
this.saveLogs(response.coords);
}
},
(error) => {
this.onGeolocationErrorOccurCallback(error);
},
GeolocationOptions
)
}

它向我显示了一个错误::

{"TIMEOUT":3,"POSITION_UNAVAILABLE":2,"PERMISSION_DENIED":1,"message":"Location request timed out", "code":3}



我已经为 Android 设备添加了权限,并且还通过将 enableHighAccuracy 值设置为 false 来进行检查。但这对我不起作用。我需要将 enableHighAccuracy 设置为 true,因为我想要精确的地理编码来跟踪某人。请建议为什么在这里发生位置请求超时?

最佳答案

下面的代码对我有用:

componentDidMount(){
if(Platform.OS === 'android'){
this.requestLocationPermission()
}else{
this._getCurrentLocation()
}
}

async requestLocationPermission() {
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
{
'title': 'Location Permission',
'message': 'MyMapApp needs access to your location'
}
)

if (granted === PermissionsAndroid.RESULTS.GRANTED) {
this._getCurrentLocation()
console.log("Location permission granted")
} else {
console.log("Location permission denied")
}
} catch (err) {
console.warn(err)
}
}

_getCurrentLocation = () =>{
navigator.geolocation.getCurrentPosition(
(position) => {
this.setState({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
})
},
(error) => {
this.setState({ error: error.message })},
{ enableHighAccuracy: true, timeout: 200000, maximumAge: 1000 },
);
}

list 文件中的权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

只需确保您的位置已启用。

关于react-native - navigator.geolocation::位置请求超时问题 React Native,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54342777/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com