Может быть, уже слишком поздно, но я думаю, что столкнулся с той же проблемой сегодня.
При удалении элементов с помощью mapView.getOverlays().clear()
все элементы удаляются.
Но если вы посмотрите на метод createAndDisplayBalloonOverlay в BalloonItemizedOverlay.java
, вы увидите строку mapView.addView(balloonView, params);
, поэтому mapView
сохранит ссылку на воздушный шар как дочерний. Вот почему твоя булавка исчезла, но шар1 все еще показывает.
Быстрое решение состоит в том, чтобы удалить все экземпляры BalloonOverlayView
с методом mapView.removeViewAt()
после удаленных элементов. Также зависит от вашей реализации, может быть, вам нужно будет сохранить текущий отображаемый всплывающий значок.