... the user friendly GPS tool


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Leider ist die Karte nur 30 Pixel hoch
#1
Rolleyes 
Hi Christian,
ich versuche d ie neueste Version 1.29 vom 12. August '09 vom RouteConverter unter OpenSuse 11.1 64Bit (KDE 4.3.2) zum laufen zu bringen. Klappt alles prima (beeindruckend) nur einen kleine Bug habe ich:
Die Karte ist in der Darstellung nur 30 Pixel hoch (siehe Screenshot) Sad
Ich habe mir den Log unter /tmp/RouteConverter.log aber nichts Auffälliges gefunden. Dann habe ich die von Dir generierte HTML-Datei (/tmp/routeconverter/routeconverter.html) in Firefox (unter OpenSuSE und Win XP) und Konqueror angeschaut und dort ist die Karte auch nur 30 px hoch.
Also scheint mit dem Generieren dieser Datei was schief gegangen zu sein.

Wie kann ich die volle Karte zu Gesicht bekommen?

Viele Grüße
Arne


Attached Files Thumbnail(s)
   

.html   routeconverter.html (Size: 8.89 KB / Downloads: 890)
Reply
#2
(10.10.2009, 19:46)dasarne Wrote: ich versuche d ie neueste Version 1.29 vom 12. August '09 vom RouteConverter unter OpenSuse 11.1 64Bit (KDE 4.3.2) zum laufen zu bringen. Klappt alles prima (beeindruckend) nur einen kleine Bug habe ich:

Hallo Arne,

danke für den Hinweis, das Problem beschäftigt mich schon eine Weile.

(10.10.2009, 19:46)dasarne Wrote: Die Karte ist in der Darstellung nur 30 Pixel hoch (siehe Screenshot) Sad
Ich habe mir den Log unter /tmp/RouteConverter.log aber nichts Auffälliges gefunden. Dann habe ich die von Dir generierte HTML-Datei (/tmp/routeconverter/routeconverter.html) in Firefox (unter OpenSuSE und Win XP) und Konqueror angeschaut und dort ist die Karte auch nur 30 px hoch.

Das Kartenmodul ruft per JavaScript die Funktion resize() auf, das die Karte stets auf die Größe bringt/bringen soll, die der Karte aufgrund der aktuellen Fenstergröße und Platzverteilung im Fenster zur Verfügung steht. Leider funktioniert das nur im Internet Explorer - unter Linux und Mac OS X wird WebKit für die Kartenkomponente verwandt und da klemmt es irgendwo in der Initialisierungsphase der Karte. Leider weiß ich nicht genau wo - EclipseSWTMapView ist das Stichwort.

(10.10.2009, 19:46)dasarne Wrote: Wie kann ich die volle Karte zu Gesicht bekommen?

Indem Du mir hilfst, den Bug zu finden. Bitte schau mal in diesen Thread, dort wird anhand eines kleinen Testprogramms versucht, einer Lösung näher zu kommen.
--
Christian
Reply
#3
Hallo Christian,
als erstes habe ich einfach mal die Zeile
Code:
<a href="#" onclick="resize(600,600);" >test</a>
hinter das map-Div gehängt, das wird im RouteConverter ohne Problem ausgeführt. Dann habe ich einen alert in die Resize-Funktion eingefügt und dabei folgendes Festgestellt:
Das Problem liegt daran, das die Methode nicht aufgerufen wird. Der Alert erscheint erst, wenn ich meinen test-Link aufrufe.
Also scheint die Methode executeJavaScript so (wenigstens unter Linux) nicht zu funktionieren. Das ist dann auch im weiteren das Problem. In der auf 600x600 vergrößerten Karte ließe sich ja bereits vortrefflich Arbeiten. Nur leider wird keine Route angezeigt.
Ich stecke nun leider (noch) nicht so richtig in der Materie. Aber eine Google-Code-Suche ergab erstmal zwei Treffe, die Dir als Beispiel dienen könnten.
Schau mal hier.

Viele Grüße
Arne
Reply
#4
(11.10.2009, 21:30)dasarne Wrote: Das Problem liegt daran, das die Methode nicht aufgerufen wird. Der Alert erscheint erst, wenn ich meinen test-Link aufrufe.
Also scheint die Methode executeJavaScript so (wenigstens unter Linux) nicht zu funktionieren.

Ich glaube schon, daß sie funktioniert - nur nicht zuverlässig. Such mal in EclipseSWTMapView nach tryToInitialize und schau Dir das Gehampel an, daß ich dort veranstalte, um nach dem Laden von routeconverter.html weiter mit der Initialisierung zu machen. Aus irgendeinem Grunde funktioniert das mit dem IE wunderbar, aber unter Linux und Mac OS X nur manchmal.

Ein guter Startpunkt für Deine Versuche könnte das BrowseTest2Linux.jar sein - da habe ich versucht, das alles aufs Wesentliche zu reduzieren:
  • laden einer HTML-Datei
  • warten auf den Callback vom Browser, daß die Datei geladen wurde
  • JavaScript auf dem Browser aufrufen

Dieser sehr reduzierte Testaufbau funktioniert unter Linux und Mac OS X bereits nicht. Du findest ihn im in branches/eclipseswt-djnative/browsertest.
--
Christian
Reply
#5
Ich arbeite mit w2k und hatte das gleiche Problem. Wenn ich in
/temp/routeconverter.html in

function resize(x, y) {
var div = document.getElementById("map");
div.style.width = x + "px";
div.style.height = 600 + "px";
}
für die Höhe fest 600 eintrage funktioniert es bei mir.

PS: Das erste Programm mit dem sich Tracks vernünftig bearbeiten
lassen. Danke für die tolle Arbeit.

Thomas
Reply
#6
(22.10.2009, 21:38)thomasFRU Wrote: Ich arbeite mit w2k und hatte das gleiche Problem.
Das ist leider genau das Problem: Die darunter liegende Technik funktioniert leider nur unter Windows. Unter Linux bringt Dein Trick leider nichts, weil man so zwar mehr Karte sieht, es aber dennoch nicht funktioniert.
(22.10.2009, 21:38)thomasFRU Wrote: Das erste Programm mit dem sich Tracks vernünftig bearbeiten
lassen. Danke für die tolle Arbeit.
Das sehe ich genauso.

Viele Grüße
Arne
Reply
#7
(23.10.2009, 08:57)dasarne Wrote: Das ist leider genau das Problem: Die darunter liegende Technik funktioniert leider nur unter Windows. Unter Linux bringt Dein Trick leider nichts, weil man so zwar mehr Karte sieht, es aber dennoch nicht funktioniert.

Die darunter liegende Technik klingt etwas irreführend: das Zusammenspiel von
  • HTML-Dokument
  • JavaScript im HTML-Dokument
  • Initialisierungsreihenfolge in (Base,Eclipse)MapView.java
  • JavaScript, das in den (Base,Eclipse)MapView.java erzeugt wird
funktioniert nur mit dem Internet Explorer. Wie man im Code sehen kann, versuche ich die Karte unter Linux anders zu initialisieren, aber die JavaScript-Kommandos kommen nicht (immer) an.
--
Christian
Reply
#8
(23.10.2009, 10:21)routeconverter Wrote: funktioniert nur mit dem Internet Explorer. Wie man im Code sehen kann, versuche ich die Karte unter Linux anders zu initialisieren, aber die JavaScript-Kommandos kommen nicht (immer) an.
Hallo Christian,
genau das ist das Problem, ich habe den Source durch gesteppt. Es endet damit, das ein Signal an die native Komponente geschickt wird. Da kommt sie leider nicht an. Auch die Beispiele vom "The DJ Project" funktionieren nicht.
Ich habe mich noch ein bisschen umgesehen. Vergleichbare Projekte habe ich leider auch nicht gefunden.
Hast Du das Problem schon mal im Forum von Denen gepostet?

Viele Grüße
Arne
Reply
#9
(23.10.2009, 12:53)dasarne Wrote: Hast Du das Problem schon mal im Forum von Denen gepostet?

Ich hatte mit dem Autoren vom DJ Project, Christopher Deckers, Kontakt. Leider findet meine Suche die letzte EMail gerade nicht. Eigentlich gar keine EMail aus dem Archiv Sad

Ich habe gerade mal im Hilfe-Forum gestöbert und folgenden Thread gefunden:
http://sourceforge.net/projects/djprojec...ic/3413297

Quote:You also need to avoid Java 1.6u10-14 as they have some issues. Moreover, if you use Java 1.6u14+, you need to use DJ Native Swing 0.9.9 (a preview can be downloaded) if it is not already the case.

Könnte einen Versuch wert sein.
--
Christian
Reply
#10
(23.10.2009, 14:00)routeconverter Wrote: Könnte einen Versuch wert sein.

Du hast ein großes Herz für Linux (und wahrscheinlich Mac) -User ;-)
Viele Grüße
Arne
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)