2016-05-09 7 views
2

次のスクリプトをmozillaとchromeブラウザで使用しました。 mozillaでは、場所を共有するかどうかを確認するメッセージが表示されます。しかし、クロムでは何も表示されません。ジオロケーションがクロムで機能しない

<script> 
var x = document.getElementById("demo"); 
function getLocation() { 
if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(showPosition); 
} else { 
    x.innerHTML = "Geolocation is not supported by this browser."; 
} 
} 
function showPosition(position) { 
x.innerHTML = "Latitude: " + position.coords.latitude + 
"<br>Longitude: " + position.coords.longitude; 
} 
</script> 

答えて

0

この問題が発生する可能性があります。

最初は、Webサーバーを介してではなくファイルシステム上でWebページを閲覧している場合です(たとえば、Apacheを使用するのではなく、直接ブラウザを介してデスクトップに保存されているhtmlページを開くだけです/ IISはhttp://localhost/ *経由で提供します)

ただし、localhost経由でホストするだけでは不十分で、それでも失敗します。 スクリプトが動作するためには、公開サイトが必要になることがよくあります。なぜこれは、わかりませんが、私はクライアント側のスクリプトが実際にかなりのサーバー/ドメイン設定に依存していると仮定できます。

最後に、高精度を有効にすることで解決できる場合があります(ここではhttps://developer.mozilla.org/en-US/docs/Web/API/Geolocation/getCurrentPosition参照)が、これがうまくいく理由はわかりません。

+1

このサイトは一般公開されています。まだそれは動作しません。 –

+0

私は以下の答えに応じて、あなたはHTTPSを実行していますか? – Sk93

関連する問題