我在firefox 3.6中使用了navigator.geolocation.getCurrentPosition(function)api.当我试图反复调用这个方法时,我发现它有时会起作用,有时则不然.我认为问题是由于它的异步回调性质.我可以看到回调函数在某个时刻被调用,但我的外部函数已经退出,所以我无法捕获位置坐标的值.
我是javascript的新手,所以我假设其他javascript编码器可能已经找到了如何处理它.请帮忙.
编辑:这是我正在使用的一段代码示例
<script type="text/javascript">
function getCurrentLocation() {
var currLocation;
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
currLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
});
}
return currLocation; // this returns undefined sometimes. I need help here
}
</script>
Run Code Online (Sandbox Code Playgroud)
编辑2:感谢大家的回答,我希望我能选择所有答案为"已接受",但不能这样做.
现在我面临另一个问题.我每3秒调用一次navigator.geolocation.getCurrentPosition,但响应在10到15个回复后停止.任何人都有任何想法?
再次感谢