0

我正在尝试使用谷歌地理编码作为后备向站点添加地理位置功能,到目前为止它可以与 chrome 一起正常工作。当我在 Firefox 中试用它时,它不仅显示位置提示,这是我的代码

function add_location() {
        if (navigator.geolocation)  
        {  
            $("#pheed-location").fadeIn();
            $('.loading-indicator').fadeIn();
            navigator.geolocation.getCurrentPosition(handle_geolocation_query, handle_location_errors);  
        }  
    }
    function parseLocationError(error)
    {
        switch(error.code)  
        { 
            case error.PERMISSION_DENIED:
            errorMsg = "User did not share geolocation data";  
            code = 1;
            break;  

            case error.POSITION_UNAVAILABLE: 
            errorMsg = "Could not detect your current position";
            code = 2;
            break;  

            case error.TIMEOUT:
            errorMsg = "Retrieving position timedout";  
            code = 2;
            break;  

            default:
            errorMsg = "Unknown error";  
            code = 0;
            break;  
        }
        var _error = {"msg":errorMsg,"code":code};
        return _error;
    }
    /**
    * Handles error from geolocation
    * @param error object
    **/
    function handle_location_errors(error) {
        var msgDisplay = $('.loading-indicator');
        //Error message
        var errorMsg ="";
        console.log(error);
        //Set error message base on error code
        var Error = parseLocationError(error);
        if((Error.code === 1) || (Error.code === 2)) {
        msgDisplay.html('').fadeOut();
        msgDisplay.html(Error.msg).fadeIn();
            if(Error.code === 2)
            $("#location-entry").fadeIn();
        }
    }

我添加了“console.log(error)”以确保返回错误。这些错误在 chrome 中正确记录,但在 Firefox 中似乎根本不起作用。可能是什么问题呢?

4

2 回答 2

0

过去几天我一直在使用地理定位 API,发现 Firefox 17/18、Chrome 24.0、Safari 5.1 和 IE 9.0 之间存在间歇性问题。昨天它在 Firefox 中运行良好,但后来开始失败。它会提示授权共享我的位置,但随后什么也没有。没有执行进一步的代码......它只是死了。我试过IE9,它告诉我不支持GPS。我在Safari中尝试过,它也失败了。Chrome 是唯一似乎仍然可以工作的浏览器。

我尝试重新启动我的笔记本电脑。我关闭/打开笔记本电脑(戴尔 XPS 1330)上的无线网络。我尝试检查每个浏览器的设置,但我无法确定问题...直到...

解决方案:我重新启动了宽带调制解调器。我正在运行 DGND3700(600Mbps 双频 ADSL2+ 宽带调制解调器/千兆路由器)。我执行了一个远程“重启路由器”,瞧!现在一切都恢复正常了。我确实注意到重启前的连接速度是 3500kbps(3.5Mbps),但重启后它又回升至近 16000kbps(16Mbps!)。

如果您遇到地理定位问题 - 重新启动您的无线路由器(如果可以的话)!希望这可以帮助。

于 2013-02-05T22:38:48.530 回答
0

很可能这是网站故障 - 无法使用地理位置检测所需的 HTTPS 协议打开它(https://www.thesslstore.com/blog/firefox-55-https-for-geolocation/)。

于 2018-04-08T13:17:17.577 回答