1

我的用户坐标的 javascript 存在一些问题。在所有示例中,他们在地理定位的返回回调中打印一条警报消息,但我想使用纬度、经度坐标来打印或设置其他值。这段代码有什么问题?任何人都可以善良并解释一下::)

<script type="text/javascript">
navigator.geolocation.getCurrentPosition(success);

function success(position) {
 var lat = position.coords.latitude;
 var long = position.coords.longitude;
}

document.write(lat);
</script>

这是phonegap的错误代码:

05-12 16:40:35.486:E/Web 控制台(15962):ReferenceError:找不到变量:lat at file:///android_asset/www/showMap/showMap.html:31

谢谢

4

1 回答 1

3

你已经在函数内部声明了lat,所以这就是它们的作用域。您不能在函数之外访问它们。longsuccesssuccess

您可以将代码更改为:

navigator.geolocation.getCurrentPosition(success);

function success(position) {
 var lat = position.coords.latitude;
 var long = position.coords.longitude;
 // lat is accessible inside "success", we can write out the variable here:
 document.write(lat);
}

需要明确的是,即使在这里制作latlong全球,它也不会帮助您。运行完成后异步success执行。getCurrentPosition

于 2012-05-12T15:02:44.820 回答