Google maps 将KMZ文件添加到我的谷歌地图时,是否有方法将图像覆盖层置于多边形上方?
我在我的网站上有一个谷歌地图页面,我想在那里加载一系列KMZ文件,显示一块块土地。我在Google Earth中生成KMZ,它由一个图像覆盖和一系列多边形组成。我首先加载图像叠加,这是一个由黑线和透明背景组成的PNG,它显示了地块的边界线。然后,我在这张图片上画多边形,将相关的绘图分组。在从Google Earth导出KMZ之前,我确保图像显示在前景中,多边形上方。但是,在导出KMZ并将其加载到我的网页上的Google地图后,图像覆盖在后面,多边形分层在顶部,模糊了图像中显示的边界线细节 我在Google Earth中尝试了以下选项以将图像置于顶部,但没有一个选项能够在我的地图中实现正确的分层:Google maps 将KMZ文件添加到我的谷歌地图时,是否有方法将图像覆盖层置于多边形上方?,google-maps,google-maps-api-3,google-earth,kmz,Google Maps,Google Maps Api 3,Google Earth,Kmz,我在我的网站上有一个谷歌地图页面,我想在那里加载一系列KMZ文件,显示一块块土地。我在Google Earth中生成KMZ,它由一个图像覆盖和一系列多边形组成。我首先加载图像叠加,这是一个由黑线和透明背景组成的PNG,它显示了地块的边界线。然后,我在这张图片上画多边形,将相关的绘图分组。在从Google Earth导出KMZ之前,我确保图像显示在前景中,多边形上方。但是,在导出KMZ并将其加载到我的网页上的Google地图后,图像覆盖在后面,多边形分层在顶部,模糊了图像中显示的边界线细节 我在G
- 将高度设置为“绝对”并升高到>50m(在Google Earth的多边形上方显示)
- 将“绘制顺序”增加到高于多边形的值
- 在文档树中,在多边形列表中对图像重新排序(定位在多边形上方,然后定位在多边形下方)
- 在文档树中,将图像放置在树中自己的文件夹中(位于多边形文件夹的上方和下方)
function addKMZFile(myMap, kmzUrl) {
var kmzLayer = new google.maps.KmlLayer({
url: kmzUrl,
preserveViewport: true,
map: myMap,
clickable: true
});
}
我已将一个示例KMZ上载到我的文件服务器,可用于测试目的(KMZ使用上述方法添加到我的地图中):
在谷歌地图KML文档中,我似乎看不到任何关于图像覆盖或KML中如何进行分层的具体提及。有没有办法配置KML,以便在Google Maps中显示时,图像覆盖层位于多边形上方?因为在Google Maps中似乎没有办法以本机方式渲染多边形上方的覆盖层,我采用的解决方法是减少多边形的不透明度,以便覆盖层在多边形下方可见 这还提供了额外的好处,即基础地图图像在某种程度上是可见的(因为我的覆盖有一个透明的背景):
我用这种风格实现了这一目标:
#map > div > div > div > div > div:nth-child(2) img[draggable="false"] {
opacity: 0.4;
}
可能重复的问题:您是否有在尝试覆盖时使用的图像覆盖或KML/KMZ的样本?我猜您的意思是当我尝试分别覆盖两层时?这些是在和。可能对你没有用处,但我可以复制这个问题。不确定为什么我们似乎无法控制排序,即使是在使用第三方解析器时,但这可能与地面覆盖层的渲染细节有关。我认为您可以使用第三方KML解析器的定制版本。在最终的应用程序中,这是否会表现得足够好将取决于最终KML的复杂程度。