¿Cómo podré abrir google maps cuando presiono un button en mi aplicación?

Tengo esta aplicación y quiero usar google maps o apple maps para abrir cuando el usuario presiona un button en mi aplicación. ¿Cómo podría hacer esto? ¿Existe un enlace a los maps que abre la aplicación o es otra cosa? Si puedes señalarme en la dirección correcta, sería muy útil. ¡Gracias! Tengo el button configurado a continuación así:

override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) { for touch in (touches ) { let location = touch.locationInNode(self) let node = self.nodeAtPoint(location) if node.name == "openMaps" { //code to open google maps or apple maps.... } 

Utilizar esta:

 if node.name == "openMaps" { let customURL = "comgooglemaps://" if UIApplication.shanetworkingApplication().canOpenURL(NSURL(string: customURL)) { UIApplication.shanetworkingApplication().openURL(NSURL(string: customURL)) } else { var alert = UIAlertController(title: "Error", message: "Google maps not installed", prefernetworkingStyle: UIAlertControllerStyle.Alert) var ok = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil) alert.addAction(ok) self.presentViewController(alert, animated:true, completion: nil) } } 

Puede encontrar más información sobre el esquema de URL de Google Maps aquí.

Editar: debe agregar una key a su info.plist para que esto funcione.

 <key>LSApplicationQueriesSchemes</key> <array> <string>comgooglemaps</string> </array> 

Al hacer clic en el button (en acción), llame a la function "directions ()" con el siguiente código:

 func directions() { // if GoogleMap installed if (UIApplication.shanetworking.canOpenURL(URL(string:"comgooglemaps://")!)) { UIApplication.shanetworking.openURL(NSURL(string: "comgooglemaps://?saddr=&daddr=\(Float(event.addressLat)!),\(Float(event.addressLong)!)&directionsmode=driving")! as URL) } else { // if GoogleMap App is not installed UIApplication.shanetworking.openURL(NSURL(string: "https://maps.google.com/?q=@\(Float(event.addressLat)!),\(Float(event.addressLong)!)")! as URL) } } 

Edite su info.plist para LSApplicationQueriesSchemes:

introduzca la descripción de la imagen aquí

¡La esperanza te ayudará!