Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.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_Geolocation_React Native - Fatal编程技术网

本地Android地理定位

本地Android地理定位,android,geolocation,react-native,Android,Geolocation,React Native,我试图在Android React本机应用程序中获取用户的位置。我一开始是按照计划做的,但运气不好 我已向Android项目添加了相应的权限,并在react native应用程序中插入了以下代码: componentDidMount() { navigator.geolocation.getCurrentPosition( (position) => { var initialPosition = JSON.stringify(position);

我试图在Android React本机应用程序中获取用户的位置。我一开始是按照计划做的,但运气不好

我已向Android项目添加了相应的权限,并在react native应用程序中插入了以下代码:

  componentDidMount() {

    navigator.geolocation.getCurrentPosition(
      (position) => {
        var initialPosition = JSON.stringify(position);
        this.setState({initialPosition});
      },
      (error) => alert(error.message),
      {enableHighAccuracy: true, timeout: 20000, maximumAge: 1000}
    );
    console.log("Initial position: " + this.state.initialPosition)

  }
我还将
initialPosition
变量定义为“未知”,就像在教程中一样。示例运行时,
initialPosition
变量打印unknown。大约5秒钟后,警报显示“未定义”错误


我有点搞不清楚到底发生了什么,因为错误是空的。也许我对“地理位置”的实例化不正确?不幸的是,我无法通过搜索找到很多关于这方面的信息,因此非常感谢您的帮助

希望这能有所帮助:

  • 您正在回调外部记录
    initialPosition
    。这意味着
    initialPosition
    将是未知的,因为回调尚未运行,因此
    initialPosition
    变量尚未更新
  • 尝试记录
    错误
    变量,而不仅仅是发出
    错误的警报。消息
    。可能有
    错误
    ,但没有
    错误。消息

  • 希望这能有所帮助:

  • 您正在回调外部记录
    initialPosition
    。这意味着
    initialPosition
    将是未知的,因为回调尚未运行,因此
    initialPosition
    变量尚未更新
  • 尝试记录
    错误
    变量,而不仅仅是发出
    错误的警报。消息
    。可能有
    错误
    ,但没有
    错误。消息
  • 试试这段代码,它可能会帮助您在this.state内的构造函数中将纬度和经度变量定义为null
  • 如果要打印json字符串,请在状态中定义一个数组,然后通过设置this.setState来使用该数组
  • -

  • 试试这段代码,它可能会帮助您在this.state内的构造函数中将纬度和经度变量定义为null
  • 如果要打印json字符串,请在状态中定义一个数组,然后通过设置this.setState来使用该数组
  • -


    谢谢你的提示。打印错误返回“没有可用的位置提供程序”,所以至少现在我有了一个方向。不知道为什么这没有存储在消息中..您是否尝试过,但没有启用HighAccurance:true。例如:enableHighAccurance:false?结果表明我没有在设备上启用位置。毫无疑问,这不是我最美好的时光。。。违抗地将需要在将来抓住这个案子!谢谢你的提示。打印错误返回“没有可用的位置提供程序”,所以至少现在我有了一个方向。不知道为什么这没有存储在消息中..您是否尝试过,但没有启用HighAccurance:true。例如:enableHighAccurance:false?结果表明我没有在设备上启用位置。毫无疑问,这不是我最美好的时光。。。违抗地将需要在将来抓住这个案子!
     - Don't forget to give location permission in manifest file
    
    componentDidMount(){
        navigator.geolocation.getCurrentPosition( (position)=>{
            //const ipos = JSON.stringify(Position);
            this.setState({
                latitude: position.coords.latitude,
                longitude: position.coords.longitude,
              });
        },
        { enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 }
      );
    }