2017-07-19 4 views
0

J'ai un problème que je n'arrive pas à trouver la réponse n'importe où, j'ai une variable globale CLLocationManager(), dans le viewController, pour que je puisse voir lorsque l'utilisateur entre ou quitte un emplacement avec le gestionnaire de rappel de location, et il fonctionne parfaitement avec un seul emplacement à la fois, mais je veux que l'application surveille 2 emplacements ou plus en même temps. J'ai créé une fonction pour démarrer:Un CLLocationManager peut gérer 2 ou plusieurs emplacements en même temps dans swift 3

var coreLocationManger = CLLocationManager() 

    func setMonitoredRegion(location:CLLocation) { 

    let startLocation = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude) 
    let monitoredRegion = CLCircularRegion(center: startLocation, radius: 100, identifier: "Local Region") 

     coreLocationManger.startMonitoring(for: monitoredRegion) 
     coreLocationManger.allowsBackgroundLocationUpdates = true 

     coreLocationManger.delegate = self 
     monitoredRegion.notifyOnEntry = true 
     monitoredRegion.notifyOnExit = true 

} 

cette Func, demande un emplacement à gérer, et quand j'utilise ce plusieurs fois à divers endroits, il gère seulement le dernier endroit qui a été donné! Avez-vous des conseils à ce sujet? Merci

Répondre

0

Vous continuez d'écraser la région chaque fois que vous appelez la fonction. Assurez-vous que l'identificateur de région est différent pour chaque emplacement.

+0

Cela aurait du sens, je vais essayer et être de retour avec quelques commentaires Merci! :) – mastercoder

+0

It Worked Merci beaucoup :) – mastercoder

+0

Je suis heureux que cela a aidé. Pourriez-vous marquer la réponse comme la bonne? –