Je travaille sur un projet sur MapKit en utilisant Swift 3. Ce que le code ci-dessous fait est une fois que je charge l'application que la carte chargera par défaut . Ensuite, lorsque l'utilisateur appuie sur le bouton, il vous emmène à l'emplacement de l'utilisateur. La façon dont je veux résoudre ce problème est que je veux charger l'emplacement de l'utilisateur dès que l'application fonctionne, puis quand l'utilisateur décide de se déplacer sur l'écran, il/elle pourrait appuyer sur le bouton, puis recentrer le emplacement de l'utilisateur à nouveau. Comme ça fonctionne sur Maps.Obtenir l'emplacement de l'utilisateur lorsque l'application fonctionne et se recentrer après avoir bougé avec un bouton
import UIKit
import MapKit
import CoreLocation
class ViewController: UIViewController, CLLocationManagerDelegate {
// connecting the map from the mainBoard and refering to it as "myMap".....
@IBOutlet weak var myMap: MKMapView!
@IBAction func refLocation(_ sender: Any) {
manager.startUpdatingLocation()
}
let manager = CLLocationManager()
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locations.last {
let span: MKCoordinateSpan = MKCoordinateSpanMake(0.0075,0.0075)
let myLocation :CLLocationCoordinate2D = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude)
let region: MKCoordinateRegion = MKCoordinateRegionMake(myLocation, span)
myMap.setRegion(region, animated: true)
}
self.myMap.showsUserLocation = true
manager.stopUpdatingLocation()
}
override func viewDidLoad() {
super.viewDidLoad()
manager.delegate = self
manager.desiredAccuracy = kCLLocationAccuracyBest
manager.requestWhenInUseAuthorization()
}
}
i besoin de l'application pour charger la carte avec l'emplacement de l'utilisateur lorsque les pistes de l'application. Cependant, je veux donner à l'utilisateur la possibilité de se déplacer sur la carte quand il en a besoin. et une fois que l'utilisateur veut recentrer la carte, l'utilisateur utilisera le bouton pour recentrer l'emplacement de l'utilisateur. J'espère que ceci est clair. – asbhn
Voulez-vous afficher votre contrôleur de carte au lancement? Si oui, les étapes que je décris feront exactement ce que vous voulez. (L'application lance le contrôleur de vue qui contient votre carte.La méthode 'viewDidLoad()' du contrôleur de vue lance le gestionnaire de position et demande un emplacement.Lorsque l'emplacement est livré, le contrôleur de vue de carte centre la carte sur cet emplacement. De même, l'action du bouton demande un emplacement et recentre la carte sur cet emplacement lorsque la mise à jour arrive.) –