Android:有时谷歌地图显示错误的当前位置
我正在使用react native maps显示地图 我的当前位置如下所示:Android:有时谷歌地图显示错误的当前位置,android,ios,google-maps,react-native-maps,Android,Ios,Google Maps,React Native Maps,我正在使用react native maps显示地图 我的当前位置如下所示: navigator.geolocation.getCurrentPosition( position => { region = { latitude: position.coords.latitude, longitude: position.coords.longitude, latitudeDelta: th
navigator.geolocation.getCurrentPosition(
position => {
region = {
latitude: position.coords.latitude,
longitude: position.coords.longitude,
latitudeDelta: this.state.position.latitudeDelta,
longitudeDelta: this.state.position.longitudeDelta
}
this.setState(
{
position: {
latitude: region.latitude,
longitude: region.longitude,
latitudeDelta: region.latitudeDelta,
longitudeDelta: region.longitudeDelta,
error: null
}
})
})
但有时它会显示我所在的位置
有人能建议如何通过代码解决这个问题吗
谢谢你 你应该考虑使用参数“最大值”。e、 g
navigator.geolocation.getCurrentPosition(position => {
region: {
latitude: position.coords.latitude,
longitude: position.coords.longitude,
latitudeDelta: this.state.position.latitudeDelta,
longitudeDelta: this.state.position.longitudeDelta
}
this.setState(
{
position: {
latitude: region.latitude,
longitude: region.longitude,
latitudeDelta: region.latitudeDelta,
longitudeDelta: region.longitudeDelta,
error: null
}
})
}, err => {
console.log(err)
alert('fetching the position failed')
}, {enableHighAccuracy: false, timeout: 20000, maximumAge: 0})
根据:
PositionOptions.maximumAge属性是一个正长值,指示可接受返回的可能缓存位置的最长时间(以毫秒为单位)。如果设置为0,则表示设备无法使用缓存位置,必须尝试检索实际的当前位置。如果设置为无穷大,则设备必须返回缓存位置,而不管其使用年限如何
你需要停止gps并重新开始是的,我这样做了,但没有结果如果我保留了它,那么我的地图有时根本不加载,这需要很长时间,这是一种折衷,根据你的用例,你必须做出决定。您希望检索实际位置(而不是使用缓存位置)的频率,并相应地设置maximumAge变量。:)如果我给maximumAge属性赋予任何值,那么地图根本就没有加载,也就是说我没有获取当前位置您的gps/位置在哪里?打开它,然后再试一次。