Beiträge von Alphawolf

    Na den Namen Transmigrasi kenn ich doch irgendwoher. :)

    Ich habs auch gerade getestet, und werd es auch installiert lassen. Denn es funktioniert prima bei der eben getesteten Seite.

    Ich wollte eben noch vorschlagen,, dass man Bilder verkleinern können sollte, bis ich merkte, dass es eine Optionsseite gibt. Allerdings suche ich da meist zuerst in den "Einstellungen"-Untermenüs, und nicht im "Plugin"-Untermenü. Vielleicht könnte man das noch verschieben (weiß allerdings nicht, ob andere User auch diese Präferenz wie haben).

    Tja, keine Ahnung, warum der IE das macht. Er nummeriert den Index korrekt durch, also die Link-Ziele lauten openMarker(0), openMarker(1), openMarker(2), etc... nur die Namen würfelt er durch.

    Der Herr Gates hat ja jetzt mehr Zeit. Vielleicht sollte man ihn mal fragen. :-|

    Vielleicht noch eine abschließende Frage: Die Links, die unter der Map angezeigt werden, variieren in der Reihenfolge. Das heißt sie werden nicht in der Reihenfolge ausgelesen, wie sie in der XML Datei eingetragen sind. Kann man das ändern? Wenn nicht ist das nicht tragisch...


    Hmm, das sollten sie eigentlich. :neutral: Die Schleife geht ja vom 0 bis x'ten marker-Tag durch, und zwar von oben nach unten. Muss ich mal testen.

    Du hast vermutlich vergessen, die Variable an die Funktionen zu übergeben, also z.B. so:

    Code
    var label = markers[i].getAttribute("adresse");
    var html = markers[i].getAttribute("adresse");
    var adresse = markers[i].getAttribute("adresse");
    [COLOR="SeaGreen"]var telefon = markers[i].getAttribute("telefon");[/COLOR]
    geoCoding( label, adresse, html, [COLOR="SeaGreen"]telefon[/COLOR] );


    Und dann sowohl in der geoCoding() Funktion als auch in der createMarker() Funktion auch:

    Code
    function geoCoding(name, address, html, [COLOR="SeaGreen"]telefon[/COLOR]) {
    	...
    	var marker = createMarker(point, name, html, [COLOR="SeaGreen"]telefon[/COLOR]);
    	...
    }
    Code
    function createMarker(point,name,html,[COLOR="SeaGreen"]telefon[/COLOR]) {
            ...
            GEvent.addListener(marker, "click", function() {
              marker.openInfoWindowHtml('<b>'+ html +'</b><br />' + [COLOR="SeaGreen"]telefon[/COLOR]);
            });
            ...
    }

    Naja, einige User meinten damals, sie müssten ihr eigenes Ding machen, und betreiben nun unter dem Dach von wordpress.org eine SIE-Version der Sprachdatei. Die Version hier verwendet die DU-Version, was dann auch der Hauptunterschied ist.

    Welche nun "offizieller" ist, sei dahin gestellt. Hängt vorrangig davon ab, ob du eben mit "Sie" oder "Du" angesprochen werden möchtest.

    zu 1.)

    Die Funktkion

    Code
    marker.openInfoWindowHtml([COLOR="Blue"]html[/COLOR]);


    nutzt die Variable [COLOR="Blue"]html[/COLOR], um das InfoWindow mit Inhalten zu füllen, in diesem Fall mit der [COLOR="Green"]Adresse[/COLOR]. Da du aber nur die Adresse dort anzeigen willst, fülle ich die Variable einfach mit der Adresse aus der XML-Datei, also:

    Code
    var html = markers[i].getAttribute("[COLOR="Green"]adresse[/COLOR]");


    Wenn du mehr als die Adresse im InfoFenster aneigen lassen willst, kannst du die Variable auch anders füllen. Du könntest die Zeile z.B. anpassen:

    Code
    var html = markers[i].getAttribute("html");


    und deine XML-Datei anpassen:

    Code
    <marker adresse="Berlin" html="Irgendein weiterer Text" />


    Dann würde im InfoWindow der Wert aus html="Irgendein weiterer Text" genommen werden, anstatt die Adresse aus adresse="Berlin", wie bisher.

    Das Label ist der Linktext zu den Links unter der Karte, die per Klick die InfoFenster in der Map öffnen. Auch hier könntest du die XML-Datei erweitern:

    HTML
    <marker adresse="Berlin" html="Irgendein weiterer Text" linktext="Klick mich" />


    und dann den Code anpassen:

    HTML
    var label = markers[i].getAttribute("linktext");


    Dann würden die Links den Wert aus linktext="Klick mich" haben. Also z.B. <a ...>Klick mich</a>...

    zu 2.)

    Code
    adressen_html += '<a href="javascript:openMarker(' + i + ')">' + name + '</a><br />';


    Da die Funktion in einer Schleife aufgerufen wird, setze ich damit die Adress-Links unter der Map damit zusammen. Bei jedem Schleifendurchlauf wird also ein <a..-Link plus <br/>-Umbruch hinnzugefügt, sodass die Links untereinander stehen.

    Code
    document.getElementById("adressen").innerHTML = adressen_html;


    Und damit "suche" ich das Element mit der id "adressen", also das hier:

    HTML
    <div id="adressen"></div>


    und schreibe die Links dynamisch rein.

    Sieht jetzt alles etwas viel und unübersichtlich aus, ist es aber nicht. :)

    get_posts verursacht seit 2.6 einen Fehler.. zumindest berichten das ein paar User. Nutze stattdessen WP_Query, damit kannst du diverse angepasste Loops an diversen Stellen nutzen. z.B:

    PHP
    <?php $query_loop1 = new WP_Query('category_name=news'); ?>
    
    
    <?php while ($query_loop1->have_posts()) : $query_loop1->the_post();
    the_title();
    the_content();
    endwhile; ?>


    Und an anderer Stelle:

    PHP
    <?php $query_loop2 = new WP_Query('category_name=news2'); ?>
    
    
    <?php while ($query_loop2->have_posts()) : $query_loop2->the_post();
    the_title();
    the_content();
    endwhile; ?>

    Achso, ja klar, natürlich kann man keine Konstante überschreiben. Sonst wärs ja eine Variable... Aber natürlich kannst du die Konstante klonen, mit get_template_directory(), so wird die Konstante von WP selbst definiert.

    So kannst du dir eine eigene TEMPLATEDIR2-Konstante basteln.

    Also ich habe die Code-Teile mal zwecks Übersicht in jew. eigene Funktionen gepackt, damit man die einzelnen Aufrufe (GeoCoding, InfoFenster öffnen, etc.) jeweils getrennt voneinander aufrufen kann. Der Code sieht nun folgendermaßen aus:


    Im DIV 'adressen' werden dann die Adressen aus der XML geschrieben.

    Wichtig ist, dass du den Code innerhalb des <body>-Bereichs schreibst, da ich die "globale" initialize-Funktion (mitsamt onload) entfernt habe, da ich sie ja in einzelne Funktionen aufgesplittet habe, und der JS-Code nicht aufgerufen werden würde, wenn er im <head>-Bereich liegen würde (ohne onload in <body>-Tag).

    Die XML-Datei bleibt unberührt.

    Hoffe, das hilft dir.