OpenLayers: Marker mit Popup verknüpfen

Hi, ich möchte einen einfachen Marker mit einem Popup erweitern. Irgendwie funktioniert das aber nicht da meine Callback Funktion clickCity() nicht aufgerufen wird. Kann jemand bitte drüber schauen? Ich sitz hier schon ne Stunde und finde den Fehler nicht.


function jumpToCity(lat,lon)
    {
        if(mCity) markers.removeMarker(mCity);
         var pos=new OpenLayers.LonLat(lon, lat);
         pos.transform(proj4326, projmerc);
         //mCity=new OpenLayers.Marker(pos);        
         map.setCenter(pos, 13);
        feature = new OpenLayers.Feature(pois[0], pos);
        mCity = feature.createMarker();        
        markers.addMarker(mCity);
        mCity.events.register("mousedown", mCity, cityclick);

    }


function cityclick(evt) {
            if (popup == null) {
                popup = feature.createPopup(true);
                popup.setContentHTML("<div style='background-color:red; width:150;height:100'><a href='http://www.somethingconstructive.net' target='_blank'>click me</a></div>");
                popup.setBackgroundColor("yellow");
                popup.setOpacity(0.7);
                markers.map.addPopup(popup);
            } else {
                popup.toggle();
               }
            OpenLayers.Event.stop(evt);
        }        


Mir wurde bereits gesagt das die Vektorlayer besser sind, aber ich würde gerne auch verstehen was ich falsch mache :confused:

hi,

ich habe so etwas ähnliches gebaut, bei mir sieht es so aus :

mymarker.feature = feature;

var markerClick = function(evt) {

if (this.popup == null) {
this.popup = this.createPopup(this.closeBox);
map.addPopup(this.popup);
this.popup.show();
} else {
this.popup.toggle();
}
OpenLayers.Event.stop(evt);
};

mymarker.events.register(“mouseover”, feature, markerClick);

ich benutze eine inner function (oder wie immer das in JavaScript genannt wird.

Grüße

Michael

Ich kenne es nur so, dass mit dem Marker auch gleich das Pop-up definiert wird.
siehe z.b. http://php-baustelle.de/openlayers/step-by-step/ Step 11

Danke Leute ich schau da noch mal nach. Ich habe es mit den “neuen” Vektorlayern nun gemacht und funktioniert auch sehr gut. Ist bloß halt ein wenig kompliziert da sich die Doku und die Tuts da nicht so richtig auskäsen :wink:

prima,
das mit der eh bescheidenen “doku” ist beim vector noch schlimmer, da das zeug relativ frisch ist. aber gut, dass es läuft.
guss
walter