从 Google Fusion Tables on Click 事件中访问单个单元格值

Accessing individual cell value from Google Fusion Tables on Click event

本文关键字:访问 单个 单元格 事件 Click Google Fusion Tables on      更新时间:2023-09-26

我正在使用Google Fusion Tables制作一张地图,以显示我大学的人发表的有关全球健康的学术期刊文章的数量。目前,当您单击国家/多边形时,会出现一个弹出气泡,其中包含国家/地区名称和在 Fusion 表中设置的有关每个国家/地区的已发表论文数量。

我希望发生的事情是在单击一个国家/地区时更新侧边栏,其中包含指向相应文章摘要的链接。例如,当您单击"法国"时,侧边栏中会显示 12 个作者姓名和文章标题(带链接(。

我希望有一种方法可以在单击国家/地区时从融合表中获取国家/地区的名称。获得国家/地区名称后,我希望调用一个函数来交换侧边栏中的文本并将其替换为正确的信息。我希望将这些函数存储在一个单独的javascript文件中,并从html文件中调用它们。

我已经阅读了参考信息,但无法找到如何存储单击的相应多边形中的单元格值。

Javascript文件现在只是一个模型,但理想情况下,这是存储数据以填充侧边栏的地方。

是否清楚我想要实现的目标?我试图说清楚并提供细节。

由于我是新成员,堆栈溢出只允许我粘贴 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";
};

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

google.maps.event.addListener(layer,'click',function(e) {
    var countryName = e.row['SOVEREIGNT'].value;
    if (countryName == 'Argentina'){
        argentina();
    }
});

我看到 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。

我使用最后一个示例绘制了您的地图。似乎有效...

克里斯·