React Native 中的地理定位精度
Geolocation accuracy in React Native
我想在我的应用程序中使用两个地理位置观察器。一种具有 useSignificantChanges
,一种具有高精度。
"lowres" 观察者会一直为我的 Redux 商店提供大概位置,而 "highres" 观察者会在用户在实时视图中工作时启用。
以下是低分辨率观察者的选项
const options = {
enableHighAccuracy: false,
useSignificantChanges: true,
distanceFilter: 500,
};
以及高分辨率观察者:
const options = {
enableHighAccuracy: true,
timeout: 60e3,
maximumAge: 10e3,
};
我试过这些设置,但我看不出输出有什么不同。两个观察者同时发出完全相同的位置。我目前正在使用 iOS 模拟器。
问题:
我应该可以有几个观察者,不是吗?否则返回的 watchId
有什么意义?
这只是模拟器的问题吗?
我是不是误会了或弄错了?
编辑,实际问题是:
为什么即使在 "significant changes" 模式下我也能频繁获得准确的 gps 位置。如果我理解正确的话,这种模式应该可以节省电池电量。
谢谢!
useSignificantChanges
选项是 fairly new 并且最近才实施,因此您需要确保:
- 您正在使用支持它的 React Native 版本。根据合并日期,看起来是 v0.47+
- 您正在测试可以使用它的 iOS 版本。 Github issue 指出这是影响 iOS 11 的新功能,因此我认为您至少需要该版本才能看到任何差异。
我想在我的应用程序中使用两个地理位置观察器。一种具有 useSignificantChanges
,一种具有高精度。
"lowres" 观察者会一直为我的 Redux 商店提供大概位置,而 "highres" 观察者会在用户在实时视图中工作时启用。
以下是低分辨率观察者的选项
const options = {
enableHighAccuracy: false,
useSignificantChanges: true,
distanceFilter: 500,
};
以及高分辨率观察者:
const options = {
enableHighAccuracy: true,
timeout: 60e3,
maximumAge: 10e3,
};
我试过这些设置,但我看不出输出有什么不同。两个观察者同时发出完全相同的位置。我目前正在使用 iOS 模拟器。
问题:
我应该可以有几个观察者,不是吗?否则返回的
watchId
有什么意义?这只是模拟器的问题吗?
我是不是误会了或弄错了?
编辑,实际问题是: 为什么即使在 "significant changes" 模式下我也能频繁获得准确的 gps 位置。如果我理解正确的话,这种模式应该可以节省电池电量。
谢谢!
useSignificantChanges
选项是 fairly new 并且最近才实施,因此您需要确保:
- 您正在使用支持它的 React Native 版本。根据合并日期,看起来是 v0.47+
- 您正在测试可以使用它的 iOS 版本。 Github issue 指出这是影响 iOS 11 的新功能,因此我认为您至少需要该版本才能看到任何差异。