使用坐标变量

时间:2012-05-12 14:58:54

标签: javascript geolocation

我的用户坐标的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

由于

1 个答案:

答案 0 :(得分:3)

您已在lat函数中声明longsuccess,因此这是它们作用域的位置。您无法在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);
}

为了清楚起见,即使如果你在这里latlong全球化,它也无济于事。 success完成运行后,getCurrentPosition执行异步