navigator.geolocation.getCurrentPosition 在 React Native 版本(0.60)及更高版本中不起作用,如何获取位置?

Posted

技术标签:

【中文标题】navigator.geolocation.getCurrentPosition 在 React Native 版本(0.60)及更高版本中不起作用,如何获取位置?【英文标题】:navigator.geolocation.getCurrentPosition is not working in React Native Version(0.60) and above, How to fetch location? 【发布时间】:2019-07-24 14:24:09 【问题描述】:

尝试使用geoLocation获取当前位置,它在React Native版本(0.60)及更高版本中不起作用,但它在以下版本中起作用

我意识到,GeoLocation 文件夹不在 nodeModules/React-Native/Libraries 中, 他们是否将其从 ReactNative(0.60) 中删除?

        navigator.geolocation.getCurrentPosition((position) => 
        console.log(position)
    ,
    (error) => alert(JSON.stringify(error)),)

收到此错误:

类型错误:未定义不是对象(评估 'navigator.geolocation.getCurrentPosition

【问题讨论】:

这能回答你的问题吗? TypeError: undefined is not an object (evaluating 'navigator.geolocation.requestAuthorization') 【参考方案1】:

似乎 geolocation 已从 react native .60 版本中删除。

试试这个:

npm install @react-native-community/geolocation --save

react-native link @react-native-community/geolocation

您可以查看related SO post了解更多详情。

【讨论】:

【参考方案2】:

npm install @react-native-community/geolocation --save

react-native 链接@react-native-community/geolocation

然后:

import Geolocation form '@react-native-community/geolocation';
Geolocation.etCurrentPosition((position) => 
    console.log(position)
,
(error) => alert(JSON.stringify(error))

【讨论】:

以上是关于navigator.geolocation.getCurrentPosition 在 React Native 版本(0.60)及更高版本中不起作用,如何获取位置?的主要内容,如果未能解决你的问题,请参考以下文章