2015-06-19 18 views
13

Sto tentando di visualizzare tutti i possibili percorsi tra i punti A e B nella mia app Swift (obiettivo iOS 8+). Consentono all'utente di selezionare uno qualsiasi dei possibili percorsi nella mia app. Avanti, vorrei che l'utente sia in grado di navigare il percorso selezionato (MKRoute) in Mappe Apple App, utilizzandoApri l'app di Apple Maps con informazioni specifiche su MKRoute

var fullRouteResponse:MKDirectionsResponse? //This variable has MKRoute information 

@IBAction func openInAppleMaps(sender: AnyObject) 
{ 
    let placemark = MKPlacemark(coordinate: destinationCoordinate!, addressDictionary: nil) 

    mapItem = MKMapItem(placemark: placemark) 

    mapItem.openInMapsWithLaunchOptions(
     [MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving, 
     MKLaunchOptionsMapTypeKey: MKMapType.Standard.rawValue, 
     MKLaunchOptionsShowsTrafficKey: true ]) 

} 

Questo apre l'applicazione Maps bene, ma sono in grado di capire come passare le specifiche informazioni MKRoute selezionate in modo che l'utente non debba riselezionare da tutti i percorsi possibili nell'app Apple maps.

Non sono sicuro che questo sia possibile, quindi qualsiasi suggerimento sarebbe di grande aiuto. Grazie!

+0

Simili: [domanda] (http://stackoverflow.com/questions/12658826/open-apple-maps-and-start-route-from-current-location-to-home-immediately -in-ios) – Raptor

+0

@Raptor Ancora senza risposta :(Sono in grado di aprire l'app delle mappe e il percorso verso la destinazione (l'app Maps mi chiede quale percorso scegliere). Non tiene conto del fatto che ho già ho selezionato un percorso specifico nella mia app. Non sono in grado di passare tali informazioni all'app delle mappe – sh4k

risposta

5

In documentation non si dice che sia possibile passare il percorso preconfigurato all'app Maps nativa. Quindi è impossibile fare ciò che vuoi.

Se qui è il modo non documentato per raggiungerlo mi piacerebbe sapere.

+0

Anche se questa non è la risposta che ho desiderato è quella corretta;) – arnoapp

1

Sì, è possibile farlo utilizzando MapLink:

Secondo MapLink Documentation, si può facilmente farlo riempiendo il 'saddr' e '' DADDR parametri. Come questo:

if (UIApplication.sharedApplication().canOpenURL(NSURL(string:"http://maps.apple.com")!)) { 
     UIApplication.sharedApplication().openURL(NSURL(string: 
     "http://maps.apple.com:/?saddr=\(YOUR_SOURCE_LATITUDE),\(YOUR_SOURCE_LONGITUDE)&daddr=\(YOUR_DESTINATION_LATITUDE),\(YOUR_DESTINATION_LONGITUDE)&dirflg=d")!) 

    } 
+1

Questo non ti consente di aprire un percorso specifico ma solo aggiunge le due posizioni – arnoapp