Como usar el GPS en vuestras aplicaciones

Share

Imagino que muchos de vosotros ya conocéis el funcionamiento del GPS gracias al framework de CoreLocation, pero para otros muchos que se incorporan al mundillo del desarrollo de aplicaciones para iPhone, vamos a explicarlo.

En primer lugar, es necesario, q en nuestro proyecto incluyamos el framework CoreLocation que anteriormente hemos comentado, y para ello os recuerdo el artículo donde ya explicamos como hacerlo.

El funcionamiento de la detección del punto donde nos encontramos, gracias al GPS, se hace mediante la clase CLLocationManager:

C++:
  1. CLLocationManager* locationManager = [[CLLocationManager alloc] init];
  2.  
  3. locationManager.delegate = [[UIApplication sharedApplication] delegate];
  4.  
  5. locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
  6.  
  7. locationManager.distanceFilter = 100;
  8.  
  9. [locationManager startUpdatingLocation];

desiredAccuracy y distanceFilter definen el filtro de localización, así para localizar solamente el punto aproximado donde nos encontramos se recomienda el uso de kCLLocationAccuracyBest, que aunque no es tan exacto, consume mucha menos memoria y recursos.

Mediante el uso de delegate, indicamos que clase será la encargada de recibir las notificaciones una vez que el GPS detecte nuestra posición. En ese ejemplo, hemos delegado esa funcionalidad a nuestra clase delegate principal de nuestra aplicación. Por lo tanto, dicha clase deberá contener la definición de CLLocationManagerDelegate de la siguiente manera:

C++:
  1. @interface ProjectAppDelegate : NSObject <UIApplicationDelegate, CLLocationManagerDelegate>

Dicha definición nos permitirá que los eventos o notificaciones de nuestro objeto CLLocationManager, sean enviadas y gestionadas por nuestra clase.

Para finalizar, el método encargado de recibir esas notificaciones, el cual estará en nuestra clase delegate (pues a ella le indicamos que recibiría las notificaciones ) será:

C++:
  1. - (void)locationManager:(CLLocationManager *)manager
  2.  
  3. didUpdateToLocation:(CLLocation *)newLocation
  4.  
  5. fromLocation:(CLLocation *)oldLocation
  6.  
  7. {
  8.  
  9. [manager stopUpdatingLocation];
  10.  
  11. mylat=newLocation.coordinate.latitude;
  12.  
  13. mylong=newLocation.coordinate.longitude;
  14.  
  15. }

donde gracias al objeto newLocation, que nos llega como parámetro, nos indicará la longitud y latitud de nuestra posición actual.

banner ad

6 Responses to “Como usar el GPS en vuestras aplicaciones”

  1. pequenionoa says:

    Genial. No parece nada dificil.
    Saludos.

  2. victor says:

    Estupendo !!!
    Una cosa, la captura del articulo es una aplicación basada en google map realizada por ti?, podrías compartir el código?

    Gracias,

  3. Antonio says:

    Esa captura en concreto no es de una aplicación mía, pero estaré encantado de compartir con ustedes un ejemplo real. En breve lo prepararé y lo subiré.

  4. karonte says:

    Estoy muy interesado en saber como optener las coordenadas a partir del gps, ya que pretendo implementar un proyecto de la universidad y cro que sera llamativo hacerlo con un iPhone, es problema es que lo maximo que he hecho para el iPhone es un “Hello world” jeje Me seria de gran ayuda un codigo de ejemplo.
    Gracias

  5. David says:

    Muy buenas a todos, en primer lugar dar la enorabuena a todos por poder hacer factible esta web.

    Me pongo en contacto con vosotros por que tengo que instaurar el gps en mi aplicación, esta tiene que darme las cordenadas y poder mandarlas por el 3g y ya esta, lo que pasa es que estoy atrapado y necesito ayuda.

    Os dejo mi email davidmarher@gmail.com
    Un saludo.

  6. Oriol says:

    Muy bueno. Podrás subir el código del proyecto? Sería de gran ayuda.

Leave a Reply