2017-10-02 12 views
0

Je n'arrive pas à trouver la latitude et la longitude sur les étiquettes. J'ai essayé beaucoup de choses mais je devine que ce pourrait être quelque chose de simple.Mettre la latitude et la longitude sur un UILabel par programmation

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 
    } 

Toutes les vues sont configurées correctement.

Répondre

3

Vous n'avez pas modifié la valeur de la variable location de votre classe, ce qui déclencherait le changement de texte de l'étiquette. Annexer à ce didUpdateLocations:

self.location = location 
0

Utilisez cette

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

Ne pas utiliser la description. use number formateur ou String (format :) initialiseur –

+0

J'ai essayé self.location = emplacement avec didUpdateLocations et le mettre dans latLabel.text = location.coordinate.latitude.description, mais ça ne change toujours rien? – bennypalmer661

+0

désolé que cela fonctionne. – bennypalmer661