火狐 5,地理定位和"Not Now"问题



有没有人在那里不得不处理并设法找到一个可行的解决方案,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}
    )
  }

最新更新