谷歌的Javascript onClick函数';地球化学艺术
我正试图用谷歌的地图来显示地图 地图很好地显示了数据和指定的国家,但我无法确定如何将链接onClick分配给每个特定的国家,甚至无法为这些国家获得任何onClick函数 这个链接描述了事件“regionClick”和“select”,这听起来像是我所需要的,尽管我不确定它们将如何触发我的链接函数……我是javascript新手。使用“select”时,似乎有一个“getselect”方法谷歌的Javascript onClick函数';地球化学艺术,javascript,google-visualization,dom-events,Javascript,Google Visualization,Dom Events,我正试图用谷歌的地图来显示地图 地图很好地显示了数据和指定的国家,但我无法确定如何将链接onClick分配给每个特定的国家,甚至无法为这些国家获得任何onClick函数 这个链接描述了事件“regionClick”和“select”,这听起来像是我所需要的,尽管我不确定它们将如何触发我的链接函数……我是javascript新手。使用“select”时,似乎有一个“getselect”方法 load('visualization','1',{'packages':['geomap']}); se
load('visualization','1',{'packages':['geomap']});
setOnLoadCallback(drawMap);
函数drawMap(){
var data=google.visualization.arrayToDataTable([
[“国家”、“项目”],
[‘俄罗斯’,3],
[‘法国’,2],
[‘西班牙’,4]
]);
var选项={};
选项['dataMode']='regions';
选项['width']='834px';
选项['height']='521px';
var container=document.getElementById('map_canvas');
var chart=新的google.visualization.geograpart(容器);
图表绘制(数据、选项);
};
函数myClickHandler(){
var selection=chart.getSelection();
对于(变量i=0;i
感谢您的帮助和指导。您需要做几件事。首先,由于函数
myClickHandler
引用对象chart
,因此它需要与chart
在同一范围内,因此必须将其移动到drawMap
中。其次,您需要为使用myClickHandler
函数的图表创建'click'
事件处理程序。代码应该是这样的:
function drawMap() {
var data = google.visualization.arrayToDataTable([
['Country', 'Projects'],
['Russia', 3],
['France', 2],
['Spain', 4]
]);
var options = {
dataMode: 'regions',
width: 834,
height: 521
};
var container = document.getElementById('map_canvas');
var chart = new google.visualization.GeoChart(container);
function myClickHandler(){
var selection = chart.getSelection();
var message = '';
for (var i = 0; i < selection.length; i++) {
var item = selection[i];
if (item.row != null && item.column != null) {
message += '{row:' + item.row + ',column:' + item.column + '}';
} else if (item.row != null) {
message += '{row:' + item.row + '}';
} else if (item.column != null) {
message += '{column:' + item.column + '}';
}
}
if (message == '') {
message = 'nothing';
}
alert('You selected ' + message);
}
google.visualization.events.addListener(chart, 'select', myClickHandler);
chart.draw(data, options);
}
google.load('visualization', '1', {packages: ['geochart'], callback: drawMap});
函数drawMap(){
var data=google.visualization.arrayToDataTable([
[“国家”、“项目”],
[‘俄罗斯’,3],
[‘法国’,2],
[‘西班牙’,4]
]);
变量选项={
数据模式:“区域”,
宽度:834,
身高:521
};
var container=document.getElementById('map_canvas');
var chart=新的google.visualization.geograpart(容器);
函数myClickHandler(){
var selection=chart.getSelection();
var消息=“”;
对于(变量i=0;i
jsIDLE:当用户单击某个区域时,您是否正在尝试获取myClickHandler?在你上面提到的GeoChart文档url中搜索“enableRegionInteractivity”。你是否也试图在地图上只显示俄罗斯、法国和西班牙,而不显示其他国家?它说它默认在区域模式下启用,而且我仍然不知道如何拾取这些射击事件。不会有其他国家(大多数),这只是一个测试。