我正在尝试地理定位,但我在访问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>
我没有从showPosition方法获取console.log中的任何内容。我不应该得到纬度吗?
我做错了什么? 提前致谢
答案 0 :(得分:1)
你的代码是错误的方式。你无法做到这一点,例如:
document.getElementById('latitude').innerHTML = getLatitude();
您无法将功能分配给元素的innerHTML
。 (注意:你可以从函数中分配 return ,但这不是这里发生的事情......)
请改为尝试:
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;
}