function initialize() {
if (GBrowserIsCompatible()) { 
var sidebar_html = "";
var gmarkers = [];
var htmls = [];
var i = 0;
var map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl3D());
map.addControl(new GMenuMapTypeControl(true, false));
map.addMapType(G_PHYSICAL_MAP);
map.addMapType(G_SATELLITE_3D_MAP);
map.setCenter(new GLatLng(50.453648,30.503873), 6);

function createMarker(point, name, html) {
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); });
gmarkers[i] = marker;
htmls[i] = html;
sidebar_html += '<li><a href="javascript:myclick(' + i + ')">' + name + '<\/a><\/li>';
i++;
return marker;
}
this.myclick = function(i) {
gmarkers[i].openInfoWindowHtml(htmls[i]);
} 

var request = GXmlHttp.create();
request.open("GET", "index.xml", true);
request.onreadystatechange = function() {
if (request.readyState == 4) {
var xmlDoc = request.responseXML;
var markers = xmlDoc.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var lat = parseFloat(markers[i].getAttribute("lat"));
var lng = parseFloat(markers[i].getAttribute("lng"));
var point = new GLatLng(lat,lng);
var html = markers[i].getAttribute("html");
var area = markers[i].getAttribute("area");
var marker = createMarker(point,area,html);
map.addOverlay(marker);
}
document.getElementById("sidebar").innerHTML = sidebar_html;
}
}
request.send(null);
}
}