我上一个问题的延续:How to change the layering of KML and Tile Overlays in Google Maps?
我目前正在重写一些关于使用数组启用和禁用磁贴覆盖的按钮的代码。在这样做时,我试图将所有按钮的各个函数组合成一个函数,但由于我有两种渲染叠加的方法,我希望尝试只关注一种方法。第一个使用“overlayMapTypes”:
map.overlayMapTypes.insertAt(0, beloitMapType);
第二个,使用我在上一个问题中提供的脚本:
this.getPanes().overlayShadow.appendChild(this.settings.div_);
前一种方法是我原来的方法;但是,由于我在Satellite视图上使用多边形,我需要一种方法在彩色多边形上方放置图标/名称叠加。为了达到这个目的,我寻找类似于后一种方法的东西,其中某些叠加可以放在pane higher than the polygons上,从而出现在它们上面。
然而,在我之前的问题与现在之间以及通过我自己的一些研究之间的时间里,我逐渐意识到后一种方法,而不是将瓷砖放入他们的位置,估计了平铺并将其放置为image overlay。结果,我的辅助功能层的一部分在无法访问的路径中被一个或两个像素错位,或者我的建筑物名称叠加目前在两个瓦片的边框上有名称,其中a sharp line通过它们作为这两个瓷砖略有重叠。此外,每次加载地图时,这两个问题就会出现,每个图块都放在地图上,任意方向的方差都是1-2像素。
因此,我非常希望在所有叠加层上使用前一种方法和overlayMapTypes,后者更可靠,更准确,但我还需要一种方法来使这些叠加层高于“overlayLayer”窗格在多边形之上。这是可能的,如果是的话,怎么办呢?
添加:我还需要尝试找到一种方法来实现使用overlayMapType方法重新分配窗格:我用来实现此目的的脚本似乎不起作用IE7 / 8。我将自己调查这个角度,但如果可能的话,我仍然希望完全放弃脚本。
答案 0 :(得分:0)
好吧,我找到了一个可能的解决方案,为了分享它,请允许我解释一下:
多边形不一定需要显示才能有点击和悬停事件。
由于多边形用于在卫星视图中为建筑物和poi着色,因此可以通过叠加轻松完成这样的可视组件。
因此,一种可能的解决方案是让所有多边形都不可见,并简单地将它们用于点击和悬停事件。同样,第二个叠加或现有叠加的修改将替换多边形的原始可视组件。由于此可视组件现在是与其他所有内容一样的叠加层,因此可以使用“MapType”方法轻松地与任何其他叠加层分层。
(但是这不能回答这个问题;也就是说,平铺叠加层和多边形只能用MapType方法分层?我仍然想知道,但是如果没有答案,这个希望是一种可能的选择。)