J'ai donc décidé d'utiliser le support technique Apple Developer pour vraiment clair cela. Ceci est la réponse:
Bonjour,
Nous vous remercions de votre demande à Apple Worldwide Developer Support technique. Je vous réponds que vous avez reçu votre demande d'assistance technique.
La méthode standard de facto consiste à utiliser l'application Map. Je réalise que ce n'est pas ce que tu veux. Vous voulez rester dans votre application. L'API MKMapView ne vous offre pas ce niveau de prise en charge en ce qui concerne les instructions utilisateur. Vous devrez compter sur un service Web distinct pour obtenir ces instructions, puis tracer chaque point lat/long vous-même sur le MKMapView. Fondamentalement, vous devrez faire une demande HTTP à l'API Google Directions. Les termes vous obligent à afficher les résultats sur une carte Google. depuis MKMapView montre Google, cela devrait être OK.
http://code.google.com/apis/maps/documentation/directions/#DirectionsRequests
Si vous réussissez à obtenir la route depuis laisser dire le service Yahoo ou Google, MKMapView vous permettra de tracer un parcours visuel à l'aide d'un MKOverlayPathView et MKShapes pour dessiner des formes comme polygone. Apple a un exemple appelé "KMLViewer" trouvé à http://developer.apple.com/library/ios/#samplecode/KMLViewer/Introduction/Intro.html Il vous montre comment tracer des points basés sur KML. L'approche est la même puisque nous traitons des coordonnées lat/long.
Vous pouvez envisager d'utiliser l'application Carte, ce qui serait considérablement plus facile. Tout ce que vous avez besoin est ceci:
// for lat/long directions
NSString *urlString1 = @"http://maps.google.com/maps?daddr=37.324885,-122.032378&saddr=37.332094,-122.03124";
// for address directions
NSString *urlString2 = @"http://maps.google.com/maps?f=d&source=s_d&saddr=1+Infinite+Loop,+Cupertino,+CA+95014&daddr=Mandarin+Gourmet,+Cupertino,+CA&hl=en&geocode=FcajOQIdYvO5-Ckbd16TtrWPgDFAc4Pi50E92A%3BFZ2GOQIdLe65-CHRv0sTH7YegykLqKn9rbWPgDGUnqKbIqi1Bg&mra=ls&sll=37.325567,-122.032989&sspn=0.007243,0.007285&ie=UTF8&ll=37.328195,-122.031466&spn=0.007243,0.007285&z=17";
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: urlString1]];
DEUXIÈME E-MAIL:
Juste pour être clair dans mon dernier e-mail sur les conditions d'utilisation des services Google. Google vous oblige à afficher les résultats de l'itinéraire sur une carte Google, que MKMapView utilise. Cependant, je revérifierais T & Cs d'Apple en ce qui concerne l'utilisation de services externes comme les instructions d'utilisateur sur MKMapView lui-même. Je ne veux pas que vous vous frayez un chemin uniquement pour trouver des restrictions légales en cours de route.
Qu'est-ce qui résoudrait le problème dans le bon sens? Vous dites que les approches référencées sont une mauvaise expérience utilisateur, mais ne définissent pas ce que serait une bonne approche. – Nick
Après la première version d'une application que j'ai développée, il y avait beaucoup d'utilisateurs qui se plaignaient de devoir "quitter" l'application pour obtenir les directions.Mon avis sur une bonne expérience utilisateur est que l'ajout de directions routières directement sur la carte, alors la carte peut être dans sa propre vue aussi longtemps que vous pouvez utiliser la barre de navigation pour revenir à la vue précédente. Devinez ce que je dis, c'est que vous devez être capable de rester dans l'application. C'est à propos de l'UX. La deuxième partie est: Comment accomplissez-vous cela? – Christofffer