1

ウェブサイトで Google ジオチャートを使用しようとしています。しかし問題は、ジオチャートを描画するときに、「オブジェクト # にはメソッド 'each' がありません」というエラーが表示されることです。

ここで私が試しているコード:

<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() {
        var data = google.visualization.arrayToDataTable([
            ['Country', 'Popularity'],
            ['Germany', 200],
            ['United States', 300],
            ['Brazil', 400],
            ['Canada', 500],
            ['France', 600],
            ['RU', 700]
        ]);

        var options = {};

        var chart = new google.visualization.GeoChart(document.getElementById('chart_1'));
        chart.draw(data, options);
    };
</script>

<div id="chart_1">Chart should be here</div>

ページからprototype.jsを削除するとすべて正常に動作しますが、そのままにしておく必要があります。この競合を解決する方法について何か提案はありますか?

4

1 に答える 1

5

https://developers.google.com/speed/libraries/devguide#prototypeを見てください

1.7.1.01.7.0.0、または1.6.1.0_1.6.0.31.6.0.2

Object #<Object> has no method 'each'1.7.1.0 より前のバージョンではエラーが発生するため、利用可能な最新バージョンでプロトタイプを更新するだけです。

ここで説明が必要ですが、その理由を正確に言うことはできません。1.7.1 の発表によると、dom.js は完全に書き直されました。1.7 から 1.7.1 への更新には18 か月かかりました(!!) 1.7.0 RC3 は 2010 年 10 月までさかのぼり、「IE9 のサポートを含む」(!!)。 " HTML5 タグ、特に<svg>-tag Google ビジュアライゼーションが多く使用するため、1.7.1 より前では機能していませんでした。

于 2013-09-19T20:12:49.383 に答える