В настоящее время у меня есть Android Mapview, который отображает очень базовый подкласс OverlayItem с некоторыми пользовательскими свойствами:
public class StreetLocation extends OverlayItem{
public int id;
public float latitude, longitude;
public float distance;
boolean isHouse = false;
boolean hasSnacks = false;
... and so on, with a bunch of getters/setters
}
Они извлекаются из базы данных путем создания области диапазона координат (на основепросмотр пользователем карты) без проблем.
Теперь я добавил несколько простых Button
в мой интерфейс, которые я хочу использовать для переключения отображения маркеров с помощью isHouse
и /или hasSnacks
.В настоящее время я могу думать только о том, чтобы сделать это, полностью очистив MapView от всех маркеров, а затем добавив в MapView только те, которые мне нужны, путем фильтрации массива StreetLocation
Iвернитесь из моей базы данных для просмотра пользователями.
Моя проблема с этим заключается в том, что это кажется большой работой - есть ли другой способ просто скрыть или переключить визуальное представление маркера без очистки всегокарта, так как все маркеры извлекаются изначально независимо от свойств?
Приношу свои извинения, если это было немного долго, и я буду рад объяснить больше / почтовый индекс, если потребуется.