【问题标题】:Geolocation cordova Android plugin does not work地理位置科尔多瓦 Android 插件不起作用
【发布时间】:2015-11-02 04:35:48
【问题描述】:

我正在开发一个应用程序,其中 70% 是基于地理位置的。我开始在 iOS 上开发,一切都很好,我遇到了一些问题,但没有什么是无法从逻辑上解决的。现在,我被问到一个 Android 版本,第一印象,一切都与 iOS 相同,但是当给我带来问题的测试版本出现地理定位时。问题是,从手机上关闭 GPS(我测试了三星、Xperia、摩托罗拉)会落入错误功能(我定义的),以提醒用户 GPS 已关闭并且应该能够占用。但是,激活它,它不能正常工作,最近重新启动计算机才能正常工作,我疯了,因为即使我得到错误响应,或者提醒你离开,或者类似的东西。

我的代码:

$scope.$on('$ionicView.enter', function(){
 $(function(){
  document.addEventListener("deviceready", onDeviceReady, false);
 })

 function onDeviceReady() {
  navigator.geolocation.getCurrentPosition(onSuccess, onError);
 }

 function onSuccess(pos) {
  $scope.latitud = pos.coords.latitude
  $scope.longitud =  pos.coords.longitude;
  console.log(pos.coords.latitude);
  $scope.mostrar_cercanos = true;
  $scope.getViews();
 }

 function onError(error) { 
  $scope.mostrar_cercanos = false;
  $scope.mostrar_mensaje_gps = true;
  $scope.mensaje = "El GPS de su telefono no se encuentra activado";
 }
})

插件:

org.apache.cordova.geolocation 0.3.12 "Geolocation"
org.apache.cordova.inappbrowser 0.6.0 "InAppBrowser"
org.apache.cordova.network-information 0.2.15 "Network Information"
org.apache.cordova.splashscreen 1.0.0 "Splashscreen"

我必须回到 iOS 提到一切都按我的意愿运行。

【问题讨论】:

  • 最后一部分我不清楚“但是,激活它,它不能正常工作,最近重新启动计算机才能正常工作,我疯了,因为即使我得到一个错误响应,或提醒您离开,或类似的东西。”
  • 顺便说一句,用于 android 的 cordova 地理定位插件使用 HTML5 地理定位,因此不涉及本机代码,所以这一切都取决于 webview
  • @jcesarmobile 我的意思是激活的 GPS Android 设备并且无法进行地理定位,使其工作的唯一方法是启用 GPS,再次打开设备并在那里再次工作。

标签: android ios cordova gps ionic-framework


【解决方案1】:

我建议你使用 ngcordova

http://ngcordova.com/docs/plugins/geolocation/

我在我的应用程序中使用了它,它运行良好。

祝你好运!

【讨论】:

  • 这对我有用,但我有一些疑问。我已经关闭了手机上的GPS,我的纬度和经度也是如此吗?插件与 HTML5 一起使用,这与 GPS 单元无关?如果是这样,如果无法获取您当前的位置,确定哪个向用户显示错误?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-20
  • 1970-01-01
  • 1970-01-01
  • 2016-09-05
  • 1970-01-01
  • 2018-06-19
相关资源
最近更新 更多