2013-05-15 26 views
9

Sto sviluppando un'app che si concentrerà molto sul fornire agli utenti percorsi e indicazioni turn-by-turn durante la guida. È importante che rimangano all'interno dell'app durante la loro guida, quindi non voglio davvero lasciarli uscire dall'app e accedere all'app Maps integrata. Ultimamente ho fatto molte ricerche su come includere questa funzionalità, ed è noto che non è facile, dal momento che Apple non include questa funzionalità nell'SDK. Sembra che le mie opzioni sono:Come ottenere itinerari e navigazione turn-by-turn in un'app per iPhone

Per fornire percorsi (e indicazioni) da un luogo all'altro

  • Utilizzare un UIWebView e caricare alcune mappe web-based con JavaScript, e utilizzare l'API JavaScript per tracciare un percorso
  • Utilizzare MapKit o l'SDK iOS di Google Maps, eseguire query per il percorso separatamente tramite un'API e disegnare manualmente un tipo di percorso o polilinea su di esso.
  • utilizzare una libreria che costa denaro (come MTDirectionsKit)

Per fornire turn-by-turn

  • utilizzare una libreria proprietaria che viene fornito con le proprie mappe (come CloudMade)

C'è qualcosa che mi manca qui? Quali sono i pro e i contro di ciascuno e come dovrei scegliere una soluzione?

La tua opinione è molto apprezzata. Grazie!

risposta

12

Si dice che non si vuole "rendere" l'utente uscire dall'app e utilizzare il software integrato per la navigazione svolta a turno come se si trattasse di un'esperienza utente negativa. Una cattiva esperienza utente sarebbe stata forzata ad usare un turno dopo turno nav da una webView o da qualche API che non si presenterebbe come informazioni di routing sulla mia schermata di blocco se blocco il telefono o taglio in altre applicazioni per visualizzare banner che mi dicono di girare sta arrivando, per esempio, mentre sto ascoltando musica sul mio telefono. Suggerisco caldamente di avviare Apple maps e lasciare che il sistema gestisca ciò che è destinato a gestire invece di provare a creare la propria navigazione turn-turn e che limita fortemente l'utente dalla libertà di uscire dall'applicazione durante l'azionamento.

+0

Questo è un ottimo punto e alla fine mi ha scoraggiato dal provare a sviluppare questa funzionalità nell'app. Grazie! – Andrew

1

Sono d'accordo con la risposta di Kris. La navigazione Turn-by-turn è probabilmente gestita al meglio dall'app integrata. Tuttavia, per visualizzare un percorso ed ETA su una mappa 2D, penso che andrò con lo Mapquest iOS API, che offre questa funzionalità gratuitamente. Non sapevo che questa soluzione fosse disponibile fino ad oggi.

4

Mentre sul tema delle librerie commerciali si potrebbe cosa dare un'occhiata a altre opzioni:

  • skobbler/telenav sdk - in-app di routing e di turn-by-turn stesse mappe di navigazione basata su OpenStreetMap (utilizzati da CloudMade e Mapquest).Controlla la demos e la licensing plans e capire se è la soluzione giusta per voi

(hanno un Tier libera che potrebbe essere abbastanza buono per la vostra applicazione - e se si va sopra di tale livello penso che si dovrebbe essere considerando che si monetizzare app)

  • e che su di esso per il momento (oltre alle opzioni già nominati): tenere d'occhio per Mapbox in quanto potrebbero fornire uno SDK iOS nel prossimo futuro - con il routing e la navigazione
+3

Da quello che ho cercato, sembra che l'SDK di 'skobbler/telenav' fornisca una piattaforma moderna (ad esempio, x64, Swift-ready), facile (Cocoapod-managed), intelligente (singleton). E ho studiato molto! Sembra generalmente conveniente ... almeno più conveniente di Google Maps for Work. –