反应本机地理位置离线模式



React Native 地理位置在离线模式下工作吗?我正在我的设备和geolocation.watchPosition上进行测试,但是当我切换到飞行模式时,我遇到了位置错误。我打开了我的谷歌地图应用程序,可以看到位置仍在跟踪(在飞行模式下(。如何在本机响应中获取地理位置以在离线模式下工作?如果不可能,还有什么选择?

注意:我正在IOS上进行测试,但正在寻找一种同时适用于Android和IOS的解决方案。

谢谢。

我已经尝试过了我工作,但并非总是如此即使您没有连接到互联网,这也取决于您的信号这也取决于您的设备来接收信号就我而言,当我连接到互联网时,我正在使用华硕Zenfone 6进行测试,它以良好的准确性运行良好,但是当我没有连接到互联网时,有时它可以工作,但准确性真的很差在其他情况下,当我连接到互联网时,我正在使用三星S7进行测试,它运行良好,准确性非常好,但是当我没有连接到互联网时,有时它可以工作(工作最多/比华硕Zenfone 6更多(,但准确性不好

希望回答您的问题,如果有人对如何在没有互联网的情况下修复错误的准确性提出建议,请发表评论

  1. 是的,您可以在离线模式下使用 通过使用此代码,它可以在离线模式下工作 非常正确
    • 不要忘记在清单文件中授予位置权限
    • <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
      class GeoLoc extends React.Component{
constructor(props){
    super(props);
    this.state = {
        latitude: null,
        longitude: null,
        error: null,
      };
}
componentDidMount(){
    navigator.geolocation.getCurrentPosition( (position)=>{
        //const ipos = JSON.stringify(Position);
        this.setState({
            latitude: position.coords.latitude,
            longitude: position.coords.longitude,
            error: null,
          });
    },
    (error) => this.setState({ error: error.message }),
    { enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 }
  );
}
render(){
    return(
        <View>
        <Text>Latitude: {this.state.latitude}</Text>
        <Text>Longitude: {this.state.longitude}</Text>
        <Text> {this.state.error} </Text>
       </View> 
    )
}

}

最新更新