【问题标题】:Cordova Geolocation returning empty科尔多瓦地理定位返回空
【发布时间】:2015-07-18 21:33:15
【问题描述】:

这是重复的 Apache Cordova GeoLocation not providing data

以下代码返回一个空对象:

function onDeviceReady(){
    $cordovaGeolocation.getCurrentPosition({}).then(function(resp) {
      console.log(resp);
      $scope.geo.get = resp;
    });
  }

没有错误或任何东西,只是空{}

更新 1

适用于三星 S3,但不适用于 Nexus 4。

更新 2

LogCat 显示以下行:

Caught security exception registering for location updates from the system.

【问题讨论】:

  • 不完全相关,因为我无法复制设备或类似的东西
  • cordova 没有提供任何地理定位代码,它只是使用 webview 实现,所以如果它在某些设备上工作而在其他设备上失败,那是设备或 android 版本的问题

标签: javascript android angularjs cordova geolocation


【解决方案1】:

您需要确保添加了相应的location 权限。
如果您使用的是 iOS,它可能会询问您是否要允许该应用程序确定您的位置。

如果您不确定,请检查两台设备 (android/ios) 上的设置以检查请求的权限。

【讨论】:

  • 我检查了权限,应用似乎是被允许的。它在最近的位置请求中显示应用程序。
  • 您可以使用 Weinre 或 Chrome 开发工具 (android 4.4.4+) 或 safari web inspector 查看可能显示的一些错误吗?
  • 有一些未解决的 CORS 问题需要在 Chrome 中有效处理。但是,当我使用来自 AppStore 的 Geolocation 其他应用程序时,我注意到了这一点。地理图标出现在顶部栏中,当我打开这个时,它没有。
  • 更正,它确实出现了,但只是暂时的。因为它是获取当前位置而不是观看,我猜?
  • 我认为是 CORS .. 这就是我所怀疑的.. 尤其是在 Cordova 5 之后(他们将其移至单独的插件)
猜你喜欢
  • 2018-07-20
  • 2015-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多