错误回调无法在React Native中使用Geolocation

时间:2017-07-24 03:03:41

标签: javascript reactjs react-native geolocation

我成功地在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}
);

我也尝试使用“反应本机android位置服务对话框”模块,但得到以下错误并且放弃了:

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设备上构建应用程序。现在有点卡住了,不知道还能用什么......有没有人经历过这个并得到一些提示?

谢谢!

1 个答案:

答案 0 :(得分:1)

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

无论如何通过更新解决了问题!