1

我正在尝试在我的网站上使用 google geochart。但问题是在绘制 geochart 时,我收到错误:“Object # has no method '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.0, 1.7.0.0, 1.6.1.0,1.6.0.31.6.0.2

对于 1.7.1.0 之前的任何版本,您都会收到错误Object #<Object> has no method 'each'消息,因此您只需使用可用的最新版本更新您的原型。

这里需要一些解释,但我真的无法确切地说出原因。根据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 回答