Androidスタジオを使用してJavaでアプリをプログラミングしています。 osmdroidを使用してマップを表示しました。特別な場所にマーカーを表示するためにいくつかのオーバーレイを追加し、タイトルにマーカー&を追加しました。Osmdroid:クリック時のマーカーの表示と非表示
ここでは、setFocusItemsOnTapメソッドを使用して、クリック時にマーカーの説明&の説明を表示します。 私が問題になっているのは、もう一度クリックしたときにマーカーのタイトル(&)を隠すことができないということです。これを行う方法はありますか?
もしかしたら、setFocusItemsOnTabメソッドを使って、一度に1つのマーカーのタイトル&の説明だけを表示する方法がありますか?
public static List<OverlayItem> items = new ArrayList<OverlayItem>();
//[...]
items.add(new OverlayItem("uid1","Title", "Description", new GeoPoint(51.398,6.875)));
//[...]
List<OverlayItem> currentList;
currentList = new ArrayList<OverlayItem>();
currentList.add(items.get(i));
//[...]
final ItemizedOverlayWithFocus<OverlayItem> mOverlay = new ItemizedOverlayWithFocus<OverlayItem>(this, currentList, new ItemizedIconOverlay.OnItemGestureListener<OverlayItem>() {
@Override
public boolean onItemSingleTapUp(final int index, final OverlayItem item) {
//here it should decide if the title & description is already shown or not. (true => hide it, false => display it)
return true;
}
@Override
public boolean onItemLongPress(final int index, final OverlayItem item) {
return false;
}
});
mOverlay.setFocusItemsOnTap(true);
私は別のマーカーを追加したいと私はそれらのすべてを集中できるようにしたかったので、私は、コードのこれらの部分を使用する必要があります。また、私は実行時に動的リストにそれらを追加することができる必要があります。
ありがとうございました!
私はItemizedOverlayWithFocusの代わりにItemizedIconOverlayを使用し、osmbonuspackを使用して解決しました – Steve