我有一個函數,我需要返回一個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