... the user friendly GPS tool


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Problem mit NMEA-Dateien
#11
Für die Änderung brauchst Du nicht so viel Java Wissen. Du kannst es ja mal versuchen. Hier steht wie man an den Quellcode kommt.

Die eigentlich Anpassung müsste vermutlich in der Datei slash.navigation.kml.KmlFormat sein. Dort gibt es die Konstanten SPPED_COLORS und SPEED_SCALE. Ohne das zu testen, würde ich mal vermuten, dass die Anpassung dort schon ausreichen würde.

Wenn Du es Dir vorab anschauen willst KmlFormat.java - es ist nicht so wild.
Reply
#12
(29.11.2010, 19:58)EddiVonDerAlm Wrote: Für die Änderung brauchst Du nicht so viel Java Wissen. Du kannst es ja mal versuchen. Hier steht wie man an den Quellcode kommt.
Gibt es eine Möglichkeit den Quellcode einfach herunterzuladen ohne irgendwelche Software zu installieren? Da könnte ich erst mal mit einem Texteditor in den Quelltext reinschauen.
Reply
#13
(29.11.2010, 23:15)pk68 Wrote: Gibt es eine Möglichkeit den Quellcode einfach herunterzuladen ohne irgendwelche Software zu installieren?

Ja, hier liegt ein ZIP-Archiv mit den 2.1er Quelltexten.
--
Christian
Reply
#14
Wie schon von EddiVonDerAlm vermutet liegt der Schlüssel in der Variablen SPEED_SCALE. In der Datei Kml22Format.java gibt es 4 Routinen, welche darauf zugreifen:
private String getSpeedColorCode(double speed)
private String getSpeedColorName(double speed)
private String getSpeedDescription(double speed)
private List<StyleType> createSpeedTrackColors(float width)

In dem Array SPEED_COLORS sind 14 Farben für die Trackdarstellung definiert, d.h. ab 130 km/h alles in gleicher Farbe.

Die visuelle Anzeige der Geschwindigkeit wird ja über die versteckten Optionen realisiert. Wie wäre es den Parameter SPEED_SCALE als versteckte Option zu realisieren? Ich habe allerdings im Quellcode nicht gefunden, wie die Optionen aus der Registry ausgelesen werden. Wie geht das überhaupt mit Java? Da Java plattformübergreifend ist, hat es mit solchen plattformspezifischen Sachen wie Windows-Registry wenig am Hut. Zumindest stelle ich mir als Java-Laie das so vor.
Reply
#15
Quote:Wie wäre es den Parameter SPEED_SCALE als versteckte Option zu realisieren?
So einfach ist es zur Zeit leider nicht, da auch die Legende fest als Bild hinterlegt ist. Bei einer Änderung müsste das Bild dann auch dynamisch neu erzeugt werden.

Mit der Registry hast Du unter Java nicht direkt zu tun. Du liest und schreibst "einfach" Konfigurationseinstellungen. Diese werden unter jedem Betriebssystem an einer anderen Stelle abgelegt. Unter Windows in der Registry.
Reply
#16
I
(30.11.2010, 09:23)pk68 Wrote: Wie wäre es den Parameter SPEED_SCALE als versteckte Option zu realisieren?

Ich habe gerade eine Vorabversion hochgeladen, die genau dies tut. Allerdings stimmt die Legende dann nicht mehr, wie EddiVonDerAlm bereits angemerkt hat. Aber schau es Dir am Besten selbst an.

(30.11.2010, 09:23)pk68 Wrote: Ich habe allerdings im Quellcode nicht gefunden, wie die Optionen aus der Registry ausgelesen werden. Wie geht das überhaupt mit Java? Da Java plattformübergreifend ist, hat es mit solchen plattformspezifischen Sachen wie Windows-Registry wenig am Hut. Zumindest stelle ich mir als Java-Laie das so vor.

Jein, das geht recht einfach:

Quote: static final Preferences preferences = Preferences.userNodeForPackage(KmlFormat.class);

private int getSpeedScale() {
return preferences.getInt("speedScale", 10);
}

und schon kannst Du plattformunabhängig Voreinstellungen laden. Bei Windows müssen Sie in der Registry stehen:

[HKEY_CURRENT_USER\Software\JavaSoft\Prefs\slash\navigation\kml]
"speed/Scale"="10"
--
Christian
Reply
#17
(01.12.2010, 08:20)routeconverter Wrote: Ich habe gerade eine Vorabversion hochgeladen, die genau dies tut. Allerdings stimmt die Legende dann nicht mehr, wie EddiVonDerAlm bereits angemerkt hat. Aber schau es Dir am Besten selbst an.

Mit der neuen Vorabversion klappt es super. Besten Dank. Das die Legende nicht mehr passt, damit kann ich leben. Gruß Paule
Reply
#18
(04.12.2010, 14:20)pk68 Wrote: Das die Legende nicht mehr passt, damit kann ich leben.

Sonst lösche den Abschnitt:

Code:
<ScreenOverlay>
                <name>Speedbar</name>
                <visibility>false</visibility>
                <Icon>
<href>http://www.routeconverter.de/images/speedbar.png</href>
                </Icon>
                <overlayXY yunits="fraction" xunits="fraction" y="0.01" x="0.0"/>
                <screenXY yunits="fraction" xunits="fraction" y="0.01" x="0.0"/>
                <size yunits="pixels" xunits="pixels" y="0.0" x="250.0"/>
            </ScreenOverlay>
oder ersetze die URL durch eine, die auf eine passende Legende zeigt.
--
Christian
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)