【发布时间】:2011-04-26 22:13:16
【问题描述】:
您好,我正在使用谷歌地图 API 我有这么大的代码,所以我不想用代码吓跑人们 基本上这就是我需要做的
我有一个 javascript(1) 函数,在有人单击按钮后我从 Html 调用该函数, 从那个函数我做了一些处理来计算纬度和经度,并调用一个使用纬度和经度的自定义函数,并调用一个谷歌地图函数。我需要将谷歌地图回调函数中的值传递回 javascript 函数 (1)
事情是这样的
-------------File First.html----
<script type="text/javascript" src="functions.js"></script>
<script type="text/javascript">
function docalculation
{
.....some calculations for latlng......
var value = get_value(latlng);
}
</script>
<html>
.....html file....
<input type="button" value="Create Directions" onClick="docalculation()">
</html>
-------------------文件functions.js----------------
var return_val;
function get_val(latlng)
{
geocoder = new google.maps.Geocoder();
geocoder.geocode({'latLng': latlng}, function(results, status) {
return_val = (results[0].address_components[i].long_name);
alert(return_val); //here I get the value that I need in alert
}
alert (return_val); // here the value suddenly becomes undefined
return val; // hence returns undefined
}
请帮助我被困在这里,即使经过 2 天的谷歌搜索并尝试了我所知道的一切,也找不到解决方案。
感谢任何帮助
我正在寻找的最简单的解决方案是将 return_val 的值存储到变量值中
谢谢
【问题讨论】:
-
听起来像是变量作用域的问题,但如果没有完整的参考框架,要弄清楚它偏离轨道的地方会有点困难。
-
有什么办法可以存储这个值(return_val).....我迫切需要解决方案
标签: javascript google-maps asynchronous