wenn man eine Karte hat, auf der sehr viele Marker eingezeichnet sind… Kann man das mit openlayers so einstellen, daß z.B. 10 Marker bei einer bestimmten Zoomstufe zu einem anderen Symbol zusammengefaßt werden? Kann man alternativ das Nachladen bestimmter Marker nach Zoomstufe einstellen?
Brauche ich einen eigenen Rootserver um das laufen zu lassen, oder reicht es, die Verzeichnisstruktur auf meinen Webserver hochzuladen? Gibt es eine Anleitung, wie ich OLM verwende, oder reicht es, wenn ich den Source-Code vom Haltestellen-Beispiel anpasse?
Was heißt, bei Dir läuft es auch aus der Verzeichnisstruktur? Wo liegen dann Deine Daten für die Marker?
In der Readme steht was von einer hstore Datenbank. Das würde dann aber schon einen richtigen Server benötigen, oder?
Leider hat mir der Entwickler auf meine Frage hin nicht geantwortet…
== Welche Datenbank(en) wird/werden verwendet? ==
verwendet wird die hstore Datenbank für die Popupdetails von nicht-OLM Objekten
für die Markerpositionen wird eine verkürzte Datenbank olm-list verwendet
für die Details und den Import wird die Datenbank olm benötigt
aber eins muss dir klar sein: irgendwie müssen die Daten irgendwoher in irgendeinem Format herkommen, damit OL die darstellen kann.
Und dafür gibt es hunderte von Verfahren.
einfach: kleine Text-Datei auf dem Webserver (dürfe in etwa dem oben angesprochenem ähneln)
komplexer: osm-Daten downloaden, mit entsprechenden Filtern verarbeiten und in eine kleine Datei schreiben.
noch komplexer: postgresql-DB auf einem lokalen Server, der mit SQL-Abfragen die dynamischen Daten am OL sendet.
die DB wird durch minütliche Online-Updates mit OSM synchron gehalten
dazwischen gibt es noch verschiedene Abstufungen, die davon abhängen, woher die Daten genau kommen (OSM oder nicht OSM) und wieoft die aktualisiert werden sollen.
Fang einfach mal mit nen Text-Datei (csv-Format?) an und dann kommt der Rest fast wie von selbst.
ok, jetzt ist mir das schon klarer. Da ich vermutlich “nur” 100-500 Marker einbinden möchte, reicht wohl für mich erstmal eine txt/cvs-datei.
Wie kann ich herausfinden, in welcher Ordnung bzw. Reihenfolge die Daten (Texte in Popupboxen und Koordinaten) in die txt/cvs geschrieben werden müssen? Kann ich auch auch html-code in die Popups einbinden? Gibt es da ein Beispiel oder eine Anleitung wie eine solche Textdatei aussehen könnte?
Wo hast du denn bereits gesucht? Bei openlayers exampels wird man leider in der Angelegenheit nicht fündig. Aber hier gab es jemand, welcher die meisten deiner Probleme schon mal gelöst hat. Damit habe ich auch angefangen: http://www.netzwolf.info/kartografie/openlayers/
@viw
ok, danke, das sieht gut aus. Aber der Netzwolf hat leider nichts zum Thema Zusammenfassung von vielen Markern. Ich hab jedenfalls nichts dergleichen gesehen.
Das hat er nicht, aber ich habe das so verstanden, dass du überhaupt erstmal die Dinger darstellen willst. Das zweite ist dann clustern. Dazu gibts ein Example bei openlayers.
Also Beispiele finden sich bei http://openlayers.org/dev/examples/ schon, Stichworte: “Marker”, “POI” oder “Text” und fürs Zusammenfassen “Cluster”.
Auch im Wiki auf der Openlayers Seite gibt es POI und Marker Beispiele.
Die Beispiele auf Basis von Layer.Text oder Layer.Markers sind aber wohl veraltet und sollten durch Layer.Vector ersetzt werden, siehe OpenLayers Doku. Hier wird allerdings Layer.GML verwendet, das inzwischen ebenfalls als deprecated markiert ist, statt “Layer.GML” müsste man aber einfach “Layer.Vector” schreiben können.
Vermutlich ist es am einfachsten, erst überhaupt mal die Marker darstellen zu können und danach das Clustering einzubauen.
Mit “Bei mir” meinte ich die reine Darstellung der Hintergrundkarte, also ohne Marker und Clustering.
Die hstore Datenbank wird bei olm benutzt, weil die anzuzeigenden Daten direkt aus der lokalen OSM-Datenbank gelesen werden. Wenn deine extrenen Daten in einem anderen Format vorliegen, brauchst du dafür natürlich keine OSM-Datenbank.