PhoneGap 构建 - 位置 API 超时

Posted

技术标签:

【中文标题】PhoneGap 构建 - 位置 API 超时【英文标题】:PhoneGap Build - Location API timeout 【发布时间】:2013-07-08 15:41:05 【问题描述】:

这个问题似乎被问了很多次,但我似乎无法解决这个问题。

基本上我想做的就是获取用户的纬度/经度,我使用的是 phonegap 构建版本 2.9。我正在测试的设备是安卓 HTC One X,启用了 WiFi 和 GPS。

在我的代码中,我有以下内容:

config.xml

<feature name="http://api.phonegap.com/1.0/device"/>
<feature name="http://api.phonegap.com/1.0/geolocation"/>

index.html

<script type="text/javascript">
// Wait for Cordova to load
document.addEventListener("deviceready", onDeviceReady, false);

// wait for phonegap to be ready
function onDeviceReady() 
    navigator.geolocation.getCurrentPosition(onSuccess, onError,  maximumAge: 3000, timeout: 10000, enableHighAccuracy: false  );


// onSuccess Geolocation
function onSuccess(position) 
    alert( 
        'Latitude: '           + position.coords.latitude              + "\n" +
        'Longitude: '          + position.coords.longitude             + "\n" +
        'Altitude: '           + position.coords.altitude              + "\n" +
        'Accuracy: '           + position.coords.accuracy              + "\n" +
        'Altitude Accuracy: '  + position.coords.altitudeAccuracy      + "\n" +
        'Heading: '            + position.coords.heading               + "\n" +
        'Speed: '              + position.coords.speed                 + "\n" +
        'Timestamp: '          + position.timestamp                    + "\n"
        );


// onError Callback receives a PositionError object
function onError(error) 
    alert(
        'code: '    + error.code    + '\n' +
        'message: ' + error.message + '\n'
    );

</script>

我收到的回复

我知道我的 GPS 工作正常,因为 Google 地图 APP 工作正常

onError() 总是被调用

错误代码 3 超时

我之前也看到过类似的问题,但这并没有解决问题。 phonegap geolocation allways fail on timeout

我有几个问题可能会帮助我解决这个问题

是否需要在我的 html 文件中包含对 phonegap.js 的引用? 我是否需要在上传的 zip 文件夹中包含一个空的 phonegap.js? 是否需要在 config.xml 中包含任何其他选项才能使其正常工作?

【问题讨论】:

我开始认为这是 HTC One X 的问题。我也找不到答案。适用于我尝试过的所有其他设备。 【参考方案1】:

我需要在我的 html 文件中包含对 phonegap.js 的引用吗?

是的。

我需要在上传的 zip 文件夹中包含一个空的 phonegap.js 吗?

没有。 Phonegap build 会为你打包

我是否需要在 config.xml 中包含任何其他选项才能获得 这行得通吗?

没有。就是这样。

【讨论】:

以上是关于PhoneGap 构建 - 位置 API 超时的主要内容,如果未能解决你的问题,请参考以下文章

通过 phonegap build 构建时,地理位置不起作用

阻止提示“...index.html”想使用您在Phonegap中的当前位置

PhoneGap 地理位置超时错误

在 InAppBrowser 中使用代理服务器 - PhoneGap

检索最后一个已知的地理位置 - Phonegap

黑莓中的Phonegap地理定位