2014-05-09 28 views
0

我使用地理位置實驗,但在訪問getCurrentPosition方法的座標系屬性中的信息時遇到問題。Javascript地理位置 - 無法獲取緯度

這是我當前的代碼:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/> 

    <script type="text/javascript" src="jLocation.js"></script> 

    <title>Location Demo </title> 
</head> 

<body> 

<h1>Location Test File</h1> 

<h2>Information</h2> 
    <div id="g-information"> 
    <ul> 
     <li> 
      Your position is <span id="latitude" class="g-info">unavailable</span>° latitude, 
      <span id="longitude" class="g-info">unavailable</span>° longitude (with an accuracy of 
      <span id="position-accuracy" class="g-info">unavailable</span> meters) 
     </li> 
    </ul> 
</div> 

<script type="text/javascript"> 
window.onload = function(){ 
    document.getElementById('latitude').innerHTML = getLatitude(); 
} 

function getLatitude(){ 
    if (window.navigator && window.navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(showPosition); 
    } 
} 

function showPosition(position){ 
    console.log(position.coords.latitude); 
} 
</script> 

</body> 

</html> 

我沒有收到從showPosition方法的console.log什麼。我不是應該得到緯度嗎?

我在做什麼錯? 在此先感謝

回答

1

您的代碼是錯誤的方式。你不能例如這樣做:

document.getElementById('latitude').innerHTML = getLatitude(); 

您不能分配到元素的innerHTML功能。 (注意:您可以分配從函數的返回,但是這不是這裏發生了什麼......)

試試這個:

window.onload = getLatitude; 

function getLatitude() { 
    if (window.navigator && window.navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(showPosition); 
    } 
} 

function showPosition(position) { 
    var latitude = position.coords.latitude; 
    document.getElementById('latitude').innerHTML = latitude; 
}