mkmapview ShowSerLocation
-
28-10-2019 - |
Domanda
Hey ho una domanda qui. Sto cercando di farlo.
if (Map.showsUserLocation == YES)
{
Map.showsUserLocation = NO;
}
Questo è piuttosto semplice. Quando l'app è appena iniziata showsUserLocation
è impostato su Sì, ma il dispositivo ci vuole tempo per trovare la posizione. Quindi, se l'utente fa clic showsUserLocation = NO
Prima che sia stata trovata la posizione (prima che appaia il punto blu). Exc_bad_access.
In Google Map, ha il codice di protezione, prima che la mappa di Google fatta apparire il punto blu, ti disabiliterà dalla pressione del showsUserLocation
Pulsante visualizzando ActivityIndicator. Hai idea di come farlo? Grazie in anticipo.
Soluzione
MKMapViewDelegate
ha un metodo:
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
È possibile abilitare il pulsante qui, fino a quando non lo mantengono disabilitato.
Altri suggerimenti
Puoi fare abbastanza comodamente. Disabilita il pulsante "CurrentLocation" fino a quando MapView Ottieni la posizione corrente dell'utente, quindi il pulsante "CurrentLocation" quando ottieni la posizione corrente dell'utente. Puoi farlo disabilitando il pulsante "CurrentLocation" in ViewDidload/ViewDidaPappear e abilita il pulsante "CurrentLocation" in -(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:
metodo dopo [mapView.userLocation setTitle:@"I am here"];
. Questo funzionerà per te.