ここに示すように、Google マップ ローダー コールバックを利用したいと考えています: https://developers.google.com/maps/documentation/javascript/examples/map-simple-async
AMD と promise を使用してこれを行う実例があります。API をロードして使用するには:
require(["path/to/google-maps-api-v3"], function (api) {
api.then(function (googleMaps) {
// consume the api
});
});
これは、遅延ではなく、完全にロードされた後に google.maps を返すことを好む私のモジュール def です。
define(["dojo/Deferred"], function (Deferred) {
var d = new Deferred();
dojoConfig["googleMapsReady"] = function () {
delete dojoConfig["googleMapsReady"];
d.resolve(google.maps);
}
require(["http://maps.google.com/maps/api/js?v=3&sensor=false&callback=dojoConfig.ipsx.config.googleMapsReady&"]);
return d;
});
ただし、ソリューションは、完全に初期化された google.maps の代わりに promise を返します。通常の AMD モジュールのように見せたいのですが、方法がわかりません。