Javascript 用谷歌地图展示西非

Javascript 用谷歌地图展示西非,javascript,google-visualization,Javascript,Google Visualization,我想用Google的图表API显示一张世界地图(GeoChart),其中一些国家按国家列出,其他国家按分组/地区显示 我的数据可能如下所示: [["Country","DataValue"],["United States",2000],["West Africa",3000],["Great Britain",1500]]; 这可能吗?我试着使用选项的displayMode属性,但没有任何效果。我还尝试使用“011”而不是“西非”,因为API将“011”视为一个区域。这也不管用 我可以用re

我想用Google的图表API显示一张世界地图(GeoChart),其中一些国家按国家列出,其他国家按分组/地区显示

我的数据可能如下所示:

[["Country","DataValue"],["United States",2000],["West Africa",3000],["Great Britain",1500]];
这可能吗?我试着使用选项的
displayMode
属性,但没有任何效果。我还尝试使用“011”而不是“西非”,因为API将“011”视为一个区域。这也不管用

我可以用
region
选项只显示西非地区,但这不是我想要的。我真的很想展示世界,但像西非这样的地区是作为一个整体而不是单个国家来处理和着色的

感谢您的帮助。

支持整个世界或特定地区(例如
011西非

因为你的目标是:

展示世界,但要处理像西非这样的地区 作为一个群体而不是单个国家的有色人种

我将提出以下解决方案:将某个地区的数据表行动态扩展为该地区每个国家的行:

function expandRegions(dataTable) {
    var regions = {
        'West Africa': {
            '204': 'Benin',
            '854': 'Burkina Faso',
            '132': 'Cabo Verde',
            '384': "Cote d'Ivoire",
            '270': 'Gambia',
            '288': 'Ghana',
            '324': 'Guinea',
            '624': 'Guinea-Bissau',
            '430': 'Liberia',
            '466': 'Mali',
            '478': 'Mauritania',
            '562': 'Niger',
            '566': 'Nigeria',
            '654': 'Saint Helena',
            '686': 'Senegal',
            '694': 'Sierra Leone',
            '768': 'Togo'
        }
    };


    for (var i = 0; i < dataTable.getNumberOfRows(); i++) {
        var regionName = dataTable.getValue(i, 0);
        var region = regions[regionName];
        if (region) {
            var value = dataTable.getValue(i, 1);
            dataTable.removeRow(i); //remove region row
            //add countries from region rows 
            for (var code in region) {
                var countryName = region[code];
                dataTable.addRow([countryName, value]);
            }
        }
    }
    return dataTable;
}
函数扩展区域(数据表){
变量区域={
“西非”:{
'204':'贝宁',
‘854’:‘布基纳法索’,
‘132’:‘维德角’,
“384”:“科特迪瓦”,
‘270’:‘冈比亚’,
‘288’:‘加纳’,
'324':'几内亚',
‘624’:‘几内亚比绍’,
‘430’:‘利比里亚’,
‘466’:‘马里’,
‘478’:‘毛里塔尼亚’,
‘562’:‘尼日尔’,
‘566’:‘尼日利亚’,
“654”:“圣赫勒拿”,
‘686’:‘塞内加尔’,
‘694’:‘塞拉利昂’,
‘768’:‘多哥’
}
};
对于(var i=0;i
完整示例

google.load(“可视化”、“1”、{packages:[“地球艺术”]});
setOnLoadCallback(DrawRegionMap);
函数drawRegionsMap(){
var data=google.visualization.arrayToDataTable([
[“国家”,“数据值”],
[“美国”,2000年],
[“西非”,3000],
[“大不列颠”,1500年]
]);
数据=扩展区域(数据);
变量选项={
};
var chart=new google.visualization.geograpart(document.getElementById('regions_div'));
图表绘制(数据、选项);
}
函数扩展区域(数据表){
变量区域={
“西非”:{
'204':'贝宁',
‘854’:‘布基纳法索’,
‘132’:‘维德角’,
“384”:“科特迪瓦”,
‘270’:‘冈比亚’,
‘288’:‘加纳’,
'324':'几内亚',
‘624’:‘几内亚比绍’,
‘430’:‘利比里亚’,
‘466’:‘马里’,
‘478’:‘毛里塔尼亚’,
‘562’:‘尼日尔’,
‘566’:‘尼日利亚’,
“654”:“圣赫勒拿”,
‘686’:‘塞内加尔’,
‘694’:‘塞拉利昂’,
‘768’:‘多哥’
}
};
对于(var i=0;i