想传回回调函数里面的一些值,代码如下
function zoomOut()
{
debugger;
latlng = map.fromContainerPixelToLatLng(clickedPixel);
mygeocode.getLocations (latlng,function(response) {
document.getElementById("toaddress").value = response.Place[0].address;
temp = response.Place[0].address; //temp是全局变量
}
);
anotherFunction(temp);调试的时候,函数里面的temp的确有值了,但下面的temp却是 undefined。请问各位是怎么回事?还有如果我单步的能够进到上面回调函数的内部,却出不来了,没能单步到 anotherFunction这里,但是直接可以运行到 anotherFunction。
function zoomOut()
{
debugger;
latlng = map.fromContainerPixelToLatLng(clickedPixel);
mygeocode.getLocations (latlng,function(response) {
document.getElementById("toaddress").value = response.Place[0].address;
temp = response.Place[0].address; //temp是全局变量
}
);
anotherFunction(temp);调试的时候,函数里面的temp的确有值了,但下面的temp却是 undefined。请问各位是怎么回事?还有如果我单步的能够进到上面回调函数的内部,却出不来了,没能单步到 anotherFunction这里,但是直接可以运行到 anotherFunction。
document.getElementById("toaddress").value = response.Place[0].address;
temp = response.Place[0].address; //temp是全局变量
}
);这个不是执行里面的代码 而是定义(不知道是事件还是函数定义,你的getLocations我不知道是什么)
此方法向 Google 地址解析服务发送请求,要求该服务对指定的 query 进行解析并在指定的 callback 中处理响应您必须传递 callback 方法以处理响应。此响应将包含 Status 代码,如果成功,则会包含一个或多个 Place 对象。这个google提供的一个api, 传递进去的latlng 其实是个经纬度的对象。某次运行的结果如下- response {...} Object
name "23.386380,112.847443" String
- Place {...} Object
- [0] {...} Object
address "中国广东省佛山市三水区" String
+ AddressDetails {...} Object
+ ExtendedData {...} Object
id "p1" String
+ Point {...} Object
+ [1] {...} Object
+ [2] {...} Object
+ [3] {...} Object
+ Status {...} Object其实我是奇怪,为什么temp会显示上一次的结果呢