2010-10-20 22 views

Respuesta

18

En el simulador, la ubicación actual del usuario siempre está en Cupertino, California.

Si está utilizando Interface Builder para agregar su vista de mapa, simplemente marque la casilla de verificación "Mostrar ubicación de usuario" en el Inspector de atributos para ver el mapa. (Seleccione la vista de mapa y escriba command-1 para mostrar el inspector de atributos.)

Si va a añadir o manipular la vista del mapa mediante programación, establezca la propiedad showsUserLocation de la vista del mapa para YES.


actualización: Resulta que esto es posible, pero no con el construido en la funcionalidad de vista de mapa, y no siempre funciona.

Las versiones recientes del SDK (que tienen que ejecutarse en Snow Leopard) pueden obtener la ubicación de la máquina en la que se está ejecutando el simulador utilizando CLLocationManager. A continuación, puede usar esta ubicación para crear una anotación que se mostrará en la vista del mapa. No se comportará como el "indicador de ubicación del usuario" incorporado (al menos no sin cierto trabajo), pero mostrará la ubicación actual del usuario.

Consulte this post para obtener detalles sobre cuándo esta técnica no funcionará.

Consulte la sección "Código de muestra relacionado" de CLLocationManager documentation para ver el código de ejemplo que utiliza CLLocationManager y CLLocationManagerDelegate y luego muestra la ubicación del usuario en una vista de mapa.

+0

1 ---- OK I retomó mi respuesta y feliz de saber si es posible ... lo nuevo que hacer .... gracias ... – Saawan

+0

por favor, eche un vistazo a mi pregunta y sugiera algo ---- y http: //stackoverflow.com/questions/3966796/are-herehere-any-libraries-or-examples-of-how-to-handle-ofx-on-the-iphone – Saawan

10
self.mapView.delegate = self; 
self.mapView.showsUserLocation = YES; 

Esto mostrará la ubicación actual en MkMapview.

Si está utilizando Interface Builder, en el Inspector de Atributos, tenemos una opción Behaviour, que tiene una opción Show User Location, al marcar esa opción también hará lo mismo.

Si usted no es capaz de ver en el simulador,

  1. Abra la aplicación en el simulador.
  2. Desde la barra de menú, seleccione Depurar -> Ubicación -> (si la opción "Ninguno" está seleccionada, cámbiela a "Ubicación personalizada") y establezca la ubicación.

Con CLLocationManager también podemos obtener la ubicación actual, importación Corelocation marco para el proyecto

En .h archivo

#import <CoreLocation/CoreLocation.h> 
@property (nonatomic, strong) CLLocationManager *locationManager; 
@property (nonatomic, strong) CLLocation* currentLocation; 

En .m archivo

if ([CLLocationManager locationServicesEnabled]) 
    { 
     if (self.locationManager == nil) 
     { 
      self.locationManager = [[CLLocationManager alloc] init]; 
      self.locationManager.delegate = self; 
      self.locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
      self.locationManager.distanceFilter = kDistanceFilter; //kCLDistanceFilterNone// kDistanceFilter; 
     } 

     [self.locationManager startUpdatingLocation]; 
    } 

La función de delegado :

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations 
{ 
    self.currentLocation = [locations lastObject]; 
    // here we get the current location 
} 

Esperanza esta respuesta puede ayudarte.

0

Simulator no mostrará la ubicación actual del usuario, ya sea iOS 6, 6.1 o iOS 7. Para simular la ubicación, puede ver here. Si desea mostrar la ubicación actual del usuario a continuación, ejecutar la aplicación en el dispositivo o cambiar la configuración del simulador -

en el menú del simulador seleccione Depurar> Ubicación> Ubicación personalizada ....

Cuestiones relacionadas