2015-02-17 68 views
1

我在我的网站上有一个谷歌地图页面,我想加载一系列显示土地块的KMZ文件。我正在Google Earth中生成由图像叠加层和一系列多边形组成的KMZ。我首先加载图像覆盖图,它是由黑色线条和透明背景组成的PNG图像 - 它显示了土地的边界线。然后,我在这张图上绘制多边形来组合相关的图。在从Google地球导出KMZ之前,我确保图像显示在多边形上方的前景中。但是,在将KMZ导出并加载到我的网页上的Google地图后,图像覆盖图的背面将加载多边形,并遮住图像中显示的边界线细节。在我的Google地图中添加KMZ文件时,有没有办法将多边形上方的图像叠加层?

我曾尝试在谷歌地球以下选项,以使图像的顶部,其中没有导致我的地图正确的分层:

  • 设置高度为“绝对”,提高到> 50米(将其显示在Google地球的多边形上方)。
  • 将绘制顺序增加到高于多边形的值。
  • 在文档树中,重新排列多边形列表中的图像(定位在多边形上方,然后位于多边形下方)。
  • 在文档树中,将图像放置在树中的自己的文件夹中(位于多边形文件夹的上方和下方)。

然而,这些尝试中的每一个仍然会导致在我的网页显示错误的KMZ - 图像重叠在后面显示:

Google Earth vs Google Maps rendering

我也试图把将多边形合并到一个KMZ中,并将图像叠加到另一个中,然后将每个单独加载到我的地图中,并使用较高的zIndex为图像添加KMZ,并且图像叠加层仍然分层在多边形下方。

在我的客户端代码添加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地图KML有关图片叠加的文档或KML中的分层是如何执行的。有没有办法配置KML,以便在Google地图中显示时,图像叠加层位于多边形上方?

+0

可能重复的问题:[加载KML标记上述多边形](HTTP: //堆栈溢出。com/questions/27896861/loading-kml-markers-above-polygon /) – geocodezip 2015-02-18 00:20:48

+0

您是否有覆盖它的图片覆盖或KML/KMZ的样本? – geocodezip 2015-02-18 00:25:53

+0

我假设你的意思是当我试图叠加两层分开?这些在http://bassmanjase.altervista.org/Image.kmz和http://bassmanjase.altervista.org/Polygons.kmz。 – Bassmanjase 2015-02-18 00:56:08

回答

0

由于似乎没有办法在Google地图中本地呈现多边形上方的叠加层,因此我已经使用的解决方法是减少多边形的不透明度,以便叠加层在其下方可见。

这也给出了额外的益处,所述基础地图图像稍微可见(因为我的覆盖具有透明背景):

Semi-opaque polygons with image overlay below

相关问题