我有一個名爲Location的類對象,它可以與Google一起使用,以對給定地址進行地址解析。 地理編碼請求通過AJAX調用完成,並通過回調處理,一旦響應到達,該回調將啓動類成員。Obj構造函數中的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] }
我的問題是:有可能要等待從谷歌之前退出構造的反應如何?
我無法控制AJAX請求,因爲它是通過谷歌API製作的。
我想確保this.coord[]
在創建Location obj後正確初始化。
謝謝!
什麼是這些屬性獲得者的好處?您給「this」的每個房產都是公開的。你可以很容易地刪除getter並直接使用這些屬性(只需創建不同的'Lat'和'Lng'屬性而不是'coord'數組)。 – Tomalak 2010-04-19 17:29:32