【问题标题】:Android - How to display another overlay in onTap action of another overlayAndroid - 如何在另一个叠加层的 onTap 动作中显示另一个叠加层
【发布时间】:2012-05-01 13:22:35
【问题描述】:
我正在使用 MapView 将一些多边形(区域)显示为画布上的叠加层。我扩展了 Overlay 类,现在想实现 onTap 方法。用户点击这些区域之一后,应显示另一个叠加层。我想将此叠加层的布局定义为普通的 XML 布局,而不仅仅是膨胀并显示。
我已经看过一个名为 android-mapviewballoons 的示例,但它使用逐项叠加层,该叠加层采用可绘制资源并将其显示在地图视图上。这个drawable可以被录音。就我而言,我希望我的区域(多边形)成为可点击的资源。谁能帮帮我?
【问题讨论】:
标签:
java
android
overlay
android-mapview
itemizedoverlay
【解决方案1】:
第 1 步:在您的 Overlay 中实施 onTap() 并确认您在需要时获得控制权。
第 2 步:调整现有布局,使 MapView 位于支持 Z 轴排序的容器中,例如 RelativeLayout
第 3 步:在 onTap() 中,将另一个子元素添加到容器中(并最终在适当的时候删除该子元素)
Here is a sample app 来自我的一本书,用ItemizedOverlay 演示了这一点,但使用常规Overlay 的技术应该没有显着差异。