Javascript Google Geomap API更改区域选项onClick()

Javascript Google Geomap API更改区域选项onClick(),javascript,google-api,geomap,Javascript,Google Api,Geomap,这段代码使用 setOnLoadCallback(drawMap); 函数drawMap(){ var data=new google.visualization.DataTable(); data.addColumn('string','iso');//例如:mx data.addColumn('number','population');//例如:114 数据.添加行([[“mx”,114],“ec”,14],“ve”,28]); 变量选项={ 地区:'005', 宽度:“511px”,

这段代码使用


setOnLoadCallback(drawMap);
函数drawMap(){
var data=new google.visualization.DataTable();
data.addColumn('string','iso');//例如:mx
data.addColumn('number','population');//例如:114
数据.添加行([[“mx”,114],“ec”,14],“ve”,28]);
变量选项={
地区:'005',
宽度:“511px”,
高度:'280px',
传奇:真的
};
var geomap=new google.visualization.geomap(document.getElementById('map');
绘制地理地图(数据、选项);
};
默认选择的区域为005(南美洲)。以下是其他可用区域:

  • 013-(中美洲)
  • 150-(欧洲)
我怎样才能更改已绘制地图的区域?大概是这样的:

<a href="javascript:void(null);" onclick="changeRegion(150);">Europe</a>


我知道地图必须重新绘制,但我有点陷入了区域属性修改步骤。任何想法都会有帮助。谢谢

如果你已经有了数据,我给你一个我在自己的应用程序中使用的片段。我想这比冗长的解释更容易理解。希望能有帮助。 在我的例子中,我想按同一地区的国家显示数字

geomap = new google.visualization.GeoMap(document.getElementById('geo_chart'));


        google.visualization.events.addListener( geomap, 'regionClick', 
            function(e) 
            { 
                var dataLocal = new google.visualization.DataTable();
                var grouped_cities;

                if (e['region'] == "0")
                    return;

                options['colors'] = [0xaacdf8, 0x164177]; //orange colors
                options['dataMode'] = 'markers';
                options['region'] = e['region'];
                options['showZoomOut'] = true;

                if ( previous_region !=  e['region'] )
                {
                    var indexes  = dataFull.getFilteredRows([{column: 0, value: e['region']}]);

                    dataLocal.addRows(indexes.length);
                    dataLocal.addColumn('string', 'City');
                    dataLocal.addColumn('number', 'Views');

                    for ( i=0; i<indexes.length; i++ )
                    {
                        dataLocal.setValue(i, 0, dataFull.getValue(indexes[i], 2));
                        dataLocal.setValue(i, 1, dataFull.getValue(indexes[i], 3));
                    }


                    grouped_cities = google.visualization.data.group( dataLocal, [0],[{'column': 1, 'aggregation': google.visualization.data.sum, 'type': 'number'}]);
                    previous_region =  e['region'];
                }

                geomap.draw(grouped_cities, options);
                delete grouped_cities;
                delete dataLocal;

            }
        ); 
geomap=new google.visualization.geomap(document.getElementById('geo_-chart');
google.visualization.events.addListener(geomap,'regionClick',
职能(e)
{ 
var dataLocal=new google.visualization.DataTable();
瓦卢城市;
如果(e[‘区域’]=“0”)
返回;
选项['colors']=[0xaacdf8,0x164177];//橙色
选项['dataMode']='markers';
选项['region']=e['region'];
选项['showcoomout']=true;
if(上一个区域!=e['region'])
{
var index=dataFull.getFilteredRows([{column:0,value:e['region']}]);
dataLocal.addRows(index.length);
addColumn('string','City');
dataLocal.addColumn('number','Views');

对于(i=0;i如果你已经有了数据,我给你一个我在我自己的应用程序中使用的片段。我想这比冗长的解释更容易理解。希望能有所帮助。 在我的例子中,我想按同一地区的国家显示数字

geomap = new google.visualization.GeoMap(document.getElementById('geo_chart'));


        google.visualization.events.addListener( geomap, 'regionClick', 
            function(e) 
            { 
                var dataLocal = new google.visualization.DataTable();
                var grouped_cities;

                if (e['region'] == "0")
                    return;

                options['colors'] = [0xaacdf8, 0x164177]; //orange colors
                options['dataMode'] = 'markers';
                options['region'] = e['region'];
                options['showZoomOut'] = true;

                if ( previous_region !=  e['region'] )
                {
                    var indexes  = dataFull.getFilteredRows([{column: 0, value: e['region']}]);

                    dataLocal.addRows(indexes.length);
                    dataLocal.addColumn('string', 'City');
                    dataLocal.addColumn('number', 'Views');

                    for ( i=0; i<indexes.length; i++ )
                    {
                        dataLocal.setValue(i, 0, dataFull.getValue(indexes[i], 2));
                        dataLocal.setValue(i, 1, dataFull.getValue(indexes[i], 3));
                    }


                    grouped_cities = google.visualization.data.group( dataLocal, [0],[{'column': 1, 'aggregation': google.visualization.data.sum, 'type': 'number'}]);
                    previous_region =  e['region'];
                }

                geomap.draw(grouped_cities, options);
                delete grouped_cities;
                delete dataLocal;

            }
        ); 
geomap=new google.visualization.geomap(document.getElementById('geo_-chart');
google.visualization.events.addListener(geomap,'regionClick',
职能(e)
{ 
var dataLocal=new google.visualization.DataTable();
瓦卢城市;
如果(e[‘区域’]=“0”)
返回;
选项['colors']=[0xaacdf8,0x164177];//橙色
选项['dataMode']='markers';
选项['region']=e['region'];
选项['showcoomout']=true;
if(上一个区域!=e['region'])
{
var index=dataFull.getFilteredRows([{column:0,value:e['region']}]);
dataLocal.addRows(index.length);
addColumn('string','City');
dataLocal.addColumn('number','Views');
对于(i=0;i