我正在开发一个项目,我正在使用图块叠加(可视)来显示空间,建筑物名称,辅助功能和停车位以及KML多边形的渲染 (功能)允许用户点击各种建筑物或兴趣点以显示更多信息。我目前的问题在于组织这些不同的元素。
目前,KML多边形出现在所有瓷砖覆盖层之上,包括建筑物名称和停车位,我更喜欢它们位于KML多边形之上,因为它们会被多边形部分遮挡。简而言之,这是当前的分层:
理想情况下,我希望KML多边形出现在这些图块叠加层中,即在空间渲染的正上方。因此,我希望获得这种分层:
是否有重新排列KML瓦片覆盖层以实现此目的?
平铺叠加层:
map.overlayMapTypes.insertAt(0, renderMapType);
map.overlayMapTypes.insertAt(1, parkingMapType);
map.overlayMapTypes.insertAt(2, accessMapType);
map.overlayMapTypes.insertAt(3, nameMapType);
修改
请允许我更清楚地解释一下地图。
当Google地图位于“地图”中时,会显示渲染,并且大多数KML多边形都是不可见的,渲染上未显示的那些多边形仍然可见,以便用户仍然知道它们的存在。当Google地图位于“卫星”时,不会显示渲染,并且所有KML多边形都是可见的,并将其各自的元素叠加在卫星图像上,使用户更容易看到。
在任何一种情况下,都可以使用辅助功能,停放和名称叠加,因为总是至少有一些必须可见的KML多边形,我已经采取了一种方法来重新排序图层。
答案 0 :(得分:1)
您不能轻易更改图层排序,但可以在KML中使用透明多边形来获得相同的效果。
答案 1 :(得分:1)
要实际更改图层排序,您需要使用自定义图块叠加层并将其放置在适当的窗格中。这是我编写的可以免费使用的实现。它现在创建的大部分功能都存在于地图API中。
http://search.missouristate.edu/map/mobile/examples/tileoverlay.htm
您可能需要调整在哪个窗格中绘制叠加层。以下是适用的来源:
this.getPanes().mapPane.appendChild(this.settings.div_);