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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top