var events = <?php echo $sf_data->getRaw('jsonData'); ?>;//some perfecly fine json
var locations = new Array();
var geocoder = new google.maps.Geocoder();
$(events).each(function(i,e){
geocoder.geocode({address: e.place},function(results,statusCode){
locations[e.id] = results[0].geometry.location;
})
})
alert(locations.length);
好的,问题很简单。 如何修改闭包内的位置数组? 警报显示 0 。
答案 0 :(得分:4)
警报显示0,因为您异步修改locations
。您修改locations
的匿名功能将被称为稍后,然后您会显示警告。