私は次のコードを使用しています:
function eventListenerTest(event) {
if (document.getElementById('gem_cvo_select_list')) {
var address;
$.getJSON(url, function (data) {
address = data.rows[0];
alert("This gets executed afterwards");
});
alert("This gets executed first");
event.infoWindowHtml = "<b>Address: </b>" + address;
}
}
問題は、「address」変数が infoWindow で使用された後に $.getJSON 関数が実行されることです。次のようにコードを変更しました。
function eventListenerTest(event) {
if (document.getElementById('gem_cvo_select_list')) {
var address;
$.getJSON(url, function (data) {
address = data.rows[0];
event.infoWindowHtml = "<b>Address: </b>" + address;
});
}
}
この方法では「イベント」オブジェクトにアクセスできないようです (Google マップの情報ウィンドウには何も表示されません)。JSON内の関数に「イベント」を渡すことができるはずだと考えましたが、これを達成する方法がわかりません。