2010-10-19 9 views
5

Ho letto di un certo numero di post per gli sviluppatori che vogliono tracciare un percorso su una mappa su un iPhone, ma non c'è una risposta soddisfacente su come ottenere questo risultato. Puoi usare la libreria Route-Me, aggiungere un layer in cima a MKMapView o inviare le coordinate al software della mappa dei telefoni, quindi navigare nella tua applicazione, che a mio parere è una cattiva esperienza utente. Nessuno di questi risolve il problema in modo positivo.Qual è il metodo standard/migliore per l'implementazione del percorso su iPhone?

Alcuni post scrive che ci sono ostacoli legali, altri scrivono che si tratta di licenze di denaro. Questo deve essere un requisito molto comune e quindi una caratteristica comune da implementare. Quindi qual è il modo standard di fatto per fare questo?

Qualcuno con una buona esperienza può condividere le proprie opinioni su questa domanda?

BR // Christoffer

+0

Che cosa esattamente risolverebbe il problema in modo positivo per te? Tu dici che gli approcci di riferimento sono una brutta esperienza utente, ma non definire ciò che sarebbe buono. – Nick

+0

Dopo la prima versione di un'applicazione che ho sviluppato c'erano molti utenti che si lamentavano di dover "lasciare" l'app per ottenere indicazioni stradali.Il mio pensiero su una buona esperienza utente è che l'aggiunta di indicazioni stradali direttamente sulla mappa, quindi la mappa può essere nella propria vista, purché sia ​​possibile utilizzare la barra di navigazione per tornare alla vista precedente. Indovina cosa sto dicendo è che devi essere in grado di rimanere nell'app. Questo è l'UX. La seconda parte è: come si compie questo? – Christofffer

risposta

3

così ho deciso di utilizzare Apple Assistenza tecnica sviluppatori per molto chiaro questo fuori. Questa è la risposta:


Ciao,

Grazie per la tua richiesta alla Apple Worldwide Developer supporto tecnico. Sto rispondendo per farti sapere che ho ricevuto la tua richiesta di assistenza tecnica.

Il modo standard di fare ciò sta utilizzando l'applicazione Mappa. Mi rendo conto che questo non è quello che vuoi. Vuoi rimanere all'interno della tua app. L'API MKMapView non ti dà quel livello di supporto quando si tratta di indicazioni dell'utente. Dovrai fare affidamento su un servizio web separato per ottenere quelle indicazioni, quindi tracciare ogni lat/long point sul MKMapView. Fondamentalmente dovrai fare una richiesta HTTP all'API Google Directions. I termini richiedono di visualizzare i risultati su una mappa di Google; poiché MKMapView mostra Google, dovrebbe essere OK.

http://code.google.com/apis/maps/documentation/directions/#DirectionsRequests

Se si riesce ad ottenere gli indirizzi di charme diciamo Yahoo o servizio di Google, MKMapView vi permetterà di tracciare una rotta visiva utilizzando un MKOverlayPathView e MKShapes per disegnare forme poligonali-like. Apple ha un esempio chiamato "KMLViewer" trovato a http://developer.apple.com/library/ios/#samplecode/KMLViewer/Introduction/Intro.html Ti mostra come tracciare punti basati su KML. L'approccio è lo stesso poiché si tratta di coordinate lat/long.

Si consiglia di prendere in considerazione l'utilizzo dell'applicazione Mappa, che sarebbe notevolmente più semplice. Tutto ciò che serve è questo:

// 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]]; 

SECONDO E-MAIL:

Giusto per essere chiari nella mia ultima e-mail circa i termini per utilizzare i servizi di Google. Google richiede di visualizzare i risultati del percorso su una mappa di Google, utilizzata da MKMapView. Tuttavia, dovrei ricontrollare le C di Apple T & relative all'uso di servizi esterni come le indicazioni dell'utente su MKMapView. Non voglio che tu scenda lungo un percorso solo per trovare restrizioni legali lungo la strada.


Problemi correlati