我有一个函数,我需要返回一个url,我通过ajax调用。从ajax调用返回一个值到父函数
var heatmap = new google.maps.ImageMapType({
getTileUrl: function(coord, zoom) {
var tileURL;
$.get('getimage.php', { zoom: zoom, x: coord.x, y: coord.y }, function(data) {
if(data.status) { tileURL=data.image; }
}, "json");
return "tileURL";
},
tileSize: new google.maps.Size(256, 256),
opacity:0.55,
isPng: true
});
显然,ajax调用是异步的,所以我明白为什么上面的代码将tileURL返回为undefined。我知道一般人们使用回调函数来解决这个问题,但是我不知道如何调用回调函数返回一个值。我正在使用谷歌地图API,所以我没有任何灵活性来改变它的工作方式。
请参阅[ 如何从Google Maps JavaScript geocoder回调中返回变量? ](http://stackoverflow.com/questions/2993563/how-do-i-return-a-variable-from-google-maps-javascript-geocoder-callback) – 2010-09-20 22:39:12