4

我正在使用 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 = "Articles Published: Curing diseases with indigenous knowledge by John So-and-so, etc";
};
4

2 回答 2

3

这是我为解决问题所做的,非常感谢 Chris K. 的帮助!

google.maps.event.addListener(layer,'click',function(e) {
    var countryName = e.row['SOVEREIGNT'].value;
    if (countryName == 'Argentina'){
        argentina();
    }
});
于 2012-05-24T19:59:18.137 回答
1

我看到了 wisc.edu 网址,所以我想从麦迪逊打个招呼……

您需要在融合表层上使用单击事件,该事件将查询表并将数据写入页面元素。

这里有几个不同的片段,您可以模仿它们来获取单击的行中单元格的值。每个人将实现基本相同的事情。

//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 - 在单击的行中。

我使用最后一个示例制作了您的地图。似乎工作...

克里斯·K。

于 2012-05-17T05:26:16.863 回答