2017-05-02 6 views
0

Derzeit Ortungsdienste Ich gründe, aber aus irgendeinem seltsamen Grund der Tracker-Symbol wird nicht angezeigt: missing tracker iconStandorte Tracker-Symbol zeigt sich nicht auf der Karte

Ich weiß, dass es funktioniert, weil, wenn ich einen Stift den Stift hinzufügen richtig erscheint: map with pin

ich bin nicht sicher, warum der tracker nicht nach oben zeigt, hier ist der Code:

@IBOutlet weak var map: MKMapView! 

    let locationsManager = CLLocationManager() 

    override func viewDidLoad() { 
    super.viewDidLoad() 

    locationsManager.delegate = self 
    locationsManager.desiredAccuracy = kCLLocationAccuracyBest // sets to best location accuracy 
    locationsManager.requestWhenInUseAuthorization()// requests user location when app is opened 
    locationsManager.startUpdatingLocation()// updates user location 


    } 

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 

    let userLocation: CLLocation = locations[0] 

    let latitude: CLLocationDegrees = userLocation.coordinate.latitude 
    let longitude: CLLocationDegrees = userLocation.coordinate.longitude 

    let latDelta: CLLocationDegrees = 0.05 
    let longDelta: CLLocationDegrees = 0.05 

    let span: MKCoordinateSpan = MKCoordinateSpanMake(latDelta, longDelta) 
    let location: CLLocationCoordinate2D = CLLocationCoordinate2DMake(latitude,longitude) 
    let region: MKCoordinateRegion = MKCoordinateRegionMake(location, span) 

    map.setRegion(region, animated: true) 

    let pin = MKPointAnnotation() 
    pin.coordinate.latitude = userLocation.coordinate.latitude 
    pin.coordinate.longitude = userLocation.coordinate.longitude 
    pin.title = "My current location" 
    map.addAnnotation(pin) 
    } 

Antwort

-2

Nevermind, es herausgefunden. In viewDidLoad():

map.showsUserLocation = true

1

MKMapView können Sie den Standort des Nutzers und Track Benutzerstandort anzuzeigen:

map.showsUserLocation = true 
map.userTrackingMode = .follow 

Es besteht keine Notwendigkeit Ihre eigene Standortverfolgung Delegatmethode zu implementieren.

+0

Dies ist schnell und einfach, aber was ist, wenn ich einen Pin zum Standort hinzufügen möchte? Vorher habe ich es in der LocationManager-Funktion gemacht. – SwiftyJD

+0

Es hängt davon ab, wie Sie den Pin hinzufügen möchten. Wenn Sie einfach einen Pin anstelle des blauen Kreises haben möchten, können Sie die 'MKMapViewDelegate' Methode' mapView (_: viewFor:) 'implementieren und eine Pinansicht für die Annotation des Benutzerorts zurückgeben. Wenn Sie eine Reihe von Pins wünschen, während sich der Benutzer bewegt, können Sie die Methode verwenden, die Sie ursprünglich hatten. – Paulw11

Verwandte Themen