我的用户坐标的javascript存在一些问题。在所有示例中,他们在地理定位的返回回调上打印警报消息,但我想使用lat,long坐标进行打印或设置其他值。这段代码有什么问题?任何人都可以善良并解释::))
<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 Console(15962):ReferenceError:找不到 变量:lat at file:///android_asset/www/showMap/showMap.html:31
由于
答案 0 :(得分:3)
您已在lat
函数中声明long
和success
,因此这是它们作用域的位置。您无法在success
功能之外访问它们。
您可以将代码更改为:
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);
}
为了清楚起见,即使如果你在这里lat
和long
全球化,它也无济于事。 success
完成运行后,getCurrentPosition
执行异步。