コールバックがグローバル関数である場合にのみ、Google Mapsv3APIをダウンロードできます。
function onMapLoad() {
alert('API is loaded');
}
var script = new Element(
'script', {
type: 'text/javascript',
src: 'http://maps.googleapis.com/maps/api/js?key='
+ Map.API_KEY
+ '&sensor=false&callback=onMapLoad'
}
);
document.body.appendChild(script);
グローバル関数は使いたくない。代わりに、シングルトンでメソッドを呼び出したいと思いますMap.instance().onLoaded
。
// ...
+ '&sensor=false&callback=Map.instance().onLoaded'
// ...
これを行おうとすると、NetworkError:403Googleのスクリプトの読み込みが禁止されています。これは、Googleのサービスが私のコールバック関数文字列を気に入らなかったことを意味しているようです。コールバック関数自体に問題はありません。