# (Land-)Karten in Java Anwendung einbinden (GoogleMaps/OpenStreetMap)



## Uli-B (30. Aug 2011)

Hallo zusammen,

ich würde gerne eine Java Swing Applikation schreiben, die Informationen (Wegpunkte und ggf. Routen) auf einer Karte ausgeben soll. Am besten geeignet erschien mir erst der JMapViewer, der das Einbinden von Openstreetmap-Karten gestettet. Vielmehr als Karten anzeigen kann der viewer aber nicht.

Zusätzlich benögtigte Funktionen wären bspw. das Berechnen von Längen- und Breitengraden von angegebenen Ortsnamen oder die Berechnung und Darstellung von Routen.

Auch google Maps bietet da glaube nichts was ich verwenden kann, außer ich programmiere mit dem GWT was ich eigentlich nicht will. Grundsätlich ist es mir egal, ob die Karte in der SWING-App oder im Browser angezeigt wird. 

Hat vieleich jemand irgendwelche Ideen?

Danke und beste Grüße

Uli


----------



## Wildcard (30. Aug 2011)

A new Google Maps Widget for SWT and RAP  EclipseSource Blog


----------



## freez (31. Aug 2011)

Uli-B hat gesagt.:


> Grundsätlich ist es mir egal, ob die Karte in der SWING-App oder im Browser angezeigt wird.



Na dann mach es doch im Browser ... die Google Maps API Google Maps JavaScript API V3 - Google Maps JavaScript API V3 - Google Code bietet all diese Sachen (kostenlos aber nur unter bestimmten Voraussetzungen). Allerdings hat das wenig mit Java zu tun ... das machst du alles mit JavaScript. Man bekommt aber schnell mit Hilfe der Doku sehr gute Ergebnisse, auch wenn man bislang wenig mit JavaScript gemacht hat,


----------



## Uli-B (31. Aug 2011)

Erstmal Danke für eure Antworten.

Prinzipiell würde ich es ja auch sehr gerne im Browser darstellen. Ich weiß nur nicht, wie ich dann den Browser bzw. Google Maps im Browser über meine Java SWING Applikation steuern kann.

Hat hierzu jemand vielleicht ein Beispiel? Im Notfall sehe ich mir mal die RCP Variante a...

Danke und beste GRüße 

Uli


----------



## freez (31. Aug 2011)

Uli-B hat gesagt.:


> Ich weiß nur nicht, wie ich dann den Browser bzw. Google Maps im Browser über meine Java SWING Applikation steuern kann.



Das ist der schwierige Teil. Ich habe dies auch schon mal versuchen wollen, aber da ich das nicht selbst programmieren wollte und es auf dem Markt (meines Wissens) keine ordentlichen libs für die Nutzung in Swing gibt, habe ich es aufgegeben dies mit Swing zu machen. Nun läuft die GUI mittels JSF komplett im Browser.


----------



## Jens81 (31. Aug 2011)

Wenn du mit GoogleMaps arbeiten willst, kannst du die Steuerelemente natürlich auch in JavaScript schreiben und die Karte komplett über den Browser steuern.


----------



## _Andi91 (31. Aug 2011)

für Swing schau mal bei swing-labs vorbei. Da gibt es eine Komponente JXMapViewer bzw. JXMapKit.
Ist relativ einfach und schön zu benutzen.

EDIT: Hab nicht gesehen du hast den MapViewer schon benutzt. Es ist damit aber sehr wohl möglich Wegpunkte etc. einzuzeichnen



> Zusätzlich benögtigte Funktionen wären bspw. das Berechnen von Längen- und Breitengraden von angegebenen Ortsnamen oder die Berechnung und Darstellung von Routen.



Für sowas suchst du dir am besten einen geeigneten WebService.


----------



## freez (31. Aug 2011)

Uli-B hat gesagt.:


> Zusätzlich benögtigte Funktionen wären bspw. das Berechnen von Längen- und Breitengraden von angegebenen Ortsnamen oder die Berechnung und Darstellung von Routen.



Mir fällt dazu noch ein, dass das Android SDK entsprechende Berechnungsmöglichkeiten bieten könnte. jedenfalls gibts da Klassen, die Distanzen und Richtungen zwischen GPS Koordinaten berechnen. Vielleicht ist was dabei (ist OpenSource).

Berechnung und Darstellen von Routen würde die GoogleMapsApi bieten, vorrausgesetzt du willst es mit JavaScript machen.

Wenn du keine Daten aus der Map an deine Swing App liefern musst, dann könnte ich mir schon vorstellen, die Map mittels JavaScript im Browser laufen zu lassen. Aufrufen kannst du den Browser ja aus deiner Swing App und Daten kann man glaub ich über den URL an JavaScript übergeben. Die HTML Datei dazu kann ja lokal liegen.


----------

