Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:有时谷歌地图显示错误的当前位置_Android_Ios_Google Maps_React Native Maps - Fatal编程技术网

Android:有时谷歌地图显示错误的当前位置

Android:有时谷歌地图显示错误的当前位置,android,ios,google-maps,react-native-maps,Android,Ios,Google Maps,React Native Maps,我正在使用react native maps显示地图 我的当前位置如下所示: navigator.geolocation.getCurrentPosition( position => { region = { latitude: position.coords.latitude, longitude: position.coords.longitude, latitudeDelta: th

我正在使用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
            }
          })
})
但有时它会显示我所在的位置 有人能建议如何通过代码解决这个问题吗
谢谢你

你应该考虑使用参数“最大值”。e、 g

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,则表示设备无法使用缓存位置,必须尝试检索实际的当前位置。如果设置为无穷大,则设备必须返回缓存位置,而不管其使用年限如何


你需要停止gps并重新开始是的,我这样做了,但没有结果如果我保留了它,那么我的地图有时根本不加载,这需要很长时间,这是一种折衷,根据你的用例,你必须做出决定。您希望检索实际位置(而不是使用缓存位置)的频率,并相应地设置maximumAge变量。:)如果我给maximumAge属性赋予任何值,那么地图根本就没有加载,也就是说我没有获取当前位置您的gps/位置在哪里?打开它,然后再试一次。