How to get GPS coordinates and GPS speed using Objective-C or Swift?

Asked

Viewed 63 times

0

#import "GetLocationViewController.h"
#import "LocationDetailViewController.h"
#import "SetupViewController.h"
#import "CLLocation+Strings.h"


@interface RoutePoint : NSObject
{
NSString* number;
}
@property (nonatomic, copy) NSString *speed;
@end

1 answer

0

In Swift:

//peça autorização para o usuário para ter acesso a localização, no exemplo abaixo
//é criado um delegate para o mapa assim é possível mostrar a localização do 
//usuário no mapa e também monitorar a velocidade caso ele esteja se deslocando.

//crie uma variável do tipo CLLocationManager.      
lazy var locationManager = CLLocationManager()

extension MapViewController : CLLocationManagerDelegate {
//Pedindo autorização do usuário
func locationManager(_ manager: CLLocationManager, didChangeAuthorization 
  status: CLAuthorizationStatus) {
    switch status {
    case .authorizedAlways,.authorizedWhenInUse:
        mapView.showsUserLocation = true
        mapView.addSubview(btUserLocation)
        locationManager.startUpdatingLocation() //<- Quando usuário permitir usar localização , chamamos o método startUpdatingLocation ele vai atualizando a localização do usuário 
    default:
        break
    }
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

    monitorarVelocidade(location)
}


//esta função monitora a velocidade 
func monitorarVelocidade(didUpdateLocations locations: [CLLocation]){
    if let location = locations.last {    
    print("Velocidade:", location.speed)
            let region = MKCoordinateRegion(center:location.coordinate,latitudinalMeters: 500,longitudinalMeters: 500)
        mapView.setRegion(region, animated: true)
        }
    }   
}

Application with Pleto with all these features: https://github.com/wesleysfavarin/QueroConhecer

Browser other questions tagged

You are not signed in. Login or sign up in order to post.