1

我有一个融合表,我想使用 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 的图层不支持点击事件吗?还是我错过了什么?

4

3 回答 3

0

FusionTablesLayerOptions 中没有“styledId”属性。 https://developers.google.com/maps/documentation/javascript/3.exp/reference#FusionTablesLayerOptions

请查看官方文档: https ://developers.google.com/maps/documentation/javascript/layers#fusion_table_styles

于 2012-12-11T04:52:23.550 回答
0

这里记录了一个 styleId 属性,似乎尚未将其纳入 Google Maps API v3 文档。

有关详细信息,请参阅Fusion Tables 用户组中的此线程。似乎其他人也有同样的问题。

新外观中有多少个地图选项卡?也许您需要不同的 styleId 编号。

于 2012-12-13T01:45:13.343 回答
0

好的,我解决了:

  1. FusionTablesLayerOptions 中有一个“styledId”属性,它记录在这里

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

于 2012-12-13T06:20:03.767 回答