【问题标题】:Single marker stuck beneath polygon in Fusion Tables layer单个标记卡在 Fusion Tables 图层中的多边形下方
【发布时间】:2012-07-28 20:06:58
【问题描述】:

所以我觉得这可能是一个非常晦涩难懂的错误。

我正在为即将举行的魁北克选举绘制地图。可以看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 吗? (假设这只是一个小故障,没有其他解决方案。)

谢谢!

【问题讨论】:

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


    【解决方案1】:

    我自己已经为此苦苦挣扎了很长时间。我尝试以不同的顺序创建标记和多边形(例如,首先是多边形,其次是标记,反之亦然),但没有找到控制哪个项目在另一个之上的方法。

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

    希望这会有所帮助!

    FUSION 团队的问题——您确定可以将此逻辑写入 Fusion Tables 代码吗?

    【讨论】:

      【解决方案2】:

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

      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

      【讨论】:

      • 您的第一个代码有效,只要它在地图上注册并将所有内容设置为两层。不幸的是,那个该死的标记仍然卡在覆盖层下面。我尝试了第二个,但它拒绝工作。我最初只是插入更改,并且地图没有初始化。然后我复制并粘贴了你的代码——什么都没有。反复清除我的缓存,无论我编辑多少次,都无法注册。我想我会手动创建这个标记。
      • 你用的是什么浏览器?我的示例的实时版本是否有效,但您的副本无效(可能是缓存问题)?对我来说,在 Firefox 中(以及在家里的 Chrome 中),标记层位于多边形层的顶部。刚刚注意到我发布的代码中有一个错字,我在实时版本中修复了它(并且刚刚编辑了修复的答案)。
      • 我在 Chrome 上。您的实时版本(两者)都可以完美运行,但对我来说都不起作用(但是我注意到多边形的外观有所不同,这取决于它们应该如何使用新的图层规则。)我应该注意,当我映射我的地图时也会发生这种奇怪的故障FT UI 中的融合表。它似乎也只有这个多边形。当我将标记放在另一个多边形上时,它不会发生。我尝试删除包含该多边形的行并重新添加它 - 没有骰子。标记同上。我也在两台不同的计算机上试用它(一台 Windows,一台 Linux。一台 Chrome,另一台 Chromium。)
      猜你喜欢
      • 2012-06-26
      • 2013-01-30
      • 2014-03-13
      • 1970-01-01
      • 2011-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-26
      相关资源
      最近更新 更多