[Mapbender-users] permanente Anzeige der Koordinaten

Marc Jansen jansen.marc at gmx.de
Fri Jan 19 11:43:51 EST 2007


lars lingner schrieb:
> Hallo Liste,
>
> ich möchte die Koordinaten (wie im Modul showCoords_div) dauerhaft 
> angezeigt bekommen. Irgendwie komme ich aber nicht weiter.
>
> Die Anzeige der Koordinaten wird bisher durch einen Button aktiviert 
> wodurch der entsprechende Eventhandler mit einer Funktion belegt wird. 
> Andere Module (Pan, Zoom) benutzen den selben Eventhandler und belegen 
> ihn mit eigenen Funktionen.
>
> Meine bisherigen Anpassungen hatten zur Folge das zoomen und 
> verschieben nicht mehr möglich war.
> Jetzt habe ich nach einer Lösung gesucht, die den 
> "Koordinaten-Eventhandler" permanent bindet und je nach Bedarf die 
> anderen Funktionen (Zoom, Pan) wie bisher gebunden werden können. Ich 
> wollte dabei nur das Modul showCoords_div anpassen und nicht auch noch 
> alle anderen die den Eventhandler benutzen.
>
> Ein weiterer Ansatz war, dem mapframe1 ein onmousemove-Attribut zu 
> geben und die Funktion dadurch aufzurufen. Allerdings scheint kein 
> Browser mit dieser Lösung zu funktionieren.
>
> Wie soll ich vorgehen? Gibt es eine Möglichkeit den Eventhandler mit 
> zwei Funktionen zu belegen? Wie muss ich dabei vorgehen?
> Warum funktioniert onmousemove als Attribut von mapframe1 nicht? 
> (andere Events wie onclick und onmouseover gehen)
>
> Vielen Dank schon mal und ein schönes Wochenende wünscht
>
>
> Hello list,
>
> i'd like to show the coordinates permanently and not only if a button 
> is pressed. Other funktions like zoom and pan should work too, even if 
> the the coords are displayed. But I dont get it working.
>
> I tried to modify the functions in showCoords_div but I got some 
> trouble then with other modules (zoom, pan).
>
> I also tried to put an attribute (onmousemove) to the mapframe1 but it 
> never fired (tried different browsers). Other events like onclick and 
> onmouseover are working this way.
>

I' m guessing,but for the browsers there at least two ressources 
fighting for the mouseevent, your normal GUI an the document within the 
iframe. This might explain why some work, others don't.
> How can I get this working? Is there a way to bind two functions to 
> the eventhandler (onmousemove)?
>

Yes. I'm not that deep in this special code but multiple binds to one 
eventhandler should not be a problem:

Inline: <div onclick="firstFunc(); SecondFunc();">

// assigning via javascript:
// get DOM-Reference
var theDiv = document.getElementById('myId');
// save old onclick function
var currentOnClick = theDiv.onclick || false;
if (currentOnClick != false && typeof(currentOnClick) == 'function') {
  // ok, we had a pre existing function
  theDiv.onclick = function () {
    // add the old one
    currentOnClick;
    // add the new one
    newOnClickFunc();
  };
} else {
  theDiv.onclick = function () {
    // only add the old one
    newOnClickFunc();
  };
}

-- marc


More information about the Mapbender_users mailing list