Как очистить всю карту после переключения раскадровок?

Вы можете сделать в следующем случае:

CREATE PROCEDURE spDoSearch
   @FirstName varchar(25) = null,
   @LastName varchar(25) = null,
   @Title varchar(25) = null
AS
  BEGIN
      SELECT ID, FirstName, LastName, Title
      FROM tblUsers
      WHERE
        (@FirstName IS NULL OR FirstName = @FirstName) AND
        (@LastNameName IS NULL OR LastName = @LastName) AND
        (@Title IS NULL OR Title = @Title)
END

однако зависят от данных, иногда лучше создавать динамический запрос и выполнять их.

0
задан Wez 29 March 2019 в 13:45
поделиться

2 ответа

это потому, что mapviewController все еще существует с аннотациями карты, просто удалите все аннотации, прежде чем переключать ниже необходимый код: -

for (int i =0; i < [mapView.annotations count]; i++) { 
    if ([[mapView.annotations objectAtIndex:i] isKindOfClass:[MyAnnotationClass class]]) {                      
         [mapView removeAnnotation:[mapView.annotations objectAtIndex:i]]; 
       } 
    }
0
ответ дан Manish_Nainwal 29 March 2019 в 13:45
поделиться

Только для удаления аннотаций при переходе ко второй раскадровке вы можете попробовать

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    self.mapView.removeAnnotations(mapView.annotations)
}
0
ответ дан AamirR 29 March 2019 в 13:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: