if (GBrowserIsCompatible()) { 
var side_bar_html = "";
var gmarkers = [];
var htmls = [];
var ii = 0;

var map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl3D());
map.addControl(new GMenuMapTypeControl(true, false));
map.addMapType(G_PHYSICAL_MAP);
map.setCenter(new GLatLng(49.15297,30.234375), 2); 

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

function readMap(url) {
GDownloadUrl(url, function(data, responseCode) {
if(responseCode == 200) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
map.getInfoWindow().hide();
map.clearOverlays();
gmarkers = [];
side_bar_html="";
var bounds = new GLatLngBounds();
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);
bounds.extend(point);
}
map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
document.getElementById("sidebar").innerHTML = side_bar_html;
} else if(responseCode == -1) {
alert("タイムアウトエラーです。再試行してください");
} else { 
alert("エラーです");
}
});
}
}