单个标记卡在Fusion Tables层中的多边形下方

时间:2012-07-31 05:27:48

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

所以这对我来说可能是一个非常模糊的错误。

我正在为即将到来的魁北克选举制作地图。你可以看到它here

所以我建立了一个包含所有骑行多边形的融合表,并且我已经开始为兴趣摆脱添加点数。它们都很好 - 除了一个。如果你放大蒙特利尔周围的区域(特别是拉瓦尔),就会有一个蓝色圆点卡在红色多边形后面而且根本无法点击。

我已经尝试用zindex拧紧所有标记,但没有太多运气。这就是我正在做的事情:

var layer = new google.maps.FusionTablesLayer({
    query: 
    {
        select: 'Geocodable address',
        from: '4722124'
    },
    styles: 
    [
        {
            markeroptions: { zindex: 1, }
        }, 
        {
            polygonOptions: { zindex: 2, }
        }
    ]
});

layer.setMap(map);

除此之外,我不完全确定该怎么做。其余的标记工作正常。

目前,我只是手动将点插入融合表。我应该使用CSS删除它们并以这种方式编辑zindex吗? (假设这只是一个小故障,没有其他解决方案。)

谢谢!

2 个答案:

答案 0 :(得分:0)

我知道迫使标记位于顶部的唯一方法是将它们放在一个单独的层中

var layer1 = new google.maps.FusionTablesLayer({
  query: {
    select: 'Geography',
    where: "Marker does not contain '_'",
    from: '4749709' // '4722124'
 }});
layer1.setMap(map);
var layer2 = new google.maps.FusionTablesLayer({
  query: {
    select: 'Geography',
    where: "Marker contains '_'",
    from: '4749709' // '4722124'
 }});
layer2.setMap(map);

Working example

这样做的缺点是可能同时显示两个信息窗口。解决这个问题的方法是自己管理信息。

Working example with single infowindow

答案 1 :(得分:0)

我自己很长时间都在努力解决这个问题。我尝试以不同的顺序创建标记和多边形(例如,多边形优先,标记第二,反之亦然),但是没有办法控制哪个项目在另一个上面。

我的解决方法是将融合表导出到KML文件,然后手动重新组织文件中的项目顺序。地理标记出现在KML文件中越高,它就越接近顶部,它将是地图上的项目顺序。也就是说 - 首先放置标记,然后放置多边形,然后就可以单击标记。

希望这有帮助!

FUSION团队的问题 - 当然你可以将这个逻辑写入Fusion Tables代码吗?