我正在使用react-native-maps来显示地图
我的当前位置如下:
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
}
})
})
但有时它会显示我所处的位置 任何人都可以建议如何通过代码来解决这个问题 谢谢
答案 0 :(得分:1)
您应该考虑使用参数'maximumAge'。例如
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,则表示设备无法使用缓存位置,必须尝试检索实际当前位置。如果设置为Infinity,则无论其年龄如何,设备都必须返回缓存位置。