遇到地理定位问题

Posted

技术标签:

【中文标题】遇到地理定位问题【英文标题】:Getting trouble with Geolocation 【发布时间】:2012-06-06 09:46:11 【问题描述】:

我使用以下代码来跟踪用户的地理位置

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:当用户关闭弹出窗口时,需要向用户显示一些消息,为此我该怎么办? 火狐:1)火狐需要同样的东西。 2)如果用户允许共享位置,则位置坐标按代码显示,如果用户刷新浏览器弹出窗口正在显示,再次用户允许共享位置则位置坐标不显示,实际上位置坐标必须按我的代码。 3)如果用户选择“从不共享位置”选项,也会面临同样的问题 4)如果用户选择'Not Now'选项,我需要显示警报消息,我该怎么办?

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于遇到地理定位问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Gmap 在浏览器地理定位中处理用户批准?

离子地理定位 - 如何更新位置?

Trigger.io 中的地理定位双重提示

cordova android 6.3.0 的相机和地理定位插件问题

异步地理定位 API 和 jQuery 延迟对象 [重复]

没有为“地理定位器”类型定义方法“placemarkFromCoordinates”