Abrir maps de Google nativos en Xcode

Hola, tengo una aplicación de iPhone que usa maps y ubicaciones.

Me gustaría que el usuario pueda presionar un button que da instrucciones paso a paso a esa location. Entiendo que no tengo permitido hacer esto en la aplicación, pero me preguntaba si alguien podría decirme si es posible hacer un enlace a la aplicación de Google Maps nativa que ingresará las instrucciones a la location desde la location actual de los usuarios.

Si es posible, ¿podrías también decirme cómo?

Cualquier ayuda sería apreciada.

Gracias

Claro, es posible, solo tienes que decirle al sistema que abra un enlace de Google Maps, con parameters para el set de direcciones de inicio y finalización.

Es posible que desee probar la siguiente URL de Google Maps:

http://maps.google.com/maps?saddr=x,y&daddr=x,y

Entonces puede ver que los dos parameters son saddr (dirección de inicio) y daddr (dirección de destino). Las configuras en un par de coorderadas, separadas por una coma.

Aquí hay un código que escribí que llevará al usuario desde su location actual a una location específica (codificada en mi caso).

Este es el método de delegado de location central que se llama una vez que se ha establecido su location.

 - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { if (newLocation.horizontalAccuracy == oldLocation.horizontalAccuracy) { [self.locationManager stopUpdatingLocation]; CLLocationCoordinate2D coords = newLocation.coordinate; NSString *stringURL = [NSString stringWithFormat:@"http://maps.google.com/maps?saddr=%g,%g&daddr=50.967222,-2.153611", coords.latitude, coords.longitude]; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication shanetworkingApplication] openURL:url]; } } 

Para configurar todo esto, puede agregar una propiedad de un administrador de location a su controller, y luego, cuando desee configurarlo (digamos en viewDidLoad ), intialise de esta manera:

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

Llamar a [[UIApplication shanetworkingApplication] openUrl:url]; lo enviará al controller de URL del sistema, que detectará que es un enlace de Google Maps y lo abrirá en los maps.

Espero que ayude