У меня есть функция, где мне нужно вернуть 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 как неопределенные. Я знаю, что в целом люди используют функции обратного вызова для решения этой проблемы, но я не знаю, как получить обратный вызов, чтобы ВОЗВРАТИТЬ значение в родительскую функцию. Я работаю с API карт google, поэтому у меня нет никакой гибкости, чтобы изменить, как это работает.
См. [ Как вернуть переменную из обратного вызова геокодирования Google Maps JavaScript? ] (http://stackoverflow.com/questions/2993563/how-do-return-a-variable-from-google-maps-javascript-geocoder-callback) –