GPS位置在本机反应中波动

Posted

技术标签:

【中文标题】GPS位置在本机反应中波动【英文标题】:GPS location fluctuating in react native 【发布时间】:2020-02-21 06:05:03 【问题描述】:

我在我的一个应用程序中使用 GPS 位置来做出本机反应。我需要每隔一段时间跟踪用户位置。但我得到不同的纬度和经度。我已经将其设置为高精度。但它不会返回用户的准确位置。此外,我发现 GPS 在 iosandroid 中返回不同的位置。请帮助我了解如何获取用户的确切位置。

【问题讨论】:

这可能是您的解决方案。 ***.com/questions/60175773/… 【参考方案1】:

我前段时间遇到过这个问题,即使你使用 HighAccuracy 标志 true,这个核心地理定位 API 在真实设备上也不能完美运行,所以在这里我找到了一些你可以用来获取确切位置的库

react-native-geolocation-service

这是我在上面的库中使用的代码,已经在 IOS 和 android 设备上测试过

import Geolocation from 'react-native-geolocation-service'

该函数用于获取当前使用位置

const getUserCorrectLocation = async () => 
await Geolocation.getCurrentPosition(
  currentLocation => 
    const  coords  = currentLocation

  ,
  error => 
    console.log(error, 'error')
  ,
   enableHighAccuracy: true, timeout: 15000, maximumAge: 10000, distanceFilter: 0, 
  forceRequestLocation: true 
)

我使用的第二个功能是跟踪用户的位置,当他 开始他的旅程

useEffect(() => 
  const watchId = Geolocation.watchPosition(
    position => 
      const  coords  = position

    ,
    error => 
      console.log(error, 'coords')
    ,
    
      enableHighAccuracy: true,
      interval: 2000,
      fastestInterval: 1000,
      distanceFilter: 2
    
  )
  return () => Geolocation.clearWatch(watchId)
,[])

【讨论】:

我花了很多时间试图定义如何正确使用选项,您的回答解决了我的问题。

以上是关于GPS位置在本机反应中波动的主要内容,如果未能解决你的问题,请参考以下文章

如果没有GPS,则无法使用navigator.geolocation进行反应原生的当前位置

在本机反应中找不到 sdk 位置

反应原生无法从蜂窝网络找到位置

如何在本机反应中获得当前位置的准确纬度和经度

在反应本机模式上添加 UI 元素,例如固定位置上的按钮

装载机在IE 11中波动