Google Maps / Google Fusion Tables图层渲染订单

时间:2014-02-21 18:35:04

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

我们有Google Map加载Google Fusion Tables图层。由于地图是在几个月前创建的,因此地图上的图层渲染顺序与代码中指定的顺序完全对应。但是,最近我们注意到代码顺序不再受到尊重。在上面链接的地图中,县图层应位于底部,以便能够点击其他图层中的标记。

我们也注意到谷歌自己的多层融合表Map Example现在也被打破了。

还有其他人遇到过此问题吗?有没有可行的解决方法?

2 个答案:

答案 0 :(得分:0)

现在看起来是逆转的顺序。

顺序意味着:无关紧要,在定义图层的地方,重要的是设置图层的map属性。 因此,当您设置图层的map属性时,此图层将被其他图层覆盖。

目前您首先在toggleLayers中设置riverBasins/counties的地图,然后调用setQuery,为apps(点)设置地图:

  lyr.apps.setMap(null);
  lyr.apps.setMap(gmap);

apps始终会被riverBasins/counties覆盖,因为它的map属性已经设置了

可能的解决方法:

在为apps设置map属性后,再次设置riverBasins/counties的maps-property:

        fn.setQuery = function () {
            lyr.apps.query.where = ' BUS_UNIT_CODE IN (\'x\'' + buCodeList + ')';

            if (searchFilter && searchFilter !== '') {
                lyr.apps.query.where += ' AND ' + searchFilter;
            }

            lyr.apps.setMap(gmap);
            lyr.counties.setMap(lyr.counties.getMap());
            lyr.riverBasins.setMap(lyr.riverBasins.getMap());

        };

但也许这只是一种临时行为,我不认为这是一个预期的修改(至少它没有任何意义)。我想这更像是另一种修改的不良副作用,他们很快就会修复它。

答案 1 :(得分:0)

我们的地图现在运作正常。我们使用了底部描述的临时“修复”: https://code.google.com/p/gmaps-api-issues/issues/detail?id=6411