将 KMZ 文件添加到我的 Google 地图时,有没有办法在多边形上方叠加图像?

When adding a KMZ file into my Google Map, is there a way to layer the image overlay above the polygons?

我的网站上有一个 google 地图页面,我想在其中加载一系列显示土地块的 KMZ 文件。我在 Google Earth 中生成 KMZ,它们由图像叠加层和一系列多边形组成。我首先加载 Image Overlay,它是由黑色线条和透明背景组成的 PNG - 这显示了地块的边界线。然后我在该图像上绘制多边形以对相关图进行分组。在从 Google Earth 导出 KMZ 之前,我确保图像显示在多边形上方的前景中。然而,在将 KMZ 导出并加载到我网页上的 Google 地图后,图像叠加层加载在后面,多边形层叠在顶部,模糊了图像中显示的边界线细节。

我在 Google Earth 中尝试了以下选项以将图像置于顶部,none 结果在我的地图中产生了正确的分层:

但是,这些尝试中的每一次仍然会导致 KMZ 在我的网页中显示不正确 - 图像叠加层显示在后面:

我还尝试将多边形放入一个 KMZ 中,将图像叠加层放入另一个 KMZ 中,将每个单独加载到我的地图中,并为带有图像的 KMZ 设置更高的 zIndex,并且图像叠加层仍位于多边形下方.

根据我添加 KMZ 文件的客户端代码(以防我在那里做错了什么),我为每个 KMZ 获取 URL 并将其传递到以下方法:

function addKMZFile(myMap, kmzUrl) {
    var kmzLayer = new google.maps.KmlLayer({
        url: kmzUrl,
        preserveViewport: true,
        map: myMap,
        clickable: true
    });
}

我已经上传了一个示例 KMZ 到我的文件服务器,它可以用于测试目的(KMZ 是用上面的方法添加到我的地图中的): http://bassmanjase.altervista.org/SO_Test.kmz

我在 Google Maps KML 文档中似乎看不到任何关于图像叠加或如何在 KML 中执行分层的具体提及。有没有一种方法可以配置 KML,以便在 Google 地图中显示时图像叠加层位于多边形之上?

由于似乎没有办法在 Google 地图中本地渲染多边形上方的叠加层,我采用的解决方法是降低多边形的不透明度,以便叠加层在他们下方可见。

这还带来了额外的好处,即底层地图图像在某种程度上是可见的(因为我的叠加层具有透明背景):

我已经用这种风格实现了:

#map > div > div > div > div > div:nth-child(2) img[draggable="false"] {
  opacity: 0.4;
}