gpt4 book ai didi

reactjs - 没有可用的位置提供程序, react native 中的权限被拒绝

转载 作者:行者123 更新时间:2023-12-03 13:35:19 27 4
gpt4 key购买 nike

我有一个应用程序需要用户允许该位置。我正在测试应用程序的设备显示没有问题。但每当我使用其他设备时,它都会显示以下错误:

enter image description here

这是我的代码:

 componentDidMount() {
navigator.geolocation.getCurrentPosition((position) => {
let lat = parseFloat(position.coords.latitude)
let long = parseFloat(position.coords.longitude)

let initialRegion = {
latitude: lat,
longitude: long,
latitudeDelta: LATITUDE_DELTA,
longitudeDelta: LONGITUDE_DELTA
}

this.setState({ initialPosition: initialRegion })
this.setState({ markerPosition: initialRegion })
},
(error) => alert(JSON.stringify(error)),
{ enableHighAccuracy: true, timeout: 2000, maximumAge: 3600000 }
)
}

我尝试过{enableHighAccuracy: false, timeout: 2000 },但它显示了相同的错误。

最佳答案

根据您提供的代码,您并未显示您正在请求授权来访问权限。

在开始请求位置之前,您应该调用 navigator.geolocation.requestAuthorization();

您还应该确保已在 AndroidManifest.xmlInfo.plist 中设置所需的权限

您可以在此处查看文档 https://facebook.github.io/react-native/docs/geolocation

Android API >= 23 Requires an additional step to check for, and request the ACCESS_FINE_LOCATION permission using the PermissionsAndroid API. Failure to do so may result in a hard crash.

你可以做这样的事情。

import { PermissionsAndroid } from 'react-native';

async function requestLocationPermission() {
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
{
'title': 'Location Permission',
'message': 'This App needs access to your location ' +
'so we can know where you are.'
}
)
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log("You can use locations ")
} else {
console.log("Location permission denied")
}
} catch (err) {
console.warn(err)
}
}

关于reactjs - 没有可用的位置提供程序, react native 中的权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54305731/

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