Как я могу узнать, есть ли аннотация на карте? - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь добавить пин-код аннотации в Mapview тогда и только тогда, когда такого же пин-кода уже нет в картографическом виде, чтобы избежать повторных аннотаций в одном месте.

Кто-нибудь может показать мне помощь?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Подход, предложенный @Kosuke Ogawa, сработает.Однако не стоит полагаться на то, что пользовательский интерфейс определяет состояние приложения.

Например: у вас, скорее всего, есть список аннотаций, сохраненных в какой-то структуре данных в вашем контроллере представления (я предполагаю массив).Эта структура данных должна быть источником правды.

В вашем случае, чтобы определить, имеется ли аннотация на карте, проверьте, содержит ли структура данных, которая предоставляет вид карты, аннотацию и продолжайте.

0 голосов
/ 25 июня 2018

Вы можете использовать mapView.view(for:) метод.

, например

    if (self.mapView.view(for: annotation) != nil) {
        print("pin already on mapview")
    }
...