我正在使用Google Fusion Tables制作地图,以显示我所在大学的人们发表的关于全球健康的学术期刊文章的数量。目前,当您单击国家/多边形时会出现一个弹出气泡,其中包含国家/地区的名称以及发布的有关在Fusion Table中设置的每个国家/地区的论文数量。
我希望发生的是在单击国家/地区时,侧栏更新以及指向相应文章摘要的链接。例如,当您单击法国时,侧栏中会显示12个作者姓名和文章标题(带有链接)。
我希望有一种方法可以在点击国家时从融合表中获取国家/地区的名称。使用获得的国家/地区的名称,我希望调用一个函数来替换侧边栏中的文本并将其替换为正确的信息。我希望将这些函数存储在一个单独的javascript文件中,并在html文件中调用它们。
我已阅读参考信息,但未能找到如何存储单击的相应多边形的单元格值。
javascript文件现在只是一个模型,但理想情况下,这是存储数据以填充侧边栏的地方。
我是否清楚自己要实现的目标?我试图说清楚并提供详细信息。
由于我是新成员,Stack Overflow只允许我粘贴2个链接。这是地图和融合表:
地图:https://mywebspace.wisc.edu/csterling/web/practice%202.html
融合表:https://www.google.com/fusiontables/DataSource?snapid=S501306uxNU
我想引用的javascript文件将填充看起来像这样的函数:
function argentina(){ document.getElementById(“textDescription”)。innerHTML =“发表的文章:John So-so-so等具有土着知识的疾病”; };
答案 0 :(得分:3)
以下是我为解决问题所做的工作,非常感谢Chris K.的帮助!
google.maps.event.addListener(layer,'click',function(e) {
var countryName = e.row['SOVEREIGNT'].value;
if (countryName == 'Argentina'){
argentina();
}
});
答案 1 :(得分:1)
我看到了wisc.edu网址,所以我想跟麦迪逊打个招呼......
您需要在融合表层使用click event,它将查询表并将数据写入页面元素。
以下是一些不同的片段,您可以模仿这些片段以获取单击的行中的单元格的值。每个人都会达到基本相同的目的。
//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>';
});
密钥基本上是e.row ['Dem County Percent']。value,这是给定列的值 - 在这种情况下Dem County Percent - 在点击的行中。
我worked up your map使用最后一个例子。似乎工作......
Chris K。