由于异步查询和变量范围问题,代码无法正常工作。我无法理解如何解决这个问题。使用async更改为$ .ajax方法:false - 不是一个选项。我知道关闭,但我怎么能在这里实现 - 不知道。我已经在这里看到关于js和jQuery异步问题中关闭的所有主题 - 但仍然没有。请帮助。 下面是代码:jQuery异步ajax查询和返回值问题(范围,关闭)
var map = null;
var marker;
var cluster = null;
function refreshMap()
{
var markers = [];
var markerImage = new google.maps.MarkerImage('/images/image-1_32_t.png', new google.maps.Size(32, 32));
$.get('/get_users.php',{},function(data){
if(data.status == 'error')
return false;
var users = data.users; // here users.length = 1 - this is ok;
for(var i in users)
{
//here I have every values from users - ok
var latLng = new google.maps.LatLng(users[i].lat, users[i].lng);
var mark = new google.maps.Marker({
position: latLng,
icon: markerImage
});
markers.push(mark);
alert(markers.length); // length 1
}
},'json');
alert(markers.length); // length 0
//if I have alert() above - I get result
cluster = new MarkerClusterer(map, markers,
{
maxZoom: null,
gridSize: null
});
}
感谢。
什么问题?你想要什么样的行为? – kevingessner 2010-05-28 17:19:37