React Native的地理定位总是超时?

时间:2016-12-17 20:46:17

标签: android reactjs react-native

我一定是谷歌搜索至少3个小时了,我在互联网上发现的一切都没有帮助。一些常见的建议是删除getCurrentPosition()函数上的第三个回调,或将highAccuracy设置为false。使用telnet修复地理位置。我在清单文件中设置了正确的权限,除了Request Timed Out, Code: 3错误之外我似乎无法收到任何其他内容......

以下是获取位置的代码(我在另一个文件中渲染...

class GeolocationExample extends React.Component {
state = { position: [] };

componentDidMount() {
 navigator.geolocation.getCurrentPosition(
    (location) => {
      console.log(location);
      this.setState({position: location});
     },
     (error) => console.log(error)
   );
 }



render() {
 return (
  <View>
    <Text>
      <Text style={styles.title}>Initial position: </Text>
      {this.state.position}
    </Text>
  </View>
 );
}
}

我已经有一段时间了,所以任何帮助都会受到赞赏!

2 个答案:

答案 0 :(得分:1)

几天前我遇到了同样的问题。以下是我解决它的方法。

在您的模拟器中,您应该会在底部看到一个选项菜单。点击它。您将看到一个位置选项卡,您可以在其中输入lat和long。每当您在代码中请求位置时,请按右侧的“发送”。发送仅在您请求该位置后发送时才有效。

enter image description here enter image description here

答案 1 :(得分:0)

我将从围绕Geolocation的react-native文档开始。它们甚至提供了一个如何使用它的完整示例,它应该按原样运行。

除此之外,我还建议您检查是否已在AndroidManifest.xml中设置了正确的权限。确认在添加以下行后重新启动应用程序。

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

您的代码看起来不错,也许它只是权限?