我试图在我的iOS React Native应用程序中访问Geolocation。我正在看documentation中的示例,但这完全没有帮助。在示例中,我不了解如何使用Geolocation API。

我的第一个直觉是做类似的事情:

var React = require('react-native');
var {
    Geolocation
} = React;

然后在我的代码中,执行以下操作:
Geolocation.getCurrentPosition((position) => {
     console.log(position);
},
(error) => {
    console.log(error);
});

但是,这似乎失败了。在示例中,它使用Geolocation如下:
navigator.geolocation.getCurrentPosition(
  (position) => {
    var initialPosition = JSON.stringify(position);
    this.setState({initialPosition});
  },
  (error) => alert(error.message),
  {enableHighAccuracy: true, timeout: 20000, maximumAge: 1000}
);

但是,尚不清楚导航器来自何处以及为何附加了geolocation属性。我没有得到什么?

提前致谢。

更新:

原来的解决方案很简单:
var Geolocation = require('Geolocation');

我感到困惑的是,React Native通过以下方式使用了PushNotificationIOS(其文档与Geolocation处于同一区域):
var React = require('react-native');
var {
    PushNotificationIOS
} = React;

最佳答案

您为什么不按原样使用示例?我不知道navigator来自哪里,但是我以这种方式使用它并且效果很好。

您是否还在Info.plist中添加了NSLocationWhenInUseUsageDescription键?

关于javascript - React Native-地理位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35308009/

10-13 00:12