0

このGoogle jQuery GeoChart プラグインは、次のようにうまく機能します。

<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script type='text/javascript'>
     google.load('visualization', '1', {'packages': ['geochart']});
     google.setOnLoadCallback(drawRegionsMap);

      function drawRegionsMap() {
        // code to draw map
      };

</script>

しかし、コードをクラスに移動すると、すべてが壊れます。ブラウザは空白で、ステータスは「www.google.com からデータを転送中」のままです。

(function( someClass, undefined ) {
    someClass.init= function() {
       console.log(google); //google object defined but next line breaks:
       google.load('visualization', '1', {'packages': ['geochart']}); 

       ...remainder of code
    };
}( window.Project.Pages.someClass = window.Project.Pages.someClass || {}));

理由についてのアイデアはありますか?

4

2 に答える 2

1

この問題は、Google がスクリプトをロードする方法が原因で発生します。問題の簡略化されたバージョンがこの質問で発生しました: この問題は、Google スクリプトの読み込みが遅れたことが原因でした。

この問題を修正するはずのパッチを以前に作成しました。この回答を参照してください。を使用する前にパッチを評価してgoogle.loadください。

于 2012-07-04T19:21:06.187 に答える
0

正確にはわかりませんが、これでうまくいきます...

(function( someClass ) {
    someClass.init= function() {
       google.load('visualization', '1', {'packages': ['geochart']}); 
       google.setOnLoadCallback(function(){ alert('setOnLoadCallback'); });
    };
}( someClass = {}));
someClass.init();

http://jsbin.com/inurif/edit#source

于 2012-07-05T01:23:06.133 に答える