Questo codice si basa su sequenze di chiamate delegate molto specifiche.
Il count++
implica che presuppone il didAddAnnotationViews
Il metodo delegato verrà chiamato immediatamente e separatamente dopo l'aggiunta di ogni annotazione.
Questa è un presupposto non sicuro indipendentemente dalla versione iOS.
Dal momento che questo codice di zoom non si basa sull'annotazione visualizzazioni per fare lo zoom (ha solo bisogno dell'annotazione Modelli -- cioè. il id<MKAnnotation>
oggetti), non deve essere dentro didAddAnnotationViews
innanzitutto.
Basta mettere il codice di zoom (la parte all'interno del if
blocco), subito dopo il codice che aggiunge le annotazioni (presumibilmente dopo un for
Loop che passa attraverso arrayResults
). Questo dovrebbe funzionare in qualsiasi versione iOS.
Nota anche che in iOS 7, il nuovo ShowAnnotations: Animated: Il metodo rende non necessario questa mappa manuale. In iOS 7, puoi solo fare:
[mapView showAnnotations:mapView.annotations animated:YES];