Marker Label Javascript Event?

Hallo zusammen,

kurze Frage, ich durch stupides herumprobieren nicht weiter kam:

Ich platziere einen Marker und weise ein Label zu, z.B. durch folgendes Beispiel:

markerstyle = {};
                              markerstyle ={
                              externalGraphic: 'bild.png',
                              graphicXOffset:-17,
                              graphicYOffset:-55,
                              graphicWidth:33,
                              label: 'Testlabel',
                              labelYOffset: 35, 
                              labelXOffset:11, 
                              labelAlign: 'lb',
                              fontSize: '24px',
                              fontColor: 'red',
                              fontWeight: 'bold',
                              fontFamily: 'Verdana',
                              fontOpacity: 0.7,
                              labelOutlineColor: 'white',
                    
                              };

Dies erzeut ein wunderschönes Label wie gewünscht.
Nun würde ich aber “irgendwie” diesem Label ein Javascript Event zuweisen, z.B. onMouseOver und damit eine Funktion aufrufen. Kann man einem Label ein solches Event zuweisen und wenn ja, wie könnt dies umgesetzt werden?

Danke fürs Lesen und für eventuelle Vorschläge :wink:

Boris

Hi, also dem Label selber wüßte ich nicht. Was allerdings geht, sind die normalen OnSelect Events des Features (Markers) http://dev.openlayers.org/docs/files/OpenLayers/Control/SelectFeature-js.html
Du könntest da auch tricksen, indem du einen eigenen Layer nur für die Textlabels machst.

Das neue 2.12 (oder zumindest Dev) kennt auch die feature.title Eigenschaft wieder, mit der man normale Tooltiptexts setzten kann, die erst beim hovern erscheinen.

sag sonst einfach mal, was du vor hast, vielleicht gibt es da ja noch einen eleganteren Weg?

Vielen Dank schon einmal für deine Rückmeldung.

Ganz konkret “zeichne” ich folgendermaßen einen kleinen Punkt auf die Karte.


markerstyleOutside1 = {fillColor: color_1, pointRadius: 15,fillOpacity: 0.4,strokeColor: color_1, strokeWidth:2,strokeOpacity: 1.0};
markerOutside1 = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(x,y).transform(map.displayProjection,map.projection),null,markerstyleOutside);

Zur Zeit blende ich noch ein Label ein in Verbindung mit dem title, der beim hoovern Zusatzinformationen anzeigt.
Mein Wunsch oder vielmehr mein Ziel wäre etwas wie ein onMouseOver beim Geometry.Point, der dann Javascript Funktion xyz() ausführt, um z.B. Werte in einem div Container zu ändern o.ä.