我从“ react-native-geolocation-service”库中使用了Geolocation,详细信息如下。我的移动应用程序在很大程度上取决于位置(地理坐标),因此必须正确获取纬度/经度。我面临的问题是android正在返回缓存的位置。我已在代码中删除了maximumAge参数,但仍然在android中获取了缓存的经久。有没有一种方法可以始终使用此库在React Native中从android中的GPS获取当前位置?任何帮助表示赞赏。谢谢。
AndoidManifest.xml:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Location.js:
import Geolocation from 'react-native-geolocation-service';
getCoordinates = () => {
Geolocation.getCurrentPosition(
position => {
this.setState({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
});
},
error => {
}, { enableHighAccuracy: true, timeout: 15000 },
)
};
答案 0 :(得分:1)
如果您不提供任何参数,那么它将使用该参数的默认值。因此,在本例中,您删除了 maximumAge
参数,根据 this doc,该参数的默认值为 INFINITY
。
因此,尝试在选项中传递 maximumAge: 0
,它将提供如下新坐标:
getCoordinates = () => {
Geolocation.getCurrentPosition(
position => {
this.setState({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
});
},
error => {
}, { enableHighAccuracy: true, timeout: 15000, maximumAge: 0 },
)
};