私は長い間検索し、これに関連するすべてを試しましたが、成功しませんでした. 関連する回答は大歓迎です。
BalloonItemizedOverlay で次のコードを使用しました
protected void hideBalloon()
{
if (balloonView != null)
{
balloonView.setVisibility(View.GONE);
}
}
private void hideOtherBalloons(List<Overlay> overlays)
{
for (Overlay overlay : overlays)
{
if (overlay instanceof BalloonItemizedOverlay<?> && overlay != this)
{
((BalloonItemizedOverlay<?>) overlay).hideBalloon();
}
}
}
そして、マップビューを設定するたびに、私は呼び出します
mapView.getOverlays().clear();
mapView.invalidate();
しかし、初めてマーカーピンをタップすると、バルーンビューが正しく取得されます。リストに戻って、異なるマーカー値で同じマップビューに戻ると、バルーンビューが開き、マーカーピンをもう一度タップすると、正しい値が取得されますが、古いバルーンビューに重なっています。
新しいオーバーレイを mapView に設定する前に、すべての balloonView を非表示にする方法。同じ Activity 内のさまざまな場所からの異なる値に対して、同じ mapView を再利用したい。