Javascript 单击事件时从Google Fusion表访问单个单元格值
我正在使用Google Fusion Tables制作一张地图,显示我所在大学的人发表的关于全球健康的学术期刊文章的数量。当前,当您单击某个国家/多边形时,会出现一个弹出气泡,其中包含该国家的名称以及在Fusion表中显示的每个国家发表的论文数量 我希望在点击一个国家时,侧边栏会更新到相应的文章摘要链接。例如,当您单击“法国”时,侧边栏中会显示12个作者姓名和文章标题(带有链接) 我希望有一种方法可以在单击某个国家时从融合表中获取该国家的名称。在获得国家名称后,我希望调用一个函数来交换侧栏中的文本,并用适当的信息替换它。我希望将函数存储在一个单独的javascript文件中,并从html文件中调用它们 我已经阅读了参考信息,无法找到如何存储单击的相应多边形的单元格值 Javascript文件现在只是一个模型,但理想情况下,它是存储数据以填充边栏的地方 我是否清楚自己想要实现的目标?我试图澄清并提供细节 由于我是新成员,堆栈溢出只允许我粘贴2个链接。以下是地图和融合表: 地图: 融合表: 我想引用的Javascript文件将充满如下函数:Javascript 单击事件时从Google Fusion表访问单个单元格值,javascript,google-maps-api-3,dom-events,google-fusion-tables,Javascript,Google Maps Api 3,Dom Events,Google Fusion Tables,我正在使用Google Fusion Tables制作一张地图,显示我所在大学的人发表的关于全球健康的学术期刊文章的数量。当前,当您单击某个国家/多边形时,会出现一个弹出气泡,其中包含该国家的名称以及在Fusion表中显示的每个国家发表的论文数量 我希望在点击一个国家时,侧边栏会更新到相应的文章摘要链接。例如,当您单击“法国”时,侧边栏中会显示12个作者姓名和文章标题(带有链接) 我希望有一种方法可以在单击某个国家时从融合表中获取该国家的名称。在获得国家名称后,我希望调用一个函数来交换侧栏中的文
function argentina() {
document.getElementById("textDescription").innerHTML = "Articles Published: Curing diseases with indigenous knowledge by John So-and-so, etc";
};
我看到了wisc.edu的url,所以我想从麦迪逊打个招呼 您需要在fusion table层上使用,它将查询表并将数据写入page元素 这里有两个不同的代码片段,您可以模拟这些代码片段来获取单击的行中单元格的值。每个人都将实现基本相同的目标
//click listener on layer using jquery
google.maps.event.addListener(layer, 'click', function(e) {
$("#dem-votes").html(
'<p><strong>Percent:</strong> ' + e.row['Dem County Percent'].value +
'<br><strong>Votes:</strong> ' + e.row['Dem County Votes'].value +
'<br><strong>Vote Margin: </strong>' + e.row['Dem County Margin'].value + '</p>');
});
//click listener on layer using js
google.maps.event.addListener(layer, 'click', function(e) {
document.getElementById('dem-votes').innerHTML =
'<p><strong>Percent:</strong> ' + e.row['Dem County Percent'].value +
'<br><strong>Votes:</strong> ' + e.row['Dem County Votes'].value +
'<br><strong>Vote Margin: </strong>' + e.row['Dem County Margin'].value + '</p>';
});
//使用jquery在层上单击侦听器
google.maps.event.addListener(层,'click',函数(e){
$(“#dem投票”).html(
“百分比:”+e.row['Dem县百分比].值+
“
投票:”+e.row['Dem县投票].value+
“
票数差额:”+e.row['Dem Country Margin'].value+””;
});
//在使用js的层上单击listener
google.maps.event.addListener(层,'click',函数(e){
document.getElementById('dem-Voces').innerHTML=
“百分比:”+e.row['Dem县百分比].值+
“
投票:”+e.row['Dem县投票].value+
“
票数差额:”+e.row['Dem Country Margin'].value+””;
});
键基本上是e.row['Dem country Percent'].value,这是单击行中给定列的值——在本例中为Dem country Percent
我使用最后一个例子。似乎有用
Chris K.以下是我为解决问题所做的一切,非常感谢Chris K.的帮助
google.maps.event.addListener(layer,'click',function(e) {
var countryName = e.row['SOVEREIGNT'].value;
if (countryName == 'Argentina'){
argentina();
}
});
克里斯-谢谢你的快速回复。由于某些原因,堆栈溢出没有通知我您的响应,因此我为没有尽快返回而道歉。我有一个后续问题…我可以将e.row['Dem County Percent']值存储为变量吗?例如:var columnValue=e.row['Dem country Percent'].value;