0

Google ジオコードをフォールバックとして使用してサイトに地理位置情報機能を追加しようとしていますが、これまでのところクロムで適切に動作します。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

ここ数日 geolocation API をいじっていて、Firefox 17/18、Chrome 24.0、Safari 5.1、IE 9.0 の間で断続的な問題が発生することがわかりました。昨日は Firefox で完全に動作していましたが、その後失敗し始めました。私の場所を共有するための承認を求めるプロンプトが表示されますが、その後は何もありません。それ以上のコードは実行されません...ただ死んでしまいました。IE9 を試してみたところ、GPS がサポートされていないと表示されました。Safari で試しましたが、やはり失敗しました。Chrome は、まだ動作しているように見える唯一のブラウザーでした。

ラップトップを再起動してみました。ラップトップ (Dell XPS 1330) でワイヤレス ネットワークをオフ/オンにしました。各ブラウザの設定を確認してみましたが、問題が特定できませんでした...

解決策:ブロードバンド モデムを再起動しました。DGND3700 (600Mbps Dual Frequency ADSL2+ ブロードバンド モデム/ギガビット ルーター) を実行しています。リモートで「ルーターの再起動」を実行すると、出来上がりです! すべてが再び機能するようになりました。再起動前の接続速度は 3500kbps (3.5Mbps) でしたが、再起動後は 16000kbps (16Mbps!) 近くまで回復しました。

位置情報の問題が発生している場合は、ワイヤレス ルーターを再起動してください (可能な場合)。お役に立てれば。

于 2013-02-05T22:38:48.530 に答える
0

ほとんどの場合、これは Web サイトの障害です。ジオロケーション検出に必要な HTTPS プロトコルを使用して開くことができません ( https://www.thesslstore.com/blog/firefox-55-https-for-geolocation/ )。

于 2018-04-08T13:17:17.577 に答える