1
我使用2个不同的叠加层创建了一个MapView。 One Overlay显示地图上的POI,第二个显示点击/选项卡之一时的“气泡”。如何检查没有ItemizedOverlay是在MapView上录制的?
现在我想删除第二个覆盖图,当它是可见的,没有POI被挖掘! 我只需要知道如何检查我是否只点击地图或其中一个POI? (也可以点击泡泡)。
我使用2个不同的叠加层创建了一个MapView。 One Overlay显示地图上的POI,第二个显示点击/选项卡之一时的“气泡”。如何检查没有ItemizedOverlay是在MapView上录制的?
现在我想删除第二个覆盖图,当它是可见的,没有POI被挖掘! 我只需要知道如何检查我是否只点击地图或其中一个POI? (也可以点击泡泡)。
在你的代码,定义当你
public class MyItemizedOverlay extends ItemizedOverlay<MyObject>
可以覆盖
@Override
protected boolean onTap(final int index) {
// Called when you tap on an overlay
return true;
}
@Override
public boolean onTap(GeoPoint p, MapView mapView) {
// Called when you tap somewhere with no overlay
// So remove the second overlay here
}
,如果你在一个POI点按两种方法被称为!首先onTap(点,地图)和第二onTap(索引):)这是我有的大问题 – Informatic0re
是的,没错。但是,如果你在'protected boolean onTap(final int index)'中添加你的气泡'并且在'public boolean onTap(GeoPoint p,MapView mapView)中删除''应该没关系。因为它在同一个循环中,所以不会闪烁。这正是我在我的应用程序中所做的(当点击POI时有一些POI和一个泡泡,但我使用一个简单的视图而不是另一个覆盖。)。 – Zoleas
哈!好的...为什么你以前不告诉我这件事? :-D谢谢你,男孩! – Informatic0re