Javascript地理位置-无法获取纬度

Javascript地理位置-无法获取纬度,javascript,geolocation,Javascript,Geolocation,我正在尝试地理定位,但在访问getCurrentPosition方法的coords属性中的信息时遇到了问题 这是我当前的代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <script type="text/ja

我正在尝试地理定位,但在访问getCurrentPosition方法的coords属性中的信息时遇到了问题

这是我当前的代码:

<!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>

位置演示
位置测试文件
问询处
  • 你的位置在北纬不可用, 不可用经度(精度为 不可用电表)
window.onload=函数(){ document.getElementById('latitude')。innerHTML=getLatitude(); } 函数getLatitude(){ if(window.navigator&&window.navigator.geolocation){ navigator.geolocation.getCurrentPosition(showPosition); } } 功能显示位置(位置){ 控制台.日志(位置.坐标.纬度); }
我没有从showPosition方法的console.log中获得任何信息。我不是应该得到自由吗

我做错了什么?
提前感谢

您的代码是错误的。您不能这样做,例如:

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;
}