2016-05-19 4 views
0

mit Überwachung ich versuche, eine CLCircularRegion in didUpdateLocations Methode, um den Codenicht in der Lage Region zu setzen für CLCircular Region in schnellen

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 
    NSLog("Location Updated from did Update Locations") 
    let persist = Persistence() 
    let currentLocation : CLLocation = locations[0] 
    let latitude : Double = currentLocation.coordinate.latitude 
    let Longitude : Double = currentLocation.coordinate.longitude 
    let regionID = "GeoFenceTrack" 
    let region : CLCircularRegion = CLCircularRegion.init(center: CLLocationCoordinate2DMake(latitude, Longitude), radius: Double(persist.getObject(mdmiosagent_Constants.LOCATIONRADIUS))!, identifier: regionID) 

    NSLog("the center of the region is \(region.center) and the redius of the region is \(region.radius)") 
    self.sendLocation(currentLocation) 
    locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters 
    locationManager.delegate = self 
    locationManager.startMonitoringForRegion(region) 
} 

Fehler auf der Linie

locationManager.startMonitoringForRegion(region) 

und der Fehler auftritt, Vorkommen ist

********* iPad *******[4018] <Warning>: Failed for region Error Domain=kCLErrorDomain Code=5 "(null)" 

die Koordinaten und der Radius ist korrekt auf die Region festgelegt. Ich überwache nicht mehr als 20 Regionen. Ich überwache nur eine Region. Kann mir jemand vorschlagen, wo ich falsch liege? Vielen Dank im Voraus .

Antwort

0

Es funktioniert. Möglicherweise haben Sie einen falschen Radius festgelegt.

Dieser Codeausschnitt ist für mich arbeiten:

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) 
{ 
    NSLog("Location Updated from did Update Locations") 
    let currentLocation : CLLocation = locations[0] 
    let latitude : Double = currentLocation.coordinate.latitude 
    let Longitude : Double = currentLocation.coordinate.longitude 
    let regionID = "GeoFenceTrack" 
    let region : CLCircularRegion = CLCircularRegion.init(center: CLLocationCoordinate2DMake(latitude, Longitude), radius: Double(1000), identifier: regionID) 

    NSLog("the center of the region is \(region.center) and the redius of the region is \(region.radius)") 
    //self.sendLocation(currentLocation) 
    locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters 
    locationManager.delegate = self 
    locationManager.startMonitoringForRegion(region) 
} 
+0

der Radius i gesetzt haben 10 .. –

+0

sollte ich einen minimalen Radius, und wenn ja, mir freundlicherweise den Radius wissen lassen –

+0

I mit 100 versucht, sowie –

Verwandte Themen