Wat*_*wer 6 android google-maps ios react-native
我将在本机反应中获取当前位置。
我使用了下面的代码:
if(Platform.OS == "android") {
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
{
'title': 'Location Permission',
'message': 'Wichz would like to access your location to get your things.'
}
)
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
// console.warn("You can use locations ")
} else {
// console.warn("Location permission denied")
}
} catch (err) {
// console.warn(err)
}
}
this.watchID = navigator.geolocation.watchPosition((position) => {
this.setState({
selectedLat: position.coords.latitude,
selectedLng: position.coords.longitude
});
Global.selectedLat = position.coords.latitude;
Global.selectedLng = position.coords.longitude;
this.getcurrent_address(position.coords.latitude, position.coords.longitude);
}, (error)=>console.log(error.message),
{enableHighAccuracy: false, timeout: 3, maximumAge: 1, distanceFilter: 1}
);
Run Code Online (Sandbox Code Playgroud)
它在 ios 和 android 上都运行良好,但我收到如下警告框:
如何避免出现此警告框?谢谢
现在可能为时已晚,但我将向将来遇到同样问题的人详细介绍我的警告经历。
我自己以前也遇到过这个错误。对我来说,此警告的原因基本上是在地理定位 watchPosition 调用完全完成之前重新渲染组件。
就我而言,这是因为我有多个提取调用,导致组件快速连续地重新渲染。我通过仅在组件的最终渲染时调用地理定位 watchPosition 来修复此问题。
| 归档时间: |
|
| 查看次数: |
2118 次 |
| 最近记录: |