【问题标题】:Google Visualization API Geomap: How to handle marker click events?Google Visualization API Geomap:如何处理标记点击事件?
【发布时间】:2023-03-26 00:07:01
【问题描述】:

我最初在世界视图上使用 Google Visualization API Geomap (options['dataMode'] = 'regions'),当点击一个国家/地区时,我会捕获 'regionClick' 事件,如下所示:

google.visualization.events.addListener(
    geomap, 'regionClick', function (e) {
        var rowindex = data.getFilteredRows([{column: 0, value: e['region']}]);  
        var location = data.getValue(rowindex[0], 3);
        location.href = "?ISO=" + e['region'] + "&Location=" + location;
    });

然后我以标记模式(options['dataMode'] = 'markers')绘制放大到国家的地图。但是,单击标记本身时,我似乎无法捕获任何事件。

文档 (http://code.google.com/apis/visualization/documentation/gallery/geomap.html#Events) 仅涉及 'select' 和 'regionClick' 事件,在这种情况下都不会触发。 (使用 Chrome 9 和 IE 8 测试。)

有人在这方面取得过成功吗? 非常感谢。

【问题讨论】:

标签: google-visualization geomap


【解决方案1】:
【解决方案2】:

我可以在 IE 8 和 Chrome 上运行它。首先,如果您在本地运行此文件,请注意文档中的警告://

如果不是这样,请确保您的 google.visualization.GeoMap 变量(addListener 的第一个参数)确实命名为 geomap。如果是,添加alert() 作为事件处理程序中的第一行代码并查看是否触发。最后,请注意,除非变量 data 是全局变量,否则如果您尝试从事件处理程序中访问它,它将超出范围。

【讨论】:

  • 感谢 aardila 的回复。我确实让它适用于区域,而不是标记模式。我附上了两个例子来说明。
  • 很抱歉听到它不受支持。我错过了文档中关于标记的(相当不清楚的)注释,因为我只使用区域。 “在标记模式下,不会针对“地区”选项中分配的特定国家/地区(如果列出了特定国家/地区)抛出此 [事件]。
  • 然后他们应该添加:“并且标记本身不会引发任何事件。”哦,好吧,至少我知道,不必再花时间在上面了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-01
  • 2015-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多