2017-10-02 4 views
0

Ich kann nicht scheinen, den Breiten- und Längengrad auf den Etiketten zu sehen. Ich habe viele Dinge ausprobiert, obwohl ich vermute, dass es etwas Einfaches sein könnte.Breite und Länge auf einem UILabel programmgesteuert setzen

import Foundation 
import UIKit 
import CoreLocation 
import MapKit 

class LocationVC: UIViewController, CLLocationManagerDelegate { 
    var location: CLLocation! { 
     didSet{ 
      longLabel.text = ("\(location.coordinate.latitude)") 

      latLabel.text = ("\(location.coordinate.longitude)") 
     } 
    } 

    func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) 
    { 
     let location = locations[0] 

     let span:MKCoordinateSpan = MKCoordinateSpanMake(0.5, 0.5) 
     let myLocation:CLLocationCoordinate2D = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude) 

     let region:MKCoordinateRegion = MKCoordinateRegionMake(myLocation, span) 
     map.setRegion(region, animated: true) 

     print("hhhhh\(location.coordinate.latitude)") 

     print(location.altitude) 
     print(location.speed) 

     self.map.showsUserLocation = true 
    } 

Alle Ansichten sind korrekt eingerichtet.

Antwort

3

Sie haben den Wert der location Variable Ihrer Klasse, die die Textänderung des Etiketts auslösen würde, nicht geändert. Fügen Sie diese zu didUpdateLocations:

self.location = location 
0

verwenden

longLabel.text = location.coordinate.latitude.description 
latLabel.text = location.coordinate.longitude.description 
+2

nicht Beschreibung anwenden. benutze nummer formatter oder String (format :) initialisierer –

+0

habe ich self.location = location mit didUpdateLocations und dem put in latLabel.text = location.coordinate.latitude.description versucht, aber es ändert sich nichts? – bennypalmer661

+0

Entschuldigung, das funktioniert. – bennypalmer661

Verwandte Themen