使用 jsapi 加载程序加载地图 API 已弃用

Loading Maps API with the jsapi loader is deprecated

最近我在控制台日志中看到这条消息:

Loading Maps API with the jsapi loader is deprecated.

这是导致它的代码:

connected: function() {
    ...
},

initComponent: function() {
    var me = this;
    google.load('maps', '3', {
        other_params: 'key=YOUR_API_KEY',
        callback : me.connected
    });
    ...
}

静态加载这对我来说不是一个真正的选择,因为 callback=connected 将回调到 window.connected() 而不是 me.connected():

<script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=connected"></script>

在回调本地范围时,google.load() 的替代方法是什么? Loading the Maps JavaScript API 处的文档仅提供静态加载。

在全局范围内添加此函数时:

window.connected = function() {
    console.log("Maps API connected");
};

它表明它已连接,早在应用程序启动之前:

Maps API connected
Util.js:747 [V] the Application was launched.

所以这可能不是问题。我所要做的就是调用它 afterender:

listeners: {
    afterrender: function() {
        appdata.items.panel.Maps.connected();
    }
},