web-dev-qa-db-ja.com

htmlナビゲーター「ユーザーはジオロケーションを拒否しました」

Window.navigatorに問題があります。次のコードをローカルhtmlファイルとして実行すると、エラーコード1「ユーザーはGeolocationを拒否しました」が表示されます。

navigator.geolocation.getCurrentPosition(function(position) {
        console.log(position);
    }, function(positionError) {
        console.log(positionError);
    });

出力はエラー関数からのもので、positionErrorには以下が含まれます。

code: 1
message: "User denied Geolocation"

含まれているhtmlが何らかのサーバーから提供される場合、これは起こりません。

これは予想されますか?ローカルhtmlからナビゲーターを使用する方法はありますか?モバイルアプリを作成しようとしていますが、可能な限りネットワークを避けようとしています。

ありがとう。

17
Sagi Mann

クロムを使用している場合は、以下の回答をご覧ください。

ChromeのHTML 5ジオロケーションプロンプト

これはfileプロトコルのセキュリティ制限であるようです。サーバーからローカルにホストする必要があるようです。

24
marteljn

私のために働いた簡単な応答は、単に私のURLを変更することでした

localhost

127.0.0.1

Chromeから、現在地の設定を共有したいので、離れていたことを確認するように求められました。

4
Charlie Tupman

URLの左側にある小さな「i」記号をクリックするだけです: 下の画像を参照)

---(info symbol illustration

次に、場所が「ブロック」かどうかを確認します。それを「許可」に変更してから、ページをリロードします。

お役に立てれば。

0
Sumeet