2010-10-19 7 views
5

J'ai lu sur un certain nombre de messages pour les développeurs qui veulent tracer un itinéraire sur une carte sur un iPhone, mais il n'y a pas de réponse satisfaisante à la meilleure façon d'y parvenir. Vous pouvez utiliser la bibliothèque Route-Me, ajouter une couche sur MKMapView ou envoyer des coordonnées au logiciel de cartographie des téléphones, puis naviguer depuis votre application, ce qui, à mon avis, est une mauvaise expérience utilisateur. Rien de tout cela résout le problème dans le bon sens. Certains articles mentionnent qu'il existe des obstacles juridiques, d'autres écrivent qu'il s'agit de licences d'argent. Cela doit être une exigence très commune et donc une caractéristique commune à mettre en œuvre. Alors, quelle est la manière standard de facto de le faire?Quelle est la norme/la meilleure façon de mettre en œuvre l'itinéraire sur iPhone?

Est-ce que quelqu'un avec une bonne expérience peut partager ses idées sur cette question?

BR // Christoffer

+0

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

+0

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

Répondre

3

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.


Questions connexes