2010-11-18 12 views
9

Ich muss ein Diagramm mit vielen Knoten zeichnen, und ich dachte, dass eine Benutzeroberfläche wie das, was Google Maps bietet, schön sein könnte, um das Diagramm zu navigieren. Ich verwende derzeit Java für meine Anwendung (eine Webanwendung): Welche Technologien/Bibliotheken sollte ich verwenden, um eine Schnittstelle wie Google Maps zu erstellen? Welcher Ansatz?Wie erstelle ich eine Benutzeroberfläche wie Google Maps (eine ziehbare Karte)?

edit: Ich bin in erster Linie daran interessiert, eine verschiebbare Karte mit Zoomfunktionen
edit2 bei der Schaffung von: Ich bin nicht für die exakte Lösung des Problems suchen, aber aus irgendeinem Ausgangspunkt

+1

ist Was genau verstehen Sie unter „Schnittstelle“ bedeuten. Die Karte ziehen und verschieben? Die netten Knöpfe? Die Blasen? Die Nachschlagesuche? Die Navigationsleiste? –

+0

Hauptsächlich die Drag-and-move-Karte und der Zoom in/out – cdarwin

+4

Java ... JavaScript .... Auto ... Teppich. –

Antwort

5

Kennen Sie sich mit OpenLayers? Es ist JavaScript-Kartenvisualisierungsbibliothek. Kombiniert mit etwas wie OpenStreetMap, können Sie einige sehr leistungsstarke Visualisierung mit Daten kostenlos bekommen.

1

Werfen Sie einen Blick auf Polymaps, speziell die Unterstützung für Vektordaten über geoJSON. Es ist eine Javascript-Bibliothek, die die gesamte Slippy-Map-Oberfläche erledigt: Zoomen, Scrollen und Laden neuer Abschnitte der Karte über HTTP. Es macht SVG, so sieht es gut aus und funktioniert in jedem Browser außer MSIE vor 9.0.

Es ist ein bisschen komisch, ein geographisches Werkzeug zu benutzen, um beliebige Graphen zu zeichnen, aber es ist völlig machbar. Die Mandlebrot example ist ein Proof of Concept.

0

Ich war erfolgreich mit modestmaps für Processing (finden Sie here). Ein Verarbeitungs-PApplet kann wie in here erläutert in eine Swing-GUI eingebettet werden. Ich nehme an, Sie könnten die Quelle verwenden, um Ihr Diagramm in der Verarbeitung zu zeichnen, und dann die bereits implementierten "slippy map" -Features verwenden.

6

Wenn Sie umfangreiche Daten anzeigen möchten, besteht ein Ansatz darin, eine interaktive Schnittstelle zu erstellen, mit der der Benutzer in Ihren Daten navigieren kann. Höherer Zoom, mehr Details.

Ein Beispiel für Google Maps wie Schnittstelle für andere Zwecke zoompy

Verwandte Themen