OpenLayer + OSM + Punkte aus DB anzeigen --> projections...

Hallo,

Bin neu hier und habe schon gleich mein erstes Problem:

Ich frage meine Datenbank Postresql/Pgis/pgroute nach bestimmen Punkten ab und lasse diese dann mit st_asText quasi konvertieren und bekomme einen WKT Kompatiblen ausdruck.
Wenn ich diesen Punkte richtig interpretieren POINT(9.2, 47.3) als Bsp, dann habe ich die Lon und Lat Koordinaten gegeben.

Wenn ich diesen Punkt nach dem WKT Beispiel für OL2.6 eingebe funktioniert alles gut aber es ist auch eine Openlayers WMS Karte geladen.
http://dev.openlayers.org/releases/OpenLayers-2.6/examples/wkt.html

Sobald ich die Zeile (Openlayers.layer.osm…) einfüge quasi die Openstreetmap Daten lade dann verschwinden meine Punkte.

Wo ist das Problem?
Hat jemand eine bessere Lösung um pgSQL Daten abzufragen und darzustellen in Openstreetmap. Es muss aber Ajax kompatibel sein. mit XML/KML/GML geht das ja nicht, weil Openlayer explizit eine Datei laden will. Stream reicht nicht.

Gruss Martin

Spricht etwas dagegen einen WFS Server aufzusetzen? Also quasi WMS für Vektoren?

Es geht eigentlich darum ein Openlayer zu initialisieren mit der Openstreetmap karte.
Auf die Openstreetmap karte soll dan ein Polygon projeziert werden aus der DB.

WFS sehe ich als etwas overkill. Alles was ich will ist ein Polygon mit gegebenen Punkten auf eine Openstreetmap Karte zu zeichnen. Ich denke es liegt an Projections.

Hat jemand Democode?

Gruss

Schau mal hier rein:
http://php-baustelle.de/openlayers/step-by-step/
Step 12.
Die Daten für das Polygon stehen direkt in Java Skript ( so ab Zeile 12 in diffs to previous )

Danke. Aber da bin ich schon lange durch.

Wie wandle ich ein WKT am besten um? Also projection->displayProjection

Ich bekomme Koordinaten im WGS84 Format und dann gehts nicht weiter. Das Problem hatte ich am Anfang mit KML und GML auch aber nach der .transformation() ist das vom Tisch.
Aber alle meine Transformationsansätzte für einen WKT stream scheinen zu scheitern!

Gruss Martin

Vielleicht zu Fuß transformieren:

	var point = setToMercator(lng,lat);  
   	feature[ind] = new OpenLayers.Feature(markerLayer, new OpenLayers.LonLat(point[0],point[1]));


function setToMercator(lon, lat) {
x = parseFloat(lon);
y = parseFloat(lat);
var PI = 3.14159265358979323846;
x = x * 20037508.34 / 180;
y = Math.log (Math.tan ((90 + y) * PI / 360)) / (PI / 180);
y = y * 20037508.34 / 180;
return new Array(x,y);
}