当前位置: 首页 > 知识库问答 >
问题:

在我的谷歌地图中添加KMZ文件时,是否有方法将图像覆盖层置于多边形上方?

施昊然
2023-03-14

我的网站上有一个谷歌地图页面,我想在那里加载一系列显示地块的KMZ文件。我正在Google Earth中生成KMZ,它由一个图像覆盖和一系列多边形组成。我首先加载图像叠加,它是一个由黑线和透明背景组成的PNG,这显示了地块的边界线。然后,我在这幅图像上绘制多边形,将相关的图分组。在从Google Earth导出KMZ之前,我确保图像显示在前景中,多边形上方。然而,在将KMZ导出并加载到我的网页上的谷歌地图后,图像覆盖在后面,多边形在顶部分层,模糊了图像中显示的边界线细节。

我在Google Earth中尝试了以下选项以将图像置于顶部,但没有任何一个选项能够在我的地图中实现正确的分层:

  • 将高度设置为“绝对”并升高到

但是,这些尝试中的每一个仍然导致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

在谷歌地图KML文档中,我似乎看不到任何关于图像覆盖或KML中如何进行分层的具体提及。有没有办法配置KML,以便在谷歌地图中显示时,图像覆盖层位于多边形上方?

共有2个答案

欧阳智志
2023-03-14

我能够用这种风格来实现它:

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

由于在Google Maps中似乎没有一种方法可以本地渲染多边形上方的覆盖,因此我采用的解决方法是降低多边形的不透明度,以便覆盖在多边形下方可见。

这还提供了额外的好处,即底层地图图像有些可见(因为我的覆盖层具有透明背景):

 类似资料:
  • 我想实现喜欢用户可以从我们的应用程序在谷歌地图绘制一个区域。然后当他回来的时候,然后应该加载他/她以前画的数据。 我用了两种方法。一是,, > 使用javascript在googlemap中绘制多边形 https://developers.google.com/maps/documentation/javascript/drawinglayer 使用谷歌地图api数据层<代码>http://jsf

  • 我正在google maps android中开发一个监控地理围栏的应用程序,但是在Geofence Builder类中我们只能设置圆形区域,是不是他们的任何类我们都可以使用多边形来监控地理围栏,请帮助我谢谢和问候

  • 我正在创建一个。KMZ文件,可以导入到我的谷歌地图中,我想在一些地名的描述中使用图像。KMZ格式只是一个压缩文件夹,其中包含具有结构的KML文件,然后是图像文件。问题是,我不知道是否/如何将KML中的图像文件链接到Google来解析和使用它们。目前我的结构如下: 在main.kmz我链接到我的形象 但这不起作用,我的地图不处理图像,我得到的只是一个黑色矩形。奇怪的是,如果我将同一个文件导入到Goo

  • 我想用多边形类和一组lat/lng坐标在谷歌地图上画一个城区区域。 OpenStreetMap为我提供了所需的所有数据——如果我键入一些地区名称,我可以获得OSM XML格式的有用数据,例如拉脱维亚里加“Vecmilgravis”地区的OSM绘制多边形,以及OSM XML格式的数据。 问题是所有这些节点都是按某种奇怪的顺序排序的,因此如果我只提取所有和对,并为Google Maps多边形类创建一个

  • 我用谷歌地球创建了一个kml文件,它使用外部图像创建了一个覆盖层。它工作得很好,我想找到一种相当方便的转换kml的方法,这样谷歌地图就可以以类似的方式读取和显示它。 谷歌地图不能处理谷歌地球坐标,所以我试图自己转换它们。例如,我替换了地球坐标: 使用等效地图坐标: 不幸的是,两者并不完全“对等”。“地图覆盖”稍微关闭,旋转不正确。 以下是两张照片: 地球实例 地图示例 我明白为什么它不起作用,但我

  • 我正在使用geojson数据处理Google地图中的图层。 我现在有一个有四个不同多边形的图层,当你点击它们时,它们会从灰色变成绿色。但是当我再次点击时,它不会变回灰色,这就是点击功能的目的。 在我的情况下,它适用于我的编辑器,https://embed.plnkr.co/hi4MtjO8f0PN6rCW70rE/。这是完整的代码段。 我修好了!!我更改了几行的位置,并将其设置为false或tru