Como usar el GPS en vuestras aplicaciones

12 October 2008



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:

[cpp]
CLLocationManager* locationManager = [[CLLocationManager alloc] init];

locationManager.delegate = [[UIApplication sharedApplication] delegate];

locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;

locationManager.distanceFilter = 100;

[locationManager startUpdatingLocation];
[/cpp]

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:

[cpp]@interface ProjectAppDelegate : NSObject [/cpp]

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á:

[cpp]
- (void)locationManager:(CLLocationManager *)manager

didUpdateToLocation:(CLLocation *)newLocation

fromLocation:(CLLocation *)oldLocation

{

[manager stopUpdatingLocation];

mylat=newLocation.coordinate.latitude;

mylong=newLocation.coordinate.longitude;

}
[/cpp]

donde gracias al objeto newLocation, que nos llega como parámetro, nos indicará la longitud y latitud de nuestra posición actual.
Como usar el GPS en vuestras aplicaciones

Comentarios recientes

  • 16 September 2009
    Oriol dijo:

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

  • 20 February 2009
    David dijo:

    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.

  • 29 November 2008
    karonte dijo:

    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

  • 15 October 2008
    Antonio dijo:

    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é.

  • 15 October 2008
    victor dijo:

    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,

  • 13 October 2008
    pequenionoa dijo:

    Genial. No parece nada dificil. Saludos.

Deja un comentario

Escrito por:

Administrador

Sin categoría
iPhoneGPSCLLocationManagerCoreLocation

Utilizamos cookies propias y de terceros para mantener la sesión o sus preferencias, recopilar estadísticas y proporcionar contenidos conforme a sus intereses. Si continua navegando, utiliza los servicios de la web o pulsa el botón, está aceptando su instalación y el uso que hacemos de ellas. Puede obtener más información sobre como revocar su consentimiento o cómo cambiar la configuración en este enlace.