我在我的應用程序中實施了Google地圖。我寫了自己的覆蓋類,擴展了ItemizedOverlay以添加覆蓋。使用相同的疊加層類別,我還添加了疊加層以在地圖上顯示我的當前位置。找到我的地圖上的哪個疊加層已被點擊
此覆蓋類的onTouchEvent用於確定觸摸的位置,並可將覆蓋對象移動到地圖上的任何位置。但是,這造成了一些問題。指向我當前位置的指針也變爲可移動的。我想修復這個當前位置指針。
爲此,我創建了一個新類MyNewLocationOverLay,它擴展了我以前創建的自定義疊加層。我的計劃是重寫onTouchEvent方法,並在返回super.onTouchEvent時觸及其他覆蓋層,並在觸摸mylocation覆蓋層時返回true。我如何找出被點擊的疊加層。我想:
public class myOverlayclass extends OverLayClass {
public myOverlayclass(Drawable marker) {
super(marker);
// TODO Auto-generated constructor stub
}
public boolean onTouchEvent(MotionEvent motionEvent, MapView mapView) {
System.out.println("The overlays are*************"+mapView.getOverlays()); //this lists the overlays
return super.onTouchEvent(motionEvent, mapView);
}
}
我需要比較這對發現其覆蓋被感動了。我如何比較疊加。
if (mapView.getOverlays().contains(mYLocationOverLay))
似乎不起作用。