 //<![CDATA[

var iconA = new GIcon(); 
iconA.image = 'http://www.google.com/mapfiles/markerA.png';
iconA.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
iconA.iconSize = new GSize(18, 30);
iconA.shadowSize = new GSize(22, 20);
iconA.iconAnchor = new GPoint(6, 20);
iconA.infoWindowAnchor = new GPoint(5, 1);

var customIcons = [];
customIcons["A"] = iconA;


function load() {
  if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(52, 19), 6);

GDownloadUrl("data.xml", function(data) {
  var xml = GXml.parse(data);
  var markers = xml.documentElement.getElementsByTagName("marker");
  for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("name");
var address = markers[i].getAttribute("address");
var type = markers[i].getAttribute("type");
var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var marker = createMarker(point, name, address, type);
map.addOverlay(marker);
  }
});
  }
}

function createMarker(point, name, address, type) {
  var marker = new GMarker(point, customIcons[type]);
  var html = "<b>" + name + "</b> <br/>" + address;
  GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html);
  });
  return marker;
}
//]]>