1

我之前的问题的延续:如何在 Google 地图中更改 KML 和 Tile Overlays 的分层?

我目前正在重写一些关于使用数组启用和禁用平铺覆盖的按钮的代码。在这样做时,我试图将按钮的所有单独功能组合成一个功能,但由于我有两种渲染叠加层的方法,我希望尝试只关注一种方法。第一个使用“ overlayMapTypes ”:

map.overlayMapTypes.insertAt(0, beloitMapType);

第二,使用我上一个问题中提供的脚本:

this.getPanes().overlayShadow.appendChild(this.settings.div_);

前一种方法是我原来的方法;然而,由于我在卫星视图上使用多边形,我需要一种将图标/名称覆盖层放置在彩色多边形上方的方法。为了实现这一点,我寻求类似于后一种方法的方法,其中某些叠加层可以放置在比多边形更高的窗格上,从而出现在它们上方。

然而,在我之前的问题和现在之间的时间里,以及通过我自己的一些研究,我已经意识到后一种方法,而不是把瓷砖放在他们的位置,估计瓷砖的位置和地点它作为图像叠加。结果,无法访问路径中颜色的可访问性图层的一部分错位了一个或两个像素,或者我的建筑物名称叠加层当前在两个图块的边界上有名称,当这两个图块重叠时,它们之间有一条锐线穿过它们轻微地。此外,每次加载地图时,这两个问题都会来来去去,每个瓦片放置在地图上,在任何方向上都有 1-2 像素的差异。

因此,我非常喜欢在所有叠加层上使用前一种方法和overlayMapTypes,这种方法更可靠和准确,但我还需要一种方法使其中一些叠加层高于“overlayLayer”窗格并高于多边形。这可能吗?如果可以,怎么做?


另外:我还需要尝试找到一种方法来使用 overlayMapType 方法实现窗格的重新分配:我用来实现此目的的脚本在 IE7/8 中似乎不起作用。我将自己研究这个角度,但如果可能的话,我仍然希望完全放弃脚本。

4

1 回答 1

0

好吧,我已经找到了一个可能的解决方案,为了分享它,请允许我解释一下:

  • 多边形不一定需要可见才能仍然具有单击和悬停事件。

  • 由于多边形用于在卫星视图中为建筑物和 poi 着色,因此可以通过叠加轻松地完成这样的视觉组件。

因此,一种可能的解决方案是让所有多边形不可见,并简单地将它们用于单击和悬停事件。同样,第二个叠加层或对现有叠加层的修改将替换多边形的原始视觉组件。由于这个视觉组件现在像其他所有东西一样是一个叠加层,因此可以使用“MapType”方法轻松地将它与任何其他叠加层分层。

(但这并不能回答问题;也就是说,是否只能使用 MapType 方法对平铺叠加层和多边形进行分层?我仍然想知道这一点,但如果没有答案,希望这是一个可能的替代方案。 )

于 2012-06-29T15:48:15.583 回答