iOS Mapkit-как фильтровать аннотации (показывать/скрывать)?


Таким образом, у меня есть 4 различных типа аннотаций, которые показывают определенные булавки (т. е. цвета). Я хочу иметь сегментированный элемент управления, который позволяет пользователям показывать / скрывать эти аннотации по типу.

Есть ли простой способ скрыть определенные аннотации по команде? Или мне действительно нужно удалить, а затем перестроить аннотации только с теми, которые я хочу показать?

Это приложение потенциально может иметь сотни или тысячи контактов, каждый из которых будет 1 из 4 различных типов штифты.

Спасибо!

1 2

1 ответ:

Понял это.

В основном при создании аннотаций я храню их в разных массивах (для каждого типа).

//Store Annotation in Array
    [type1Array addObject:annotation];

Затем, когда моя кнопка нажата, чтобы отфильтровать их, я использую следующее:

    [_mapView removeAnnotations:type1Array];
    [_mapView addAnnotations:type2Array];

Это, кажется, работает нормально и не вызывает проблем с дублированием аннотаций. Я использовал NSLog для вывода _mapView.комментарии.подсчитайте, чтобы убедиться, что аннотации дублировались.

Надеюсь, это поможет другим!