【问题标题】:FusionTablesLayer Polygon with styleId click event not firing带有styleId单击事件的FusionTablesLayer多边形未触发
【发布时间】:2012-11-28 13:30:28
【问题描述】:

我有一个融合表,我想使用 styleid 来配置外观。似乎带有 styleid 的 FusionTablesLayer 不能附加点击事件。

这是我正在使用的 FusionTablesLayerOptions 的示例:

settings: {
    query: {
        select: 'geometry',
        from: '<<my table id>>'
    },
    suppressInfoWindows: true,
    styleId: 2
}

这里是不触发的点击事件:

google.maps.event.addListener(<<my FusionTablesLayer obj>>, 'click', function () {
    console.log('layer click');
});

当我将 FusionTablesLayerOptions 更改为此时,事件会触发:

settings: {
    query: {
        select: 'geometry',
        from: '<<my table id>>'
    },
    suppressInfoWindows: true
}

所以我的问题是 - 你认为带有 styleId 的图层不支持点击事件吗?还是我错过了什么?

【问题讨论】:

    标签: javascript google-maps google-maps-api-3 google-fusion-tables dom-events


    【解决方案1】:

    【讨论】:

    • 不,FusionTablesLayerOptions 中有一个“styledId”属性。
    【解决方案2】:

    有一个 styleId 属性记录在 here,似乎还没有进入 Google Maps API v3 文档。

    有关详细信息,请参阅 Fusion Tables 用户组中的 this thread。好像其他人也有同样的问题。

    新外观中有多少个地图标签?也许您需要一个不同的 styleId 编号。

    【讨论】:

      【解决方案3】:

      好的,我解决了:

      1. FusionTablesLayerOptions 中有一个“styledId”属性及其记录在案的here

      2. 此问题是由多边形填充颜色的不透明度引起的。似乎如果多边形填充的不透明度设置为 0%,则不会触发附加到图层的单击事件。将不透明度设置为 1% 可以立即解决此问题。我添加了一张图片here 来演示。

      【讨论】:

      • 您是否给了我们您餐桌的链接,以便我们知道这一点?
      • 不——融合表链接不会有任何区别。它在整个融合表 API 中很常见,在设置多边形或笔划的不透明度时,该数字必须为 1% 或更高,例如:0.01。
      • 我们如何判断您使用的不透明度?
      • 你不会的。但是,从我给出的示例中,很明显问题与样式有关。设置了 styleId 值时存在问题,没有它就不存在。这也是导致这种特定行为的融合表样式的唯一已知问题。
      猜你喜欢
      • 2012-08-02
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 2016-04-22
      • 1970-01-01
      • 2012-07-10
      • 1970-01-01
      相关资源
      最近更新 更多