Google Map iOS SDK - очистить все маркеры внутри и без видимой области - PullRequest
0 голосов
/ 08 мая 2018

Таким образом, метод mapView.clear() удаляет маркеры с карты только в пределах видимой области, где я в данный момент бездействую.

Я все еще могу видеть другие маркеры на карте, уменьшая масштаб или перемещаясь по карте. Эти маркеры не могут быть удалены, потому что они были невидимы, когда я вызывал clear().

Мое текущее решение - перебрать все маркеры, хранящиеся в массиве, и вызвать marker.mapView = nil, чтобы убедиться, что каждый из них удален с карты.

Есть ли другой способ сделать это более эффективно?

1 Ответ

0 голосов
/ 08 мая 2018

Каждый раз, когда вы добавляете маркер в GMSMapView, вы можете хранить его в массиве, а после этого, когда вы хотите удалить все из них, вам нужно только циклически перемещаться по ним, делая .map = nil

    for marker in self.markers {
        marker.map = nil
    }
    self.markers.removeAll()

Это то, что вы можете прочитать из GoogleDocumentation об этом https://developers.google.com/maps/documentation/ios-sdk/marker#eliminar_un_marcador

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...