在Geolocation遇到麻烦

时间:2012-06-06 09:46:11

标签: cross-browser geolocation

我已按照代码跟踪用户的地理位置

if (navigator.geolocation){

   navigator.geolocation.getCurrentPosition(
       function(loc) {
            alert(loc.coords.latitude + ',' + loc.coords.longitude);   
          }, 
      function(error) {
            switch(error.code) 
        {
            case error.TIMEOUT:
                alert('timeout');
                break;
            case error.POSITION_UNAVAILABLE:
                alert('postion unabliable');   
                break;
            case error.PERMISSION_DENIED:
                alert('permission denied');
                break;
            case error.UNKNOWN_ERROR:
                alert('caught unknown error');  
                break;
            default:
               alert('default block');
        }
             },{timeout:10000});
     } else {
          alert('browser not support to track location');
            }

它工作正常,但我有一些问题取决于浏览器

Chrome:当用户关闭弹出窗口时,需要向用户显示一些消息,为此我要做什么? Firfox:1)对于firefox也需要同样的东西。 2)如果用户允许共享位置,则根据代码显示位置坐标,如果用户刷新浏览器弹出窗口正在显示,则用户允许共享位置然后位置坐标不显示,实际上位置坐标必须按照显示我的代码。 3)如果用户选择“永不共享位置”选项,则面临同样的问题 4)如果用户选择“Not Now”选项,我需要显示警告信息,为此我要做什么?

主要是,当用户关闭弹出窗口时,即使找到了位置,我也需要执行一些任务。

1 个答案:

答案 0 :(得分:1)

处理这种情况,每当script加载你需要执行默认功能时,即使用户关闭弹出窗口,默认功能仍然有效,如果用户允许跟踪位置然后根据用户位置功能将起作用如果你遵循这种方法,它将适用于所有情况。我希望它可能会有所帮助。