首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Phonegap/Cordova地理定位在Android上不起作用

Phonegap/Cordova地理定位在Android上不起作用
EN

Stack Overflow用户
提问于 2013-10-21 18:21:22
回答 9查看 40.8K关注 0票数 20

我在模拟器(甚至当我通过远程登录geo fix时)和设备上都很难让地理定位在Android上工作。适用于iOS、WP8和浏览器。

当我使用下面的代码询问设备的位置时,我总是得到一个错误(在我的例子中,错误代码和错误消息都是带有null的自定义Retrieving your position failed for unknown reason. )。

相关代码:

代码语言:javascript
复制
    successHandler = (position) ->
      resolve App.Location.create
        lat: position.coords.latitude
        lng: position.coords.longitude

    errorHandler = (error) ->
      error = switch error.code
        when 1
          App.LocationError.create
            message: 'You haven\'t shared your location.'
        when 2
          App.LocationError.create
            message: 'Couldn\'t detect your current location.'
        when 3
          App.LocationError.create
            message: 'Retrieving your position timeouted.'
        else
          App.LocationError.create
            message: 'Retrieving your position failed for unknown reason. Error code: ' + error.code + '. Error message: ' + error.message

      reject(error)

    options =
      maximumAge: Infinity # I also tried with 0
      timeout: 60000
      enableHighAccuracy: true
    navigator.geolocation.getCurrentPosition(successHandler, errorHandler, options)

platforms/android/AndroidManifest.xml

代码语言:javascript
复制
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />

www/config.xml (以防万一)

代码语言:javascript
复制
<feature name="Geolocation">
    <param name="android-package" value="org.apache.cordova.GeoBroker" />
</feature>

使用Cordova 3.1.0。在Android 4.2上进行测试。已安装插件。index.html中包含的Cordova.js ( InAppBrowser等其他插件运行良好)。

代码语言:javascript
复制
$ cordova plugins ls
[ 'org.apache.cordova.console',
'org.apache.cordova.device',
'org.apache.cordova.dialogs',
'org.apache.cordova.geolocation',
'org.apache.cordova.inappbrowser',
'org.apache.cordova.vibration' ]

我一无所知。我是不是遗漏了什么?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19491875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档