2016-10-02 26 views
0

getCurrentPositionを使用して緯度と経度の座標を表示しようとしていますが、何も表示されません。私はブラウザがそれを受け入れ、エラーメッセージがポップアップしないかどうかを調べるためにテストします。getCurrentPosition()は表示されません - javascript

のJavascript:

+0

JSFiddleはデフォルトでonloadイベントでコードを実行するため、loadイベントが既に発生しているので、 'window.onload = getLocation; 'を設定しないでください –

答えて

0
window.onload = Location; 


var x = document.getElementById("location"); 


function Location() { 
    if (navigator.geolocation) { 
    navigator.geolocation.watchPosition(show); 
    } else { 
    x.innerHTML = "Not working"; 
    } 

} 

function show(position) { 
    x.innerHTML = position.coords.latitude; 
} 

if (navigator.geolocation)方法はnavigator.geolocationとしてここに動作しないにかかわらず、位置を得ることができるかどうかの、空のオブジェクトです。これを確認するにはconsole.log(navigator.geolocation)があります。 https://developer.mozilla.org/en-US/docs/Web/API/PositionError

function getLocation() { 
    navigator.geolocation.watchPosition(showPosition, throwError); 
} 

function throwError(err) { 
    switch (err.code) { 
     case 1: x.innerHTML = "Permission denied."; break; 
     case 2: x.innerHTML = "Position unavailable."; break; 
     case 3: x.innerHTML = "Request timed out."; break; 
     default: x.innerHTML = "Unknown error."; 
    } 
} 

https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPositionはまた、注意すべきいくつかの重要なブラウザの癖があります。

は代わりに、navigator.geolocation.watchPositionのエラーコールバックパラメータを使用します。あなたのローカルファイルシステム、クロームブロックジオロケーション要求にあなたのサイトをテストしている場合

:まだが正しくエラーコールバックを処理しませんFirefoxの HTML 5 Geo Location Prompt in Chrome

と(回避策を表示するには、スクロールダウン):Is there a way to check if geolocation has been DECLINED with Javascript?

関連する問題