我正在使用從OsmDroid的Drawable延伸的類。 而在這堂課上,我爲從互聯網接收到的每輛車繪製了幾何形狀。 我想在每輛車上增加一名聽衆,以便在我們觸摸車輛時提供一些信息。 隨着OverlayItem我們可以這樣做:Android上的OsmDroid的ItemizedOverlay和自定義標記,沒有更多的觸摸事件
ArrayList<OverlayItem> items = new ArrayList<OverlayItem>();
carOverlay.draw(new Canvas());
overlayItem = new OverlayItem("test", ""+i, geoPoint);
overlayItem.setMarker(carOverlay.getCurrent());
items.add(overlayItem);
ItemizedOverlay<OverlayItem> overlay = new ItemizedOverlayWithFocus<OverlayItem>(this.getApplicationContext(), items,
new ItemizedIconOverlay.OnItemGestureListener<OverlayItem>() {
@Override
public boolean onItemSingleTapUp(final int index, final OverlayItem item) {
Log.i("Touch","you just tap the car");
return true;
}
@Override
public boolean onItemLongPress(final int index, final OverlayItem item) {
return false;
}
});
有了這一段代碼,我可以看到我剛剛繪製的圖像,但任何情況下,當我碰了一輛車,如果我刪除行:
overlayItem.setMarker(carOverlay.getCurrent());
要讓默認標記被顯示而不是我的自定義標記,則會發生觸摸事件。
那麼我做錯了什麼?必須是一樣的否?