【问题标题】:Need to trigger an event inside Google Maps infowindow (created using Google Fusion)需要在 Google 地图信息窗口中触发事件(使用 Google Fusion 创建)
【发布时间】:2014-02-13 04:24:53
【问题描述】:

我正在使用从 Google Fusion Table(链接:https://www.google.com/fusiontables/DataSource?docid=1mWA12GVNH1CDLO41ProqVCqQZBXXfV_r6YVRljw)中提取的数据在 Google 地图上填充标记。

单击标记时,会显示一个信息窗口。 (注意:此操作使用 Google Fusion Tables 执行)。

当点击信息窗口内的链接时,我想触发一个事件以在页面上显示 youtube 视频。

在同一页面上,我使用从同一个 Google Fusion Table 中提取的数据创建了一个 Google 可视化表,并且当使用 jQuery 单击可视化表内的链接时,我能够在页面上显示一个 youtube 视频。我正在从 Google 地图信息窗口调用相同的函数,但它不起作用。

这是我在 GitHub 上的代码的链接:https://github.com/mershon1/VICE-guide-to-travel/blob/gh-pages/index_v0.3.1.html

我是编程新手,不明白问题所在。我到处寻找解决问题的方法,但没有找到任何具体的解决方案。任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 如果您稍微简化一下问题并将一些相关代码直接发布到问题中会有所帮助。

标签: jquery google-maps youtube-api google-visualization google-fusion-tables


【解决方案1】:

自动信息窗口的内容可能会被修改。

这些 infoWindows 也会在 google 托管的应用程序中打开,因此必须对内容进行清理以确保不会注入恶意代码。当您使用开发人员工具检查 infoWindow 时,您会看到 val 属性已被删除。

可以做的:观察FTLayer的点击事件,修改infoWindowHTML。

将此添加到initialize()的末尾:


google.maps.event.addListener(layer, 'click', function(e) {

  e.infoWindowHtml = '<div class="googft-info-window" >'+
                     '<strong>VICE-Guide to:</strong>'+
                     e.row['Country'].value +
                     '('+e.row['Region'].value+')<br/>'+
                     e.row['Hyperlink'].value +
                     '</div>';
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    • 2015-06-10
    相关资源
    最近更新 更多