Gerade nochmal gesucht und getestet. Funktioniert einwandfrei:
testxml.html (XXXXX... da gehört der API Key rein)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>GMAPS XML TEST</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" type="text/javascript"></script>
</head>
<body>
<div id="map_canvas" style="width: 500px; height: 500px"></div>
<div id="filialen" style="font-size: 18px; font-weight: bold; color: Green;"><p style="border-bottom-style: dotted; border-bottom-width: 2px; border-bottom-color: Green; width: 500px;">Standorte</p></div>
<div id="adressen"></div>
<script type="text/javascript">
//<![CDATA[
if (GBrowserIsCompatible()) {
var adressen_html = "";
var gmarkers = [];
var i = 0;
// EIGENES MARKERICON
var baseIcon = new GIcon();
baseIcon.image = "http://www.picbutler.de/bild/117940/markerq9lz3.gif";
baseIcon.iconSize = new GSize(64, 64);
baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIcon.shadowSize = new GSize(70, 64);
baseIcon.iconAnchor = new GPoint(30, 50);
baseIcon.infoWindowAnchor = new GPoint(30, 30);
//MARKER ERZEUGEN
function createMarker(point,name,html) {
var marker = new GMarker(point, {icon:baseIcon});
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
map.setCenter(marker.getLatLng(), 14, G_NORMAL_MAP)
});
gmarkers[i] = marker;
adressen_html += '<a href="javascript:openMarker(' + i + ')">' + name + '</a><br />';
document.getElementById("adressen").innerHTML = adressen_html;
i++;
return marker;
}
function openMarker(i) {
GEvent.trigger(gmarkers[i], "click");
}
var map = new GMap2(document.getElementById("map_canvas"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(51.165691,10.451526), 6);
var geocoder = new GClientGeocoder();
var request = GXmlHttp.create();
request.open("GET", "data.xml", true);
request.onreadystatechange = function() {
if (request.readyState == 4) {
var xmlDoc = GXml.parse(request.responseText);
var markers = xmlDoc.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var label = markers[i].getAttribute("adresse");
var html = markers[i].getAttribute("adresse");
var adresse = markers[i].getAttribute("adresse");
geoCoding( label, adresse, html );
}
}
}
request.send(null);
function geoCoding(name, address, html) {
if (geocoder) {
geocoder.getLatLng(
address,
function( point ) {
var marker = createMarker(point, name, html);
map.addOverlay( marker );
map.setCenter();
}
);
}
}
}
//]]>
</script>
</body>
</html>
Alles anzeigen
und die dazugehörige
data.xml
<?xml version="1.0" encoding="utf-8" ?>
<markers>
<marker adresse="Konrad-Adenauer-Platz 14, 40210 Düsseldorf" />
<marker adresse="Schadowplatz 12, 40212 Düsseldorf " />
<marker adresse="Hindenburgstr. 112, 41061 Mönchengladbach" />
<marker adresse="Holzheimer Weg 44, 41464 Neuss" />
</markers>
EDIT: Hier nochmal ein Screenshot, wie das Ergebnis am Bildschirm aussieht. Sollte im etwa das sein, was Du oben gesucht hast: