Bestimmte POIs aus OSM in eigener Karte anzeigen lassen

Hallo,
ich möchte eine Karte auf einer Webseite anzeigen lassen, die alle in OSM hinterlegten Rettungspunkte (highway=emergency_access_point) anzeigt.

Hierzu habe ich wie hier beschrieben eine Kartenseite erzeugt: http://wiki.openstreetmap.org/wiki/DE:Karte_in_Webseite_einbinden

Ich habe allerdings noch keinen Weg gefunden, die Rettungspunkte einzublenden…

Ich muss vermutlich einen neuen Layer im JS-Code anlegen:

layer_markers = new OpenLayers.Layer.xxx

Aber wie mache ich das? Meine Suche in der Doku und im Forum brachten mich bisher nicht weiter…

Danke und Gruß

Markus

Hmm ja da brauchts ein wenig mehr. Erstmal must du die Punkte aus OSM rausbekommen (dafür die XAPI am besten nutzen) und diese Könnte man dann ja z.B. in eine KML Datei umwandeln und die mit JS bei OpenLayers als neue Ebene laden.
Am besten dazu mal in die Doku von Openlayers schauen.

Das ist aber nur die billige Lösung, normalerweise nutzt man da PHP und eine Datenbank auf der Serverseite :wink:

wie !i! schon sagt, würde auch ich XAPI hierfür empfehlen. Für die Benutzung von XAPI, schaust Du am Besten ins Wiki.

Hallo,
Danke für die schnellen Antworten! Ich werde mir die Doku zur XAPI jetzt mal ansehen.

Viele Grüße

Markus

Ich weiß nun nicht genau wieviele Punkte das sind (willst du das für ganz Deutschland/Welt?). Wenn es zuviele sind, dürfte eine dynamische Lösung mit AJAX/PHP/Datenbank am sinnvollsten sein, sonst muss der Browser zuviel auf einmal laden.

hi !

das ist ein gutes thema für eine allgemeine diskussion vielleicht.

auf der täglichen zugfahrt kam ich mit einigen reisenden über osm ins gespräch und am ende meinte einer - ist ja alles schön und gut aber wo kann ich die poi sehen???

da hat er nicht ganz unrecht. mache karten werden so angeboten wie der entwickler meint - oder man bastelt selber.

am schluss meinte er nur es wäre klasse man könnte in einem baum zusammenklicken was man sehen will und dann definiert man den bereich und schon wird die karte mit den gewünschten inhalten aktuell generiert.

sicherlich muss man bei angeboten immer irgendwo abstriche machen - aber mal grundsätzlich wäre das vielleicht ein schritt nach vorne.

… eure gedanken und ideen ???

gruß Jan :slight_smile:

Ja sowas hatte ich auch schon mal überlegt, wäre ne super Sache. Quasi ein verallgemeinertes OpenLinkMap (die ich technologisch für sehr gut erachte).
Super wäre auch eine OpenHeatMap um thematische Karten zu machen z.B. Dichte von Einkaufsmöglichkeiten usw.

Nur ist das ganze ebend nicht soooo trivial und auch das anlegen der Presets für die einzelnen Objektklassen macht viel Arbeit :frowning: Außerdem gibt es ja auch noch den OpenStreetBrowser und wenn der erst mal gut läuft wäre das shcon ein großer Schritt.
Das ganze hätte dann immernoch das Problem dass nicht wenige Freatures gar nicht offziell proposed wurden und dann macht es das ganze natürlich nicht so einfach…

Hallo,

ich bekomme irgendwie keine Info-Mails, wenn hier neue Beiträge verfasst wurden, obwohl ich das Thema abonniert habe… Komisch…

Ich habe jetzt mal einen Extrakt der Rettungspunkte von folgender Seite in eine Textdatei erzeugt und als Layer in die Karte integriert:

http://www.faveve.uni-stuttgart.de/~troll/OSM/

Das Problem dabei: die Beschreibung und Titel der Daten würde ich gerne etwas anders machen. Da bleibt die Frage: wenn ich per XAPI einen Export aller Rettungspunkte mache, erhalte ich eine XML-Datei. Wie integriere ich diese XML-Datei als Layer mit OpenLayers in die Karte? Funktioniert das mit OpenLayers.Layer.Vector? Wie kann ich dann entscheiden, welchen Text er in der Popup-Box mit den Detailinfos hinterlegt?
Ich würde gerne aus der OSM-Datenbank die Koordinaten und als Titel den Namen des Rettungspunktes (z.B.: “MTK-123”) herausholen.

Und noch eine (hier etwas OT) Frage: wie kann ich eine laufend aktualisierte Koordnaten-Anzeige aktivieren, wie es in der OpenStreetMap.de-Karte vorhanden ist? (also Anzeige der Koordinate, wo sich der Mauszeiger gerade befindet).
@edit: das war ja relativ einfach:
var MausPosition = new OpenLayers.Control.MousePosition();
MausPosition.prefix = "GPS-Koordinaten: ";
Und dann der Map beim Anlegen des Objektes übergeben:
map = new OpenLayers.Map(‘map’, {
projection: new OpenLayers.Projection(“EPSG:900913”),
displayProjection: new OpenLayers.Projection(“EPSG:4326”),
controls: [
new OpenLayers.Control.MouseDefaults(),
new OpenLayers.Control.LayerSwitcher(),
new OpenLayers.Control.PanZoomBar(),
MausPosition],

Zum generellen: ich kenne es von meinem Navigon Navi oder auch vom “POI-Warner” so, dass ich aus allen vorhandenen POI-Kategorien diejenigen auswählen kann, die er anzeigen soll. Das ist eine gute Sache.

Ich hatte (als Anfänger) die Erwartung, dass ich bei einer eigenen Karte online auf die OSM-Datenbank zugreifen kann und dann einfach festlege, welche POIs er wie anzeigt. Dass es so kompliziert würde, habe ich nicht vermutet.

Das Hinterlegen eines Textfiles ist natürlich eine wenig elegante Lösung, weil Änderungen in der OSM-Datenbank nicht automatisch übernommen werden.

Viele Grüße

Markus

Das hier wird dir bestimmt gefallen, denn es ist genau was du suchst:

http://poitools.openstreetmap.de/map

Der link muss http://poitools.openstreetmap.de/ sein.

Im Prinzip sehr gut, aber die Daten sind ca. 1 Monat alt!

also ich kannte das noch garnicht, denke ein höheres Update Intervall ist nicht unbedingt DAS Problem