错误回调不适用于 React Native 中的地理位置

Posted

技术标签:

【中文标题】错误回调不适用于 React Native 中的地理位置【英文标题】:Error callback not working with Geolocation in React Native 【发布时间】:2017-07-24 03:03:41 【问题描述】:

我已经成功地在 React Native 中使用了地理定位 API,但是当我关闭我的位置时,错误回调似乎不起作用。我尝试提供 5 秒的超时选项,我可以等待一整天,并且永远不会调用错误。奇怪的是,如果我重新打开位置,将调用错误回调。它会去错误回调,然后返回成功。

我尝试过使用以下代码:

navigator.geolocation.getCurrentPosition(
  (position) => 
    console.log("Got Position");
  ,
  (error) => 
    console.log("Got error");
  
);

navigator.geolocation.getCurrentPosition(
  (position) => 
    console.log("Got Position");
  ,
  (error) => 
    console.log("Got error");
  ,
  timeout: 5000
);

我也尝试过使用“react native android location services dialog box”模块,但得到以下错误并放弃了:

android\app\src\main\java\com\orchardapp\MainApplication.java:7: error: package com.showlocationservicesdialogbox does not exist
import com.showlocationservicesdialogbox.LocationServicesDialogBoxPackage;
                                    ^
android\app\src\main\java\com\orchardapp\MainApplication.java:30: error: cannot find symbol
        new LocationServicesDialogBoxPackage(),
            ^
symbol: class LocationServicesDialogBoxPackage
2 errors

我正在 Android 6 设备上构建应用程序。只是现在卡住了,不知道还能用什么……有没有人经历过这个并得到一些提示?

谢谢!

【问题讨论】:

我还没有解决问题,但是我发现如果我使用 create-react-native-app 模块创建应用程序,错误回调将起作用。我改用了 react-native init 项目方法,但仍然不确定为什么错误回调不起作用。 【参考方案1】:

所以问题似乎是我使用的 React Native 版本。我将它从 0.44 更新到 0.46 并且错误神奇地起作用了。很可能是因为我使用的是旧版本的模块,它可能与我在代码中的某些内容不兼容。 :/

反正问题通过更新解决了!

【讨论】:

以上是关于错误回调不适用于 React Native 中的地理位置的主要内容,如果未能解决你的问题,请参考以下文章

gradlew assembleRelease 不适用于 react-native-camera

getCurrentPosition 中的 React-native-maps setState 不适用于我的 url API

Tipsi 条纹不适用于 iOS 和 React Native

this.setState 不适用于 react-native 中的多个文本输入

自定义字体不适用于 React-Native 0.62

反应本机状态栏不适用于android中的反应导航