zu 1.)
Die Funktkion
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:
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:
var html = markers[i].getAttribute("html");
und deine XML-Datei anpassen:
<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:
<marker adresse="Berlin" html="Irgendein weiterer Text" linktext="Klick mich" />
und dann den Code anpassen:
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.)
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.
document.getElementById("adressen").innerHTML = adressen_html;
Und damit "suche" ich das Element mit der id "adressen", also das hier:
<div id="adressen"></div>
und schreibe die Links dynamisch rein.
Sieht jetzt alles etwas viel und unübersichtlich aus, ist es aber nicht. :)