【问题标题】:Can not call geolocation plugin in Android platformAndroid平台无法调用geolocation插件
【发布时间】:2015-04-17 11:23:37
【问题描述】:

我们使用Worklight 6.2 或MobileFirst Foundation 7.0 想使用navigator.geolocation.getCurrentPosition 来获取GPS 位置,但是没有任何响应也没有错误,有谁知道为什么?

它适用于旧版本。

【问题讨论】:

  • 提供一个演示应用程序,如果这对您来说失败了,请记住您必须在 AndroidManifest.xml 中添加这些权限:android.permission.ACCESS_FINE_LOCATION" 和 android.permission.ACCESS_COARSE_LOCATION"。
  • Idan,它在 Q 的标题中 :)
  • 对,我看到了然后忘了我看到了...

标签: android geolocation ibm-mobilefirst


【解决方案1】:

如果你没有成功也没有失败,并且由于你没有提供你的实现,我认为你没有正确实现它。

我在 MFPF 7.0 的 Android Emulator 中测试了以下内容,并且成功了:

common\main.js:

function wlCommonInit(){
    var options = {
            enableHighAccuracy: true,
            timeout: 5000,
            maximumAge: 0
    };

    navigator.geolocation.getCurrentPosition(success, error, options);
}

function success(pos) {
     var crd = pos.coords;
      alert('Your current position is:' + crd.latitude + " " + crd.longitude + " " + crd.accuracy);
}

function error(err) {
      alert('ERROR(' + err.code + '): ' + err.message);
}

当然也在AndroidManifest.xml中添加了以下两个权限:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

如果您还在模拟器中进行测试并获得超时,请增加超时值或在 Eclipse 的 DDMS 视图中强制更改位置:https://stackoverflow.com/a/23152773/1530814

【讨论】:

  • 嗨,伊丹,非常感谢。是的,我忘记将权限添加到配置文件。新的Cordova文档很差,丢失了重要的配置指导。
  • 另一个 cmets,为什么我在 Android Project lib 目录的 cordova.jar 文件中找不到任何 geolocaiton 类?
猜你喜欢
  • 2012-09-07
  • 2013-06-26
  • 2013-07-15
  • 2013-02-04
  • 2013-07-23
  • 1970-01-01
  • 1970-01-01
  • 2014-01-04
  • 1970-01-01
相关资源
最近更新 更多