Marker der sich mitbewegt beim move

Hallo,

ich hätte in meiner Map gerne einen Marker der zu jeder Zeit im Map Center liegt. Also soll er auch direkt beim draggen mitverschoben werden.
Ich hab es so probiert:

		   
map.events.register("move", map , function(){
    marker.lonlat = new OpenLayers.LonLat(map.center.lon, map.center.lat);
    layer_general_markers.drawMarker(marker);
});

Leider führt dies nicht zum gewünschten Effekt sondern eher dazu das die Map unkontrollierbar wird sobald man beginnt sie zu verschieben.
Hat jemand eine bessere simplere Idee? Kann man einen Marker vielleicht fixed anlegen, das er dieses Verhalten ohne event automatisch besitzt?

LG,
Stefan

Schau Dir mal das hier an:

http://dbsgeo.com/latlon/

Es basiert auf dem Google-Javascript-API, aber die Technik ist trivial und auch fuer OpenLayers nutzbar (schau in den Seitenquelltesxt): Das Fadenkreuz ist einfach per CSS fix ueber die Karte gelegt. Es ist also kein echter “Marker”, sondern einfach nur ein Designelement. Da der Marker aber per Definition immer am “Map Center” ist, kann man seine Position natuerlich trotzdem jederzeit auslesen.

Bye
Frederik

]Nahmd,

Du suchst keinen Marker, sondern ein Control.

Ein Marker hat per Definitionem eine geographische Position (lat/lon) und ist bei Openlayers in einem

gelagert, das beim Pan der Karte mit verschoben wird. Ein Control ist dagegen in einem div gelagert, das nicht verschoben wird (Viewport).

Du kannst in Deiner Seite in einem

Deinen “Marker” erstellen (auch mit Text und allem, was HTML so hergibt) und den mit einem Control in die Karte einbinden. Der Marker bleibt natürlich auch in der Mitte der Karte, wenn Du sie kleiner oder größer machst.

Das kann dann zum Beispiel so aussehen.

Gruß Wolf

Super, ich danke euch beiden vielmals! :slight_smile: