Bestes Navi für Busfahrer

Navi­ga­ti­on für Linienbusse

Tips zur Nut­zung der Map­Trip API Schnittstelle

Mit Map­Trip API kann Ihre App sich mit Map­Trip auf dem glei­chen Gerät unter­hal­ten und die Navi­ga­ti­on fern­steu­ern. Wir erklä­ren am Bei­spiel einer Navi­ga­ti­on für Lini­en­bus­se wie das funk­tio­niert und was Sie als Ent­wick­ler beach­ten müssen.

YouTube

Mit dem Laden des Vide­os akzep­tie­ren Sie die Daten­schutz­er­klä­rung von You­Tube.
Mehr erfah­ren

Video laden

Die im Video gezeig­te Demo-Anwen­dung kön­nen Sie hier auf Git­Hub her­un­ter­la­den. Wenn Sie Fra­gen haben, zögern Sie nicht, sich an uns zu wen­den. Wir hel­fen Ihnen gerne! 

Mehr Infor­ma­tio­nen für Entwickler

Hin­wei­se zur Instal­la­ti­on und Benut­zung der Bei­spiel-App

Zum direk­ten Testen der Anwen­dung ohne build-Pro­zess kann das APK her­un­ter gela­den und unter Android instal­liert wer­den. Dazu ste­hen vor­be­rei­te­te Kon­fi­gu­ra­ti­ons­da­tei­en sowie Refe­renz­rou­ten zur Ver­fü­gung. Mit ent­spre­chen­den Simu­la­ti­ons­pro­gram­men (z.B. Locki­to) kön­nen GPS-Signa­le gene­riert wer­den, die von Map­Trip zur Navi­ga­ti­on aus­ge­wer­tet werden.

Instal­la­ti­on

Das APK (refroutechains.apk) liegt im Ord­ner app/release.

  • Kopie­ren des APK auf den Gerä­te­spei­cher und durch Anklicken die Instal­la­ti­on starten.
  • Nach der Instal­la­ti­on die Bei­spiel-App star­ten, damit die Datei­struk­tur im Gerä­te­spei­cher ange­legt wird.
  • Die Feh­ler­mel­dung der Bei­spiel-App igno­rie­ren und die Bei­spiel-App beenden.

Die Bei­spiel-Kon­fi­gu­ra­ti­on und die vor­be­rei­te­ten Refe­renz­rou­ten lie­gen im Ord­ner sam­ple­Con­fig.

  • Kopie­ren des Inhalts (Ord­ner rou­tes und pro­per­ties-Datei­en) auf den Gerä­te­spei­cher in den Ord­ner /Android/data/com.refroutes/files.

Kon­fi­gu­ra­ti­on

Refe­renz­rou­ten

Die Refe­renz­rou­ten wer­den als Datei­en mit der Endung .nmea oder .csv im Ord­ner rou­tes abge­legt. In der Datei refroutes.csv wer­den die Refe­renz­rou­ten in der von der Navi­ga­ti­on zu berück­sich­ti­gen­den Rei­hen­fol­ge abge­legt. Exi­stiert die Datei refroutes.csv nicht, wird sie auf Basis der im Ord­ner lie­gen­den Refe­renz­rou­ten gene­riert. Die Rei­hen­fol­ge kann kom­for­ta­bel über die GUI der Bei­spiel-App fest­ge­legt werden.

refroutechains.properties

Beein­flusst das Ver­hal­ten der Anwen­dung
startMapTrip=:TRUE|FALSE:

  • TRUE: die Anwen­dung Map­Trip wird bei Bedarf durch die Bei­spiel-App gestar­tet (default)
  • FALSE: das auto­ma­ti­sche Star­ten von Map­Trip wird unter­drückt und muss bei Bedarf manu­ell erfolgen

logging.properties

loggingFileName=:path of logfile:

  • Rela­ti­ver Pfad des log­files. Ohne Anga­be eines Slash / vor einer optio­na­len Pfadangabe
  • Bei­spiel: loggingFileName=log/logging.log

logLevel=:LogLevel:

  • log level wie in java.util.logging definiert
  • Bei­spiel: logLevel=FINEST

maxFileSize=:max file size:

  • Maxi­ma­le Grö­ße einer Log-Datei bevor Rotiert wird. Die Grö­ße ist eine Cir­ca-Anga­be und nicht auf das Byte genau.
  • Bei­spiel: maxFileSize=1000000

Benut­zung

GUI Ele­men­te

Die GUI der Bei­spiel-App besteht im Wesent­li­chen aus drei Elementen.

  • Switch-But­ton zur Akti­vie­rung des Modus Auto­pi­lot (s.a. Modi)
  • Liste zur Dar­stel­lung und Bear­bei­tung der Referenzrouten
  • Akti­ons-But­ton zum Star­ten, Pau­sie­ren und Fort­set­zen der Navi­ga­ti­on. Die Beschrif­tung des But­tons wech­selt je nach Anwen­dungs­sta­tus zwi­schen GO, PAUSE und FORTSETZEN.

Auf­li­stung der Referenzrouten

  • Die Ziel­füh­rung der Refe­renz­rou­ten erfolgt in der dar­ge­stell­ten Reihenfolge.
  • Die Rei­hen­fol­ge kann durch Zie­hen (kur­zes Gedrückt-Hal­ten und dann Zie­hen) ver­än­dert werden.
  • Die Rei­hen­fol­ge wird bei jeder Ände­rung persistiert.
  • Die Ziel­füh­rung berück­sich­tigt nur die mit einem Haken akti­vier­ten Routen.
  • Refe­renz­rou­ten kön­nen durch das Müll­ei­mer-Sym­bol aus der Liste gelöscht werden.
  • Aktu­ell ist das Hin­zu­fü­gen von Refe­renz­rou­ten ledig­lich manu­ell durch Ein­tra­gen in die Datei refroutes.csv mög­lich. Even­tu­ell ist es ein­fa­cher, die­se Datei zu Löschen und die Bei­spiel-App neu zu star­ten, wodurch die Datei neu gene­riert wird.

Navi­ga­ti­on

  • Vor­aus­set­zung für eine funk­tio­nie­ren­de Navi­ga­ti­on ist, dass Map­Trip gestar­tet wurde.
  • Dass Map­Trip aktiv ist, wird durch die grü­ne Beschrif­tung des Akti­ons-But­tons signa­li­siert (die anson­sten grau/schwarz ist).
  • Mit Klick auf den But­ton GO erfolgt die initia­le Ziel­füh­rung einer Refe­renz­rou­te. Die Rou­te wird farb­lich lila mar­kiert und die Navi­ga­ti­on gestar­tet. Dazu wird Map­Trip in den Vor­der­grund geholt.
  • Die initia­le Ziel­füh­rung (also Klick auf GO) beginnt beim Start­punkt der Refe­renz­rou­te. Das bedeu­tet, Map­Trip navi­giert zum Start­punkt der Rou­te und von dort wei­ter die Rou­te ent­lang (s.a. Pause).
  • Refe­renz­rou­ten, deren Navi­ga­ti­on abge­schlos­sen ist, wer­den grün dargestellt.
  • Wur­den alle Refe­renz­rou­ten erreicht, wird bei Klick auf den But­ton GO der farb­lich dar­ge­stell­te Sta­tus aller Ein­trä­ge zurück gesetzt und die Ziel­füh­rung beginnt erneut mit der ersten Route.

Pau­se

  • Nach Start der Navi­ga­ti­on einer Refe­renz­rou­te wech­selt die Beschrif­tung des Akti­ons-But­tons auf PAUSE.
  • Wird die akti­ve Navi­ga­ti­on einer Refe­renz­rou­te pau­siert, wech­selt die farb­li­che Dar­stel­lung der Rou­te auf oran­ge und die Beschrif­tung des Akti­ons-But­tons auf FORTSETZEN.
  • Klick auf FORTSETZEN setzt die Ziel­füh­rung fort. Wur­de die Refe­renz­rou­te ver­las­sen (z.B. um eine Mit­tags­pau­se abseits der Rou­te abzu­hal­ten), wird — im Gegen­satz zur initia­len Ziel­füh­rung — beim fort­ge­setz­ter Ziel­füh­rung zum nächst­ge­le­ge­nen Punkt der Refe­renz­rou­te navi­giert und nicht zum Start­punkt der Referenzroute.

Modi

Die Bei­spiel-App kennt zwei Betriebs­mo­di, die sich auf das Ver­hal­ten bei Ziel­er­rei­chung auswirken.

  • Etap­pen­mo­dus; die Refe­renz­rou­ten wer­den wie Etap­pen behan­delt. Das heißt, dass nach erfolg­rei­cher Ziel­füh­rung einer Refe­renz­rou­te mit Map­Trip die Bei­spiel-App in den Vor­der­grund geholt wird, damit der Anwen­der manu­ell die näch­ste Rou­te star­ten kann.
    Die­ser Modus eig­net sich zum Bei­spiel gut für die Simu­la­ti­on einer Bus-Navi­ga­ti­on, da bei Errei­chen der Bus­hal­te­stel­le nicht sofort die Navi­ga­ti­on zum näch­sten Ziel erfol­gen soll.
  • Auto­pi­lot; die Refe­renz­rou­ten wer­den direkt nach­ein­an­der abge­ar­bei­tet. Die Bei­spiel-App wird erst nach Errei­chung des letz­ten Ziels in den Vor­der­grund geholt. Die­ser Modus simu­liert das Ver­hal­ten einer Müll-Ent­sor­gungs-Navi­ga­ti­on, die den Fah­rer kon­ti­nu­ier­lich von einem Teil­stück der Gesamt­rou­te zum näch­sten führt.

Wech­seln zwi­schen der Anwen­dung und MapTrip

Das Gesamt­kon­zept der Lösung basiert auf dem effi­zi­en­ten Zusam­men­spiel der Bei­spiel-App und Map­Trip. Je nach Situa­ti­on bzw. Sta­tus muss ent­we­der die Bei­spiel-App oder Map­Trip dem Anwen­der für die Benut­zung zur Ver­fü­gung stehen.


Wie in den Abschnit­ten Navigation und Modi erklärt, erfolgt der Wech­sel zwi­schen den bei­den Anwen­dun­gen im Betrieb auto­ma­ti­siert bzw. durch Betä­ti­gen des Akti­ons-But­tons (GO, FORTSETZEN).

Zusätz­lich kann der Anwen­der aber bei Bedarf (zum Bei­spiel um zu Pau­sie­ren), Map­Trip in den Hin­ter­grund schicken und die Bei­spiel-App in den Vor­der­grund holen. Dazu steht in der Kar­ten­an­sicht von Map­Trip ein But­ton mit einer Sprech­bla­se als Sym­bol zur Verfügung.

Zur Werkzeugleiste springen