当我在ReactNative中使用getCurrentPosition时,不会返回任何内容。如何获取返回的坐标?

时间:2018-07-24 08:30:52

标签: react-native geolocation gps react-native-android

我正在尝试使用navigator.geolocation.getCurrentPosition()获取当前的gps坐标。

一些注意事项: 1.我正在通过android studio使用模拟器 2.我已经启用

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
  1. 由于我使用的是SDK版本26。我尝试使用PermissionsAndroid。但是,当我使用示例code时,它们提供了:

    从“ react-native”导入{PermissionsAndroid};

    async function requestCameraPermission() {
      try {
        const granted = await PermissionsAndroid.request(
          PermissionsAndroid.PERMISSIONS.CAMERA,
          {
            'title': 'Cool Photo App Camera Permission',
            'message': 'Cool Photo App needs access to your camera ' +
                       'so you can take awesome pictures.'
          }
        )
        if (granted === PermissionsAndroid.RESULTS.GRANTED) {
          console.log("You can use the camera")
        } else {
          console.log("Camera permission denied", granted)
        }
      } catch (err) {
        console.warn(err)
      }
    }
    

这总是会导致console.log指出“摄像机许可”被拒绝,不再询问。

我的异步ComponentWillMount函数如下所示:

componentWillMount = async() => {
        console.log('inside cwm', );
        console.log('before navigator');
        await navigator.geolocation.getCurrentPosition(
            (position) => {
               const initialPosition = JSON.stringify(position);
               console.log('heres your location', initialPosition);
            //    this.setState({ initialPosition });
            },
            (error) => alert(error.message),
            { enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 }
         );

         console.log('after navigator"');
    }

我看到的唯一console.log消息是方法之前的两个,以及方法之后的最终console.log。除了PermissionsAndroid和getCurentPosition()以外,我还需要获取当前的GPS坐标吗?

0 个答案:

没有答案