У меня есть объект класса с именем Location, который работает с Google для геокодирования заданного адреса.
Запрос геокодирования выполняется через вызов AJAX и обрабатывается посредством обратного вызова, который инициирует членов класса после получения ответа.
Вот код:
function Location(address) {
this.geo = new GClientGeocoder();
this.address = address;
this.coord = [];
var geoCallback = function(result) {
this.coord[0] = result.Placemark[0].Point.coordinates[1];
this.coord[1] = result.Placemark[0].Point.coordinates[0];
window.alert("I am in geoCallback() lat: " + this.coord[0] + "; lon: " + this.coord[1]);
}
this.geo.getLocations(this.address, bind(this, geoCallback));
}
Location.prototype.getAddress = function() { return this.address; }
Location.prototype.getLat = function() { return this.coord[0] }
Location.prototype.getLng = function() { return this.coord[1] }
Мой вопрос: возможно ли дождаться ответа от Google , прежде чем выйдет из конструктора?
У меня нет контроля над запросом AJAX, поскольку он выполнен через API Google.
Я хочу быть уверен, что this.coord[]
правильно инициализирован после создания объекта Location.
Спасибо!