Delete marker google map android

Удалить маркер из GoogleMap

В новом API Карт Google для Android мы можем добавить маркер , но нет способа (легко) его удалить.

Мое решение состоит в том, чтобы сохранить маркеры на карте и перерисовать карту, когда я хочу удалить маркер, но он не очень эффективен.

Кто-нибудь имеет лучшую идею?

Подпись метода для addMarker :

Поэтому, когда вы добавляете маркер в GoogleMap , указав параметры маркера, вы должны сохранить возвращаемый объект Marker (вместо объекта MarkerOptions который вы использовали для его создания). Этот объект позволяет впоследствии изменить состояние маркера. Когда вы закончите с маркером, вы можете вызвать Marker.remove() чтобы удалить его с карты.

В стороне, если вы хотите временно скрыть его, вы можете переключить видимость маркера, вызывая Marker.setVisible(boolean) .

Очистить все каракули на карте

Добавьте маркер на карту следующим образом:

Тогда вы сможете использовать метод remove, он удалит только этот маркер

1. Если вы хотите удалить маркер, вы можете сделать это как marker.remove(); В качестве альтернативы вы также можете скрыть маркер, а не удалять его как

И сделать его видимым позже, когда это необходимо.
2. Однако если вы хотите удалить все маркеры с карты Используйте map.clear();
Примечание: map.clear(); Также удалит Polylines, Circles и т. Д.
3. Если вы не хотите удалять Polylines, Circles и т. Д., Чем использовать цикл для длины маркера (если у вас есть несколько маркеров), чтобы удалить их. Проверьте здесь пример или установите их. Visible false И не используйте map.clear(); в таком случае.

Если маркер существует, удалите последний маркер. Если маркер не существует, создайте текущий маркер

Сделать глобальную переменную для отслеживания маркера

// Удаление старого маркера

Читайте также:  Драйвер для андроид honor

// Добавить обновленный маркер и переместить камеру

Создайте массив со всеми маркерами для добавления в карту.

Источник

Оцените статью