¿Cómo abrir la URL de navigation de Google Map con dirección y voz en iOS?

Soy novato en iOS. Quiero hacer una aplicación que contenga la navigation del kit de map. Quiero abrir la URL de navigation del map de Google si el dispositivo del usuario tiene una aplicación de Google Maps. si no está contenido, entonces quiero abrir el map de Apple. Aquí escribo un código para Me gusta

-(IBAction)navigationButtonPressed:(id)sender { if ([[UIApplication shanetworkingApplication] canOpenURL: [NSURL URLWithString:@"comgooglemaps://"]]) { NSString *urlString=[NSString stringWithFormat:@"comgooglemaps://?center=%f,%f&zoom=14&views=traffic",self.latitude,self.longitude]; [[UIApplication shanetworkingApplication] openURL: [NSURL URLWithString:urlString]]; } else { NSString *string = [NSString stringWithFormat:@"http://maps.apple.com/?ll=%f,%f",self.latitude,self.longitude]; [[UIApplication shanetworkingApplication] openURL:[NSURL URLWithString:string]]; } } 

Pero aquí quiero abrir el map de Google o el map de Apple con la dirección de giro a giro entre la location actual del usuario y la location seleccionada, cómo es posible. Por favor, dame una solución.

Para Google Map, necesitarías hacer algo como esto:

Use este esquema para solicitar y mostrar direcciones entre dos ubicaciones. También puede especificar el modo de transporte.

Parámetros saddr: Establece el punto de partida para las búsquedas de direcciones. Esto puede ser una latitud, una longitud o una dirección con formatting de consulta. Si es una cadena de consulta que devuelve más de un resultado, se seleccionará el primer resultado. Si el valor se deja en blanco, se usará la location actual del usuario. daddr: establece el punto final para las búsquedas de direcciones. Tiene el mismo formatting y comportamiento que saddr. directionsmode: Método de transporte. Se puede configurar para: conducir, transitar, andar en bicicleta o caminar.

A continuación, se muestra un URL para mostrar las indicaciones de tránsito entre Google NYC y el aeropuerto JFK:

comgooglemaps: //? saddr = Google + Inc, + 8th + Avenue, + New + York, + NY & daddr = John + F. + Kennedy + Internacional + Aeropuerto, + Van + Wyck + Expressway, + Jamaica, + Nuevo + York & directionsmode = tránsito

introduzca la descripción de la imagen aquí

A continuación se muestran algunos ejemplos adicionales:

"comgooglemaps: //? saddr = Google, + 1600 + Anfiteatro + Parkway, + Mountain + View, + CA + 94043 & daddr = Google + Inc, + 345 + Spear + Street, + San + Francisco, + CA & center = 37.422185, -122.083898 y zoom = 10 "

"comgooglemaps: //? saddr = 2025 + Garcia + Ave, + Mountain + View, + CA, + USA & daddr = Google, + 1600 + Anfiteatro + Parkway, + Mountain + View, + CA, + United + States & center = 37.423725, 122.0877 & directionsmode = walking & zoom = 17 "

Consulte :

https://developers.google.com/maps/documentation/ios/urlscheme

Para Apple Map haga lo siguiente: – Los siguientes ejemplos muestran las cadenas que usaría para proporcionar direcciones de conducción entre San Francisco y Cupertino:

" http://maps.apple.com/?daddr=San+Francisco,+CA&saddr=cupertino "

Consulte :

" https://developer.apple.com/library/iad/featunetworkingarticles/iPhoneURLScheme_Reference/iPhoneURLScheme_Reference.pdf "

Esto funciona para mí, solo el problema que puedo ver con su consulta es el valor lat largo de los valores (Se ve que es un valor de longitud de latitud de grado, pero se pasa como un valor de longitud de latitud decimal.

Ruta de ejemplo desde Downey a Los Ángeles NSString * cadena = [NSString stringWithFormat: @ " http://maps.apple.com/ ? Daddr =% 1.6f,% 1.6f & saddr =% 1.6f,% 1.6f", 34.0522300, – 118,2436800,33,9400100, -118,1325700];

introduzca la descripción de la imagen aquí

Pero para algunas de las instrucciones no funciona y muestra indicaciones no disponibles

introduzca la descripción de la imagen aquí

puedes usar el siguiente código; Aparecerá la location seleccionada con anotación de caída; y desde la aplicación Google puedes navegar

 if ([[UIApplication shanetworkingApplication] canOpenURL:[NSURL URLWithString:@"comgooglemaps://"]]) { NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"comgooglemaps://?center=%f,%f&q=%f,%f",mosqueLocation.latitude,mosqueLocation.longitude, mosqueLocation.latitude,mosqueLocation.longitude]]; [[UIApplication shanetworkingApplication] openURL:url]; } else { NSLog(@"Can't use comgooglemaps://"); } 

¡¡¡¡disfrutar!!!!