私は OOP の初心者で、ajax リクエストを使用してオブジェクトを構築しようとしています。私が必要としているのは、「responseArray」を JSON 形式で取得し、それに取り組むことです。
function adres(adres) {
this.adres_string = adres;
var self = this
$.ajax({
type: 'POST',
url: "http://nominatim.openstreetmap.org/search?q="+adres+"&format=json&polygon=0&addressdetails=0",
success: function(data) {
self.responseArray = eval('(' + data + ')')
}
})
//Method returning point coordinates in EPSG:4326 system
this.getLonLat = function() {
var lonlat = new OpenLayers.LonLat(this.responseArray.lon, this.responseArray.lat);
return lonlat;
}
}
アプリケーションコードで私が書いたときに問題が始まります:
var adr = new adres('Zimna 3, Warszawa');
adr.getLonLat();
サーバーから応答を取得する時間がないため、これは何も返しません。どうすれば一番うまく書けるでしょうか?jQuery の when().then() メソッドについて読みました。これは私にとっては問題ないかもしれません。ベストプラクティスを知りたいだけ