私は現在、OsmDroid の Drawable から拡張されたクラスを使用しています。このクラスでは、インターネットから受け取った各車の幾何学的形状を描きます。車に触れたときにいくつかの情報を提供するために、各車にリスナーを追加したいと思います。OverlayItem を使用すると、次のことができます。
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());
カスタム マーカーの代わりにデフォルト マーカーが表示されるようにするには、タッチ イベントが発生します。
それで、私は何を間違っていますか?同じでなければなりませんか?