Мы кодируем в Swift, чтобы создать приложение с кнопками пользовательского интерфейса. Эти кнопки пользовательского интерфейса будут добавлять или удалять маркеры в зависимости от его статуса. Поскольку мы хотим, чтобы кнопки располагались поверх карт Google, у нас есть два контроллера вида. Контроллер вида сверху содержит кнопку. Когда кнопка нажата, мы хотим удалить маркеры, которые имеют «плохой» статус.
Это наш код для удаления маркера:
func showOnlyGood(){
mapView.clear() //this is the google map (GMSMapView.map)
for x in arrayOfGood { //Array of good markers
x.map = mapView //Set good markers to show
}
for y in arrayOfBad { //Array of bad markers
y.map = nil //removes markers from map
}
}
Карты Google обновляются, если вызов функции выполняется в viewDidLoad (), но когда мы вызываем функцию в контроллере вида сверху с помощью кнопок, она не обновляет карту соответствующим образом.
Мы думаем, что это проблема с обновлением представления карты Google, и перепробовали много разных решений, но представление карты Google показывает только то, что изначально было в viewDidLoad ().