1

ここに示すように、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 モジュールのように見せたいのですが、方法がわかりません。

4

1 に答える 1