2011-08-18 18 views
1

我使用2个不同的叠加层创建了一个MapView。 One Overlay显示地图上的POI,第二个显示点击/选项卡之一时的“气泡”。如何检查没有ItemizedOverlay是在MapView上录制的?

现在我想删除第二个覆盖图,当它是可见的,没有POI被挖掘! 我只需要知道如何检查我是否只点击地图或其中一个POI? (也可以点击泡泡)。

回答

3

在你的代码,定义当你

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 
    } 
+0

,如果你在一个POI点按两种方法被称为!首先onTap(点,地图)和第二onTap(索引):)这是我有的大问题 – Informatic0re

+2

是的,没错。但是,如果你在'protected boolean onTap(final int index)'中添加你的气泡'并且在'public boolean onTap(GeoPoint p,MapView mapView)中删除''应该没关系。因为它在同一个循环中,所以不会闪烁。这正是我在我的应用程序中所做的(当点击POI时有一些POI和一个泡泡,但我使用一个简单的视图而不是另一个覆盖。)。 – Zoleas

+0

哈!好的...为什么你以前不告诉我这件事? :-D谢谢你,男孩! – Informatic0re

相关问题