2013-05-15 26 views
9

Ich entwickle eine App, die sich stark darauf konzentriert, den Benutzern während der Fahrt Routen und Routenanweisungen zu geben. Es ist wichtig, dass sie während der Fahrt in der App bleiben. Daher möchte ich nicht, dass sie die App verlassen und zur integrierten Karten-App gehen. In letzter Zeit habe ich viel darüber recherchiert, wie diese Funktionalität integriert werden kann, und es ist allgemein bekannt, dass dies nicht einfach ist, da Apple diese Funktionalität nicht sofort in das SDK integriert. Es sieht aus wie meine Optionen sind:Routen und Turn-by-Turn-Navigation in einer iPhone-App

Für die Bereitstellung Routen (und Richtung) von einem Ort zu einem anderen

  • eine UIWebView verwenden und einige Web-basierten Karten mit JavaScript laden und verwenden Sie den JavaScript-API Zeichnen einer Route
  • Verwenden Sie MapKit oder das Google Maps iOS SDK, suchen Sie die Route separat über eine API und zeichnen Sie manuell eine Art Pfad oder Polylinie darüber.
  • Verwenden Sie eine Bibliothek, das Geld (wie MTDirectionsKit)

Kosten Zur Bereitstellung Turn-by-Turn-Navigation

  • verwendet eine proprietäre Bibliothek, die kommt mit seinen eigenen Karten (wie CloudMade)

Gibt es etwas, das ich hier vermisse? Was sind die Vor- und Nachteile von jedem, und wie sollte ich eine Lösung wählen?

Ihre Einsicht wird sehr geschätzt. Vielen Dank!

Antwort

12

Sie sagen, dass Sie nicht möchten, dass der Benutzer die App verlässt und die eingebaute Software für die Navigation für die nächste Navigation verwendet, als wäre dies eine schlechte Benutzererfahrung. Eine schlechte Benutzererfahrung wäre es, ein Turn-by-Turn-Nav von einem WebView oder einer API zu verwenden, die nicht als Routing-Information auf meinem Sperrbildschirm angezeigt würde, wenn ich das Telefon sperre oder in andere Anwendungen einbreche, um mir eine Abbiegung anzuzeigen kommt zum Beispiel, während ich Musik auf meinem Handy höre. Ich empfehle Ihnen dringend, Apple Maps zu starten und das System mit dem zu behandeln, was es handhaben soll, anstatt zu versuchen, eine eigene Turn-by-Turn-Navigation zu erstellen und den Benutzer stark von der Freiheit abzuhalten, die Anwendung während eines Laufwerks zu verlassen.

+0

Dies ist ein sehr guter Punkt und hat mich letztendlich davon abgehalten, diese Funktionalität in die App zu integrieren. Vielen Dank! – Andrew

1

Ich stimme Kris 'Antwort. Turn-by-Turn-Navigation wird wahrscheinlich am besten von der integrierten App gehandhabt. Um jedoch eine Route und eine ETA auf einer 2D-Karte anzuzeigen, denke ich, dass ich mit der Mapquest iOS API gehen werde, die diese Funktionalität kostenlos anbietet. Ich wusste nicht, dass diese Lösung bis heute verfügbar war.

4

Während auf dem Thema der kommerziellen Bibliotheken, die Sie könnten, was einen Blick auf andere Optionen nehmen:

  • skobbler/telenav sdk - In-App-Routing-und Turn-by-Turn-Navigation auf Basis von OpenStreetMap (gleiche Karten von Cloudmade verwendet und Kartenquest).Überprüfen Sie die demos und die licensing plans und herauszufinden, ob es die richtige Lösung für Sie

(sie kostenlos Tier haben, die für Ihre Anwendung gut genug sein könnte - und wenn man über dieser Ebene gehen ich glaube, Sie sollten unter Berücksichtigung monetarisieren Sie app)

  • und das ist es für die Zeit, die Optionen zu sein (neben bereits genannt): ein Auge für Mapbox wie sie einen iOS-sdk in naher Zukunft bieten könnten - mit Routing und Navigation
+3

Von dem, was ich recherchiert habe, sieht es aus wie das 'skobbler/telenav' SDK ein modernes (zum Beispiel x64, Swift-ready) bietet, einfach (Cocoapod Verwaltung), intelligent (Singletons) -Plattform. Und ich habe viel recherchiert! Sieht im Allgemeinen erschwinglich aus ... zumindest günstiger als Google Maps for Work. –