0

我为 Firefox Mobile / Firefox OS 编写了一个网络应用程序。我的应用程序使用地理位置。

当我通过访问应用程序的网址使用 Firefox for Android 和 FFOS 模拟器插件对其进行测试时,它运行良好。最近我通过了 Firefox Marketplace 审查,我的应用可以安装在 FFOS 和 Firefox for Android 上。令我惊讶的是,当我安装并运行它时,地理定位不起作用。

这是 .webapp 文件的摘录:

"permissions": {
    "geolocation": {
        "description": "Required for ....."
    }
}

这是JS的相关部分:

if(navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(positionFound, positionNotFound, {
        enableHighAccuracy: false,
        maximumAge: 3600000
    });
}
else {
    $('#location').html('No geolocation support');
}

else块没有被执行,所以 JS 检测到 geolocation 存在,但是从不调用回调,并且 GPS 图标从不闪烁。

该应用程序仍然有效,并且当通过其 URL 访问时正确调用 positionFound(),而不是作为已安装的应用程序。

安装后如何进行地理定位?

4

2 回答 2

0

这是 Mozilla Hacks 博客上的一篇文章,讨论了地理定位提示和技巧,以及一些开发人员设备的限制:

https://hacks.mozilla.org/2013/10/who-moved-my-geolocation/

于 2013-11-06T17:05:48.357 回答
0

以下代码适用于我们,但 GPS 功能在 Geeksphone FFOS 1.2 夜间版本以及 FFOS 1.0 上的 aGPS 上受到严重限制(首次修复时间约为 5 分钟)。geoLocation API 需要在我们的设备上频繁重启。对我们来说,到目前为止,FFOS 1.1 效果最好。在启动您的应用程序之前,请尝试使用现有的 GPS 应用程序之一,例如“gpsDashboard”。这样你就知道你的手机正在工作。

function geo_success(position) {
 alert(position.coords.longitude);
}

function geo_error() {
 alert("Sorry, no position available.");
}

var geo_options = {
 enableHighAccuracy: true,
 maximumAge : 300000,
 timeout : 270000
};

navigator.geolocation.watchPosition(geo_success, geo_error, geo_options);

您的回调函数是否可以正常处理假数据?

于 2013-08-26T14:58:27.993 回答