Mapas de iOS Ubicación GPS que implementa la location de la bola azul y el signo de flecha en el map

1.) Necesito tener un círculo de bola azul / punto de location en un map como se muestra a continuación.

  • Como se llama
  • ¿Cómo puedo implementarlo?

introduzca la descripción de la imagen aquí

2.) ¿Cómo obtengo la flecha en la pantalla emergente como a continuación?
introduzca la descripción de la imagen aquí

Creo que lo que buscas es el MKMapView; si es así, solo tiene que agregarlo en el generador de interfaces y hay una opción (checkbox) en el panel Inspector de attributes que le permite 'Muestra la location de los usuarios'. Al marcar esa casilla hará que el punto azul aparezca en el map (si está utilizando el iPhone Simulator, solo aparecerá como Cupertio).

Hay muchos tutoriales simples sobre cómo comenzar con las vistas de map para iPhone. Aquí hay una muy buena . Si no te gusta, te sugiero que utilices los tutoriales de Google 'MkMapView' y encontrarás mucha información útil.

Para get la location del usuario (latitud y longitud), necesitará hacer algunas cosas:

1) Asegúrese de haber importado el marco de trabajo de CoreLocation (CoreLocation.framework)

2) Necesita agregar lo siguiente a su file .h:

#import <CoreLocation/CoreLocation.h> @interface exampleViewController : UIViewController <CLLocationManagerDelegate> { CLLocationManager *locationManager; } @property(nonatomic, retain)CLLocationManager *locationManager; 

3) Debe agregar lo siguiente a su file .m (donde sea apropiado para su aplicación)

Esta parte creará una instancia del CLLocationManager:

  self.locationManager = [[CLLocationManager alloc] init]; locationManager.delegate = self; locationManager.desinetworkingAccuracy = kCLLocationAccuracyBest; [locationManager startUpdatingLocation]; 

A continuación, puede get la latitud y longitud actuales utilizando el método delegado:

 - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { NSLog(@"New latitude: %f", newLocation.coordinate.latitude); NSLog(@"New longitude: %f", newLocation.coordinate.longitude); } 

También debería mirar esta pregunta existente y esta también, creo que debería ayudarlo con la segunda parte de su pregunta.

Espero que esto ayude.