【问题标题】:How to change the layering of KML and Tile Overlays in Google Maps?如何更改 Google Maps 中 KML 和 Tile Overlays 的分层?
【发布时间】:2012-05-25 04:40:09
【问题描述】:

我正在开展一个项目,我正在利用瓷砖叠加层(视觉) 来显示空间、建筑物名称、可访问性和停车位以及 KML 多边形的渲染 (功能) 允许用户单击各种建筑物或兴趣点以显示更多信息。我目前的问题在于这些不同元素的组织。

目前,KML 多边形出现在所有图块覆盖层之上,包括建筑物名称和停车场,我希望它们出现在 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 多边形必须是可见的,因此我已求助于寻找一种重新排序图层的方法。

【问题讨论】:

  • 既然您使用KML来处理鼠标点击,这不会导致很多点击丢失吗? Building Names、Accessibility 和 Parking 图层是否处理鼠标点击?
  • @SeanMickey KML 元素允许用户单击地图上的建筑物或兴趣点,并显示有关对象的更多信息。据我所知,其他三个图层没有,因为它们是简单的平铺叠加层,可为地图添加视觉信息。

标签: google-maps google-maps-api-3 overlay kml layer


【解决方案1】:

您无法轻松更改图层顺序,但您可以在 KML 中使用透明多边形来获得相同的效果。

【讨论】:

  • 感谢您的回答,但是,地图的排列方式使得 KML 并非总是不可见。我在问题中添加了更多信息,说明究竟是为什么,很抱歉没有从一开始就包含它。
【解决方案2】:

要实际更改图层顺序,您需要使用自定义图块叠加层并将其放置在适当的窗格中。这是我编写的免费使用的实现。它创建的大部分功能现在都存在于地图 API 中。

http://search.missouristate.edu/map/mobile/examples/tileoverlay.htm

您可能需要调整在哪个窗格中绘制叠加层。这是适用的源代码行:

this.getPanes().mapPane.appendChild(this.settings.div_);

【讨论】:

  • 所以,简而言之,我只需将我希望出现在 KML 多边形上的三个叠加层重新分配到高于多边形的窗格中,对吗?
  • 这就是一般的想法。但是,您可以使用的窗格数量有限,我必须尝试确定哪个窗格包含 KML 图层与平铺图层。如果它们都使用同一个窗格,您可能只需调整覆盖 div 上的 z-index:div_
  • (developers.google.com/maps/documentation/javascript/…) 从我在这里读到的内容来看,“overlayLayer”(窗格 1)似乎包含所有元素,因此 z-index 是适用的。此外,由于它上面的所有窗格似乎都用于标记和信息窗口,在这种情况下两者都被禁用,这也可能是可行的。无论哪种情况,我都有一个可以追求的方向。非常感谢您的洞察力。
猜你喜欢
  • 2013-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-05
  • 1970-01-01
  • 1970-01-01
  • 2013-06-28
  • 1970-01-01
相关资源
最近更新 更多