2017-10-02 19 views
0

関数から現在のユーザーの緯度と経度を返したいので、次のコードを書いていますが、このコードは結果として「未定義」と言っています。Javascriptでユーザーの緯度と経度を返す方法は?

navigator.geolocation.getCurrentPosition(showPosition);

あなたはcallback機能を使用する必要があります:あなたがフォロー関数から結果を取得する前に、誰もが解決策を知っている場合、

<script> 
function getLocation() { 
    if (navigator.geolocation) { 
     var lat_lng = navigator.geolocation.getCurrentPosition(showPosition); 
     console.log(lat_lng); 
    } else { 
     alert("Geolocation is not supported by this browser."); 
    } 
} 
function showPosition(position) { 
    var user_position = {}; 
    user_position.lat = position.coords.latitude; 
    user_position.lng = position.coords.longitude; 
    return user_position; 
} 
getLocation() 
</script> 

答えて

0

getCurrentPosition非同期console.log(lat_lng);を実行してお答えください実行されます代わりに。

function getLocation(callback) { 
 
    if (navigator.geolocation) { 
 
     var lat_lng = navigator.geolocation.getCurrentPosition(function(position){ 
 
     console.log(position); 
 
      var user_position = {}; 
 
      user_position.lat = position.coords.latitude; 
 
      user_position.lng = position.coords.longitude; 
 
      callback(user_position); 
 
     }); 
 
    } else { 
 
     alert("Geolocation is not supported by this browser."); 
 
    } 
 
} 
 
getLocation(function(lat_lng){ 
 
    console.log(lat_lng); 
 
});

Working solution.

+0

私は実用的なソリューションでそれを更新し、 –

+0

@AbhayjeetSinghをみます、ありがとうございました。 –

関連する問題