有没有人在那里不得不处理并设法找到一个可行的解决方案,Firefox 5的地理定位问题,我张贴在下面的bug报告。链接到报告比在这里重新描述要容易得多。
https://bugzilla.mozilla.org/show_bug.cgi?id=675533我肯定不是这个星球上唯一被它咬过的人。
这并不能真正解决问题的根源,但我处理这个问题的策略是设置一个我立即使用的默认位置点(而不是等待地理位置问题得到回答)。
如果我从用户那里得到一个位置,我就把它改成新的位置。如果我收到拒绝或根本没有回复,我就保持默认位置。
根据我的经验,桌面客户端(在我的情况下是固定Windows计算机上的Firefox)比移动客户端(在我的情况下是iPhone上的Safari)响应的时间要长得多。我被迫将超时时间设置为10秒(10000),以便给桌面客户机足够的时间进行响应。因此,如果你有一个地图,初始化它并直接集中在一个默认位置上,将会比你必须等待响应时更快地在屏幕上给用户一个地图。
祝你的定位项目顺利!
我可能有点晚了,但希望我能帮助别人。我的解决办法是基于一个延迟的电话。如果在延迟调用触发时没有修复,我就会怀疑:)
var timeIsPassig = false;
function anyThing(){
timeIsPassig = true;
setTimeout(
function(){
if (timeIsPassig) {
timeIsPassig = false;
console.log("Waiting too much... Or did you say not now? :-P");
}
},
10000
);
navigator.geolocation.getCurrentPosition(
function (pos) {timeIsPassig = false; /* rest of positioning*/},
function (err) {timeIsPassig = false; /* rest of error handling*/},
{maximumAge: 30000, timeout: 10000, enableHighAccuracy: true}
)
}