openstreetmap in kundenprojekt nutzen mit daten die aus DB kommen

Hallo Leute,

ich bin ganz nue und frisch was es angeht mit Karten umzugehen.

Ich habe ein Kundenprojekt und da sollen Benutzer die Möglichkeit haben Einrichtungen anhand einer Kartensuche finden zu können.

Meine Fragen nun dazu, da ich wahrscheinlich zu blöd war das im WIKI zu finden.

Kann ich Openstreetmap dazu nutzen?
Wie kann ich mit Daten aus einer Mysql Datenbank in einer Openstreetmap Karte arbeiten?
Welche Daten muss ich denn speichern in der Datenbank um effektiv mit Openstreetmap arbeiten zu können?

Vielen herzlichen Dank für die Beantwortung meiner Fragen.

Mfg Lit-Web

Hallo Lit-Web, willkommen bei OpenStreetMap :slight_smile:

Also willst du nur Daten über OSM legen? Wenn es eine Webapplikation ist, dann nutzt du dafür am besten die OpenLayers JS Bibliothek und bindest deine Daten über einen Vektor layer ein. Der kann dann entweder mit einem generierten KML bedient werden oder du baust da ein kleines PHP für oder wenn es sehr viele Daten werden kannst du auch einen WFS Server aufsetzen und die Daten ausliefern lassen.

Für eine Native Anwendung würde ich da mal nach fertigen Komponenten schauen:
http://wiki.openstreetmap.org/wiki/Develop/Frameworks

P.S. ich nehme mal an, du bist Daniel von http://www.lit-web.de ?

Hallo und danke für deine Antwort.
Und ja der Daniel von da bin ich.

Mein Problem grad ist das ich noch nie mit so einer Kartensache arbeiten musste. Ich kann zwar in einem gewissen Rahmen Javascript sowie Ajax etc. und auch PHP ist kein Ding.

Meine Fragen die ich noch habe, wie kann ich die OSM da auf dem Websiteprojekt einbinden und vor allem wie kann ich es erreichen das von den da angemeldeten Kunden die Ortsmarkierung erscheint und wenn man da drauf klickt das dieses kleine Infofenster erscheint. Die Daten die in dem kleinen Infofenster sieht kommen auch aus der Datenbank.

Für ein kleines Beispiel oder so wäre ich sehr dankbar.

Vielen Dank Mfg Lit-Web

Für Suche in den OSM Daten kannst Du die API von nominatim nutzen.

hmm am besten schau doch mal hier http://wiki.openstreetmap.org/wiki/Maps und überlege dir was für Bestandteile du brauchen könntest. So richtig wissen wir ja gar nicht worum es geht :wink:

Willst du nur Marker auf die Karte legen oder eine komplett eigene Karte darstellen? Willst du nach Straßen suchen oder sogar routen?

Hallo ihr,

naja das ist wie gesagt für ein Kundenprojekt. Da können sich Kunden mit ihrem Restautant eintragen und dazu eben Daten wie PLZ und Ort. Auch andere Daten sollen da noch dazu kommen, diese bekomme ich aber noch vom Auftraggeber.

Das heißt das auf der Karte die Restaurantstandorte angezeigt werden sollen. Diese Daten stehen alle in einer Datenbank. Wenn man dann mit der Maus auf so Icon drauf geht dann soll sich so ein kleines Dingens da öffnen mit Infos, diese Infosachen bekomme ich aber noch.

War das so besser und verständlicher ausgedrückt?

Danke für eure Hilfe

Ah ok ja jetzt ist der Groschen gefallen :slight_smile:

Also wenn es nicht zu viele Restaurants sind (ich sage mal einfach <200) dann kannst du dir einen Exporter für deine DB schreiben, der z.B. KML Dateien erzeugt. Das Ganze wäre von der Programmierung her wie diese Karte http://usergroups.openstreetmap.de

Wenn es aber mehr werden, wirst du wohl einen Server schreiben, der immer nur die Restaurants im aktuellen Sichtbereich zum OL Client schickt. Da wäre ein gutes Beispiel www.wheelmap.org

Ich denke am besten wäre es, wenn du am Besten erst mal eine OL Karte nur mit OSM baust und dich dann mit diesen Beispielen beshcäftigst um zu lernen, wie man POIs als Extralayer drüber legt.

Dann hast du wieder zwei Möglichkeiten. Wenn es wenige Objekte sind kannst du die quasie mit Openlayers mitschicken und sie werden beim Betrachter auf die Karte gesetzt. Diese Datei kann man mittels Php auch aus der Datenbank erstellen.
Allerdings dauert das bei vielen Objekten sehr lange und der Browser wird träge. Daher kann man die Symbole auch in die Karte Rendern. Dafür solltest du aber einen eigenen transparenten Layer nehmen, da es sonst Lizenzprobleme gibt. Diesen Layer musst du natürlich auch aktuell halten. Also ohne Server mit Rendering wird das nur schwer zu schaffen sein.
Danach kannst du mit Openlayers auswerten wohin geklickt wurde (koordinaten) Dann kannst du abfragen ob da ein Objekt ist und falls nicht ob er ein neues einfügen möchte. Diese Objekt musst du dann in die Datenbank jagen und daraus neue Kacheln berechnen.
Alternativ kannst du auch einen WMS Server nehmen, der dir live aus den Daten das Bild rechnet. Aber das ist nicht gerade anspruchslos. Kommt dann auch darauf an wieviele zugreifen. Ob der Server das schafft.