我为Firefox Mobile / Firefox OS编写了一个Web应用程序。我的应用使用地理位置。
当我使用Firefox for Android和FFOS模拟器附加组件通过访问应用程序的Web地址进行测试时,它运行良好。最近我通过了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检测到地理位置存在,但永远不会调用回调,并且GPS图标永远不会闪烁。
应用程序仍可正常运行,并且当通过其URL访问时,positionFound()被正确调用,而不是作为已安装的应用程序访问。
如何在安装后进行地理定位?
答案 0 :(得分: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);
您的回调函数是否可以正常使用虚假数据?
答案 1 :(得分:0)
以下是Mozilla Hacks博客上的一篇文章,其中讨论了地理位置提示和技巧,以及一些开发者设备的限制: