用于街景API回调的JS闭包

时间:2011-03-08 06:10:53

标签: javascript google-maps-api-3 closures dom-events

Google maps API提供了一些方法,可以回调用户编写的方法,但具有特定参数,例如getPanoramaByLocation()。我的问题是我无法可靠地将我的请求与回复相关联。基本调用如下:

streetViewService.getPanoramaByLocation ( latLng, 10, recordPanorama );

docs:http://code.google.com/apis/maps/documentation/javascript/reference.html#StreetViewService

我认为“with”或者闭包会帮助我传递一些东西给recordPanorama,回调,除了那两个预先确定的参数,但我似乎只是将信息添加到gPBL()的上下文中,当然不会将其转发到需要的地方。当我将额外的对象放入带有“with”的范围时,它们在我的回调中不存在,并且传递的参数看起来是一样的。

尝试将请求的地理坐标与结果的地理坐标相匹配并非易事,我认为在大型交叉点会出现一些错误。我唯一的另一条信息是请求发生的时间;通过充分减慢我的请求,我可以将查询和响应很好地结合在一起,但是没有真正的方法将id传递给我的回调函数吗?

1 个答案:

答案 0 :(得分:0)

您似乎正在尝试设置一些变量X并将其保留在回调函数中。在这种情况下,您可以尝试将X放在闭包的范围内,如下所示:

for (int i=0;i<9;i++)
{
var x = 10;

magicAjax(URL, function () {
alert(x);
});
}

我没有测试过这段代码;我错了。