gpt4 book ai didi

javascript - Google map - 更改图 block 叠加层的 Pane 顺序?

转载 作者:行者123 更新时间:2023-11-28 09:49:59 24 4
gpt4 key购买 nike

我之前问题的延续:How to change the layering of KML and Tile Overlays in Google Maps?

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

map.overlayMapTypes.insertAt(0, beloitMapType);

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

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

前一种方法是我原来的做法;但是,由于我在卫星 View 上使用多边形,因此我需要一种方法将图标/名称叠加层放置在彩色多边形上方。为了实现这一目标,我寻求类似于后一种方法的方法,其中某些覆盖可以放置在 pane higher than the polygons 上。并因此出现在它们之上。

但是,在我上一个问题和现在之间的时间里,以及通过我自己的一些研究,我开始意识到后一种方法不是将图 block 放置到它们的位置,而是估计图 block 的位置平铺并将其放置为 image overlay 。结果,我的可访问性图层的一部分(在不可访问的路径中着色)未对齐一两个像素,或者我的建筑物名称叠加层当前在两个图 block 的边界上有名称,这些图 block 具有 a sharp line当这两个图 block 稍微重叠时穿过它们。此外,每次加载 map 时,这两个问题都会出现并消失,每个图 block 放置在 map 上,在任何方向上都有 1-2 像素的差异。

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

<小时/>

补充:我还需要尝试找到一种方法来使用overlayMapType方法实现 Pane 的重新分配:我用来实现此目的的脚本似乎不适用于IE7/8。我将亲自研究这个 Angular ,但如果可能的话,我仍然宁愿完全放弃脚本。

最佳答案

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

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

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

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

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

关于javascript - Google map - 更改图 block 叠加层的 Pane 顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11196005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com