Quindi c'è il nuovo metodo requestLocation()
su iOS9. Sto cercando di usarlo per ottenere solo un aggiornamento della posizione, ma colpisce il didUpdateLocations
più volte.requestLocation() in iOS 9 chiama delegate didUpdateLocation più volte
Non è questo il caso di chiamarlo solo una volta? ho impostato distanceFilter
a 1000.0, quindi è abbastanza ampio per aiutare a tornare rapidamente. Qualche idea ?
anche se chiamo il stopUpdatingLocation()
all'interno del metodo delegato, ottengo ancora tre colpi del delegato.
Nota: stesso comportamento si verifica quando uso StartUpdatingLocation
Invece, voglio solo un singolo ritorno come voglio ottenere paese corrente dell'utente, in modo da alimentare la posizione per reversegeocoder
grazie in anticipo
Ecco il codice:
func getLocationOneTime(accuracy: Double){
print("Acquiring location one time - accuracy requested:\(accuracy)")
locationManager.distanceFilter = accuracy
locationManager.desiredAccuracy = accuracy
// Start gpsOneTimeTimeout timer
gpsTimeoutTimer = NSTimer.scheduledTimerWithTimeInterval(gpsOneTimeTimeout, target: self, selector: #selector(self.reportTimeout), userInfo: nil, repeats: false)
locationManager.requestLocation()
}
dove nel codice stai chiamando questo metodo? –
@Jess codice aggiornato sopra – jelipito
Sto vedendo lo stesso fenomeno. Lo considero un bug. Ha qualcosa a che fare con il caching (lo puoi vedere osservando i timestamp nelle posizioni che stai ricevendo). – matt