我试图在我的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/