Javascript 如何使用Dojo从GoogleMaps事件引用包含类?

Javascript 如何使用Dojo从GoogleMaps事件引用包含类?,javascript,google-maps-api-3,dojo,closures,dom-events,Javascript,Google Maps Api 3,Dojo,Closures,Dom Events,我正在做一些工作,将一个使用GoogleMapsAPIv2的遗留项目转换为v3 有一个Dojo类如下所示: dojo.declare ( "MyNamespace.MapControl", null, { constructor: function() { var mapElement = document.getElementById("map"); this._map = new google.maps.

我正在做一些工作,将一个使用GoogleMapsAPIv2的遗留项目转换为v3

有一个Dojo类如下所示:

dojo.declare
(
    "MyNamespace.MapControl",
    null,
    {
        constructor: function() {
            var mapElement = document.getElementById("map");
            this._map = new google.maps.Map(mapElement, {});
            google.maps.event.addListenerOnce(this._map, "idle", this.map_load);
        },

        map_load: function() {
            this.onLoad();
        },

        onLoad: function () { }
    }
);
问题是,当调用map_load函数时,它的上下文是googlemap而不是类

我尝试在类中创建一个局部变量self并使用

_self = this;
在构造函数中,但变量没有onLoad函数。这是使用以下代码的代码:

dojo.declare
(
    "MyNamespace.MapControl",
    null,
    {
        _self: null,      

        constructor: function() {
            var mapElement = document.getElementById("map");
            this._map = new google.maps.Map(mapElement, {});
            google.maps.event.addListenerOnce(this._map, "idle", this.map_load);

            _self = this;
        },

        map_load: function() {
            _self.onLoad(); // fails as onLoad is undefined
        },

        onLoad: function () { }
    }
);
Dojo中是否有一种方法可以在*map\u load*函数中获取对父类的引用,或者是否有另一种连接方法?

使用
Dojo.hitch(/*Object*/scope,/*function | String*/method)

有关更多信息,请参阅

google.maps.event.addListenerOnce(this._map, "idle", dojo.hitch(this, "map_load"));