Buddy-Tracker (Technik) - Bemerkungen zu den Programmteilen

Beitragsseiten

Bemerkungen zu den Programmteilen

Karte

Die Kartendarstellung verwendet im Moment das Map-Fragment von Google-Maps. Auf dieser Karte werden die aktuellen Positionsdaten der Buddies (ggf. mit ihrer Historie) und die aktiven Orte angezeigt.

Die angezeigten Daten können gefiltert werden. Im Moment habe ich zeitbasierte Filter implementiert. Einmal die Anzeige zwischen Start- und Enddatum und alternativ ein wählbarer Zeitraum von jetzt in die Vergangenheit (die letzten x Stunden ...)
Dabei kann dann auch noch die Zeitzone eingestellt werden, in der die Zeitangaben angezeigt werden. Praktisch, wenn die beobachteten Positionen weit vom eigenen Standort entfernt sein sollten und man jeweils die dortige lokale Zeit wissen möchte.

Die jeweils angezeigten Track-Daten können hier im GPX-Format eportiert werden oder neue Daten aus GPX-Dateien eingelesen werden. Dabei habe ich (konform zum GPX-Standard) Erweiterungen implementiert um meine zusätzlichen Attribute zu den Positionsdaten auch mit abspeichern und wieder einlesen zu können.

Nette Gimmicks sind:

  • Kurzer Klick auf einen angezeigten Marker öffnet ein Fenster mit Zusatzinformationen
  • Klick auf dieses Fenster öffnet bei Orts-Markern das entsprechende Fragment mit dem man diese Daten dann bearbeiten kann
  • Bei Positionsmarkern geht es da nicht weiter. Dafür wird aber der zugehörige Track gekennzeichnet indem er mit einer dickeren Strichstärke gezeichnet wird. Hat man auch noch die Option aktiviert die Genauigkeit der Ortsdaten anzuzeigen, wird für jeden Datenpunkt des Tracks ein Marker erzeugt in dessen Info-Window man auf  Klick die Details zu diesem Trackpoint bekommt. Außerdem wird die Genauigkeit der Position mit einem entsprechenden Kreis um die Position markiert.
  • Langer Klick auf einen leeren Bereich der Karte erzeugt einen neuen Marker (mit dem festen Namen "Wpt 1", der dann aber geändert werden kann (s.o.))
  • Langer Klick auf einen Ortsmarker bringt diesen in den Drag-and-Drop Mode wo man ihn dann beliebig auf der Karte verschieben kann.

Navigation

Eine einfache Navigation zum Zielort ohne Straßenrouting, also geeignet für die offene See oder wenn man in der Natur ohne Straße querfeldein wandert. Aus dem eigenen Standort und den Zielkoordinaten wird Entferung und Richtung zum Ziel bestimmt. Dies wird mit einem selbst geschriebenen View, der ein HSI-Instrument (Horizontal Situation Indicator) aus der Fliegerei nachbildet visualisiert und zusätzlich werden die Zahlenwerte diverser Eigenschaften noch aufgelistet.

Aufgrund der hohen Update-Frequenz darf ich mir hier keine Memory-Leaks erlauben und muß auf die Performance achten. Ist mir gelugen, denn dieses Fragment läuft auch auf Uralt-Geräten (damals noch mit Android 2.2)

 

Orte, Buddies, Teilen

Keine großen Besonderheiten.
Es werden Listviews mit Mehrfachauswahl und Action-Menüs eingesetzt.