如何将google maps对象传递给我的Self Invoking JS函数?

时间:2012-11-01 16:18:50

标签: javascript google-maps scope self-invoking-function

我简化了此问题的示例,但找不到Google地图对象。 它返回TypeError:a为null。

有什么想法吗?我认为它是一个范围问题或者其他东西,但我完全被卡住了

感谢您的任何想法。

(function ($, document){

    mapOptions = {
          center: new google.maps.LatLng(-34.397, 150.644),
          zoom: 8,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
    map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);

})(jQuery, document);

1 个答案:

答案 0 :(得分:0)

请记住,您的代码在页面仍在加载时运行。谷歌的地图库可能尚未加载。

你必须使用这样的结构:

(function ($, document){
    google.load("maps", function () {
        // here maps is guaranteed to be available
    });
    // here maps may _not_ be available
})(jQuery, document);