ich als Anfänger habe folgendes vor wobei ich mich leider etwas schwer dabei tu.
Ich möchte gern eine Karte erstellen mit Stadtteilen und Markern für die jeweiligen Wachen der Freiwilligen Feuerwehren.
Nun habe ich inzwischen eine Karte mittels “OSM SlippyMap Generator” erstellt und habe Marker hinzugefügt.
Das sieht auch soweit gut aus. Ich verwende auch ein eigenes Icon, was ich erstellt habe und beim Klick erscheint die Adresse der Wache.
Nun hätte ich gern noch im Hintergrund die einzelnen Stadteile markiert. Ich nehme an, ich muss dafür eine Ebene erstellen und benötige die Koordinaten der einzelnen Stadtteile.
Ich habe versucht mir einiges zu ergoogeln, aber das Thema ist recht komplex und ich habe das Gefühl das hier verschiedene Techniken verwendet werden, die nicht zusammen funktionieren.
Wenn Ihr vielleicht ein kleines Beispiel für mich habt, wie ich einen zusätzlichen Layer mit Koordinaten in mein Javascript einfüge, sodass etwas wie ein Stadtteil markiert werden kann?
Dann bekomme ich den Rest bestimmt hin.
Du wirst mit solchen Instant-Lösungen wie dem Generator schnell an Grenzen stoßen, das merkst Du auch grad. Ich denke einfachste wird sein wenn Du Dir einen (oder zwei) KML-Layer machst wo alles drin ist was Du haben möchtest und den auf eine OSM-Basiskarte mit OpenLayers lädst: http://dev.openlayers.org/examples/sundials.html
Wäre auch per Leaflet mögliche, siehe z.B. http://www.osmhydrant.org/de/ … dort wird aktuell je eine Ebene für Entnahmestellen und für Feuerwachen dargestellt
Die größte Schwierigkeit wird wohl eher sein, den “Stadtteil” zu ermitteln/anzuzeigen, v.a. dann, wenn keine richtigen admin-levels gepflegt sind.
Und weil schon jeder für was anderes Werbung gemacht hat: umap kann sowas auch. Die Grenzen wurden mit OSM Boundaries als geojson exportiert und in die umap importiert. Die Marker dann in umap dazugesetzt. Passende Beschriftungen für die Marker habe ich mir gespart. Die Beschriftung der Bezirksteile kommt aus den exportierten Grenzen.
Kommt uMap denn inzwischen mit Multipolygonen (den “echten” mit Inner und Outer) zurecht? Laut meinen letzten Informationen brauchen sie von Leafletjs die Version 1.x und die ist noch nicht raus.
Gebiete mit Löchern scheinen ok zu sein, Exklaven mag umap nicht. Habs grad mit Stadt (hat Exklaven) und Landkreis (hat diese Exklaven als Löcher) München ausprobiert.
@Frank: Willst du das als Online-Dienst so wie bei umap? Oder willst das bei dir auf der Homepage selber programmieren (“OSM SlippyMap Generator” deutet darauf hin…)?
ich habe mir Eure Vorschläge angesehen. Openfiremap und OSMhydrant sind mir zu umfangreich. Ich hätte gern nur die Infos zu meiner Stadt.
Den Vorschlag von Moenk habe ich bersucht zu verstehen (habe mir den Quelltext angesehen etc.) aber da steige ich einfach nicht durch.
Mit Umap habe ich herum probiert. Das funktionier für meinen Zweck schon sehr gut. Der Nachteil wird sein, dass ich hier nur ein externes Tool habe, was ich per Iframe einbinden muss.
Bzgl. des Generators: Der speichert die zuvor getroffenen Einstellungen doch auch nur als HTML/Javascript. Ich dachte man kann dieses JS einfach um einen oder zwei weitere Layer erweitern und hier die Ortsgrenzen hinzufügen?
Das geht schon. Das Problem ist, dass der Generator eine sehr alte OpenLayers Version verwendet und der generierte Code mit der aktuellen nicht laufen wird. Und z.B. ich persönlich möchte mich damit nicht mehr herumschlagen.
Ansonsten würde es generell schon helfen, wenn man Deinen aktuellen Stand online einsehen könnte oder Du zumindest hier den generierten JS-Teil posten könntest.
Die Grenzen sind aus den oben genannten OSM Boundaries exportiert. Solange keine Exklaven im Spiel sind, sollte das gehen. Exportiert wurden sie mit der Option “single”, dann sind alle Grenzen in einer Datei. Das einzige, was man dann noch mit der Datei machen muss, ist das Wort “bezirke=” an den Anfang vor die geschweifte Klammer zu schreiben. Dann kann man nämlich die Datei einfach mit <script …> einbinden, ohne komplizierte Abfragen machen zu müssen (für json-Daten aus fremden Quellen nicht empfohlen…). Den Layer mit den Grenzen kann man dann erinfach mit “L.geoJson(bezirke).addTo(map);” einbinden.