    if (GBrowserIsCompatible()) { 
    var sidebar_html = "";
    var gmarkers = [];
    var desde = []; // From Here
    var hasta = []; // To Here
    var g_spot = []; // Search Nearby
    var htmls = [];
    var i = 0;
      var map = new GMap2(document.getElementById("map"));
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl());
      map.enableScrollWheelZoom();
      map.setCenter(new GLatLng(35.684, 139.750), 13);

       function createMarker(point, name, html) {
	var html = "<div style='white-space: nowrap;'>" + html + "<br /><\/div>";
        var marker = new GMarker(point);

        g_spot[i] = html +
           '<form method="get" action="http://www.google.co.jp/maps" target="_blank">' +
           '<a href="javascript:To(' + i + ')">この駅まで</a> - <a href="javascript:From(' + i + ')">この駅から</a> - <strong>周辺検索</strong>' +
           '<input type="hidden" name="ie" value="UTF8" />' +
           '<br />周辺の<select id="q" name="q" />' +
           '<option value="ホテル" selected="selected">ホテル</option>' +
           '<option value="コーヒー">コーヒー</option>' +
           '<option value="イタリアン">イタリアン</option>' +
           '<option value="中華料理">中華料理</option>' +
           '<option value="寿司">寿司</option>' +
           '<option value="居酒屋">居酒屋</option>' +
           '</select>' +
           '<input type="hidden" id="near" name="near" value="' +
           point.lat() + ',' + point.lng() + "(" + name + ")" + 
           '"/>' +
           '<input type="submit" value="検索" name="btnG" />' +
           '</form>';

        hasta[i] = html +
           '<form action="http://www.google.co.jp/transit" method="get" target="_blank">' +
           '<strong>この駅まで</strong> - <a href="javascript:From(' + i + ')">この駅から</a> - <a href="javascript:Near(' + i + ')">周辺検索</a>' +
           '<br />出発駅:' +
           '<input type="text" size=10 name="saddr" id="saddr" value="" />' +
           '<input type="hidden" name="daddr" value="' +
            point.lat() + ',' + point.lng() + "(" + name + ")" +
            '"/>' +
           '<input value="乗換検索" type="submit">' +
           '</form>';

        desde[i] = html +
           '<form action="http://www.google.co.jp/transit" method="get" target="_blank">' +
           ' <a href="javascript:To(' + i + ')">この駅まで</a> - <strong>この駅から</strong> - <a href="javascript:Near(' + i + ')">周辺検索</a>' +
           '<br />到着駅:' +
           '<input type="text" size=10 name="daddr" id="daddr" value="" />' +
           '<input type="hidden" name="saddr" value="' +
            point.lat() + ',' + point.lng() +"(" + name + ")" +
           '"/>' +
           '<input value="乗換検索" type="submit">' +
           '</form>';

        html = html + '<div><a href="javascript:To('+i+')">この駅まで</a> - <a href="javascript:From('+i+')">この駅から</a> - <a href="javascript:Near('+i+')">周辺検索</a></div>';

        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        gmarkers[i] = marker;
        htmls[i] = html;
        sidebar_html += '<a href="javascript:myclick(' + i + ')">' + name + '<\/a><br />';
        i++;
        return marker;
      }
      function Near(i) { // Near
        gmarkers[i].openInfoWindowHtml(g_spot[i]);
      }
      function From(i) { // From Here
        gmarkers[i].openInfoWindowHtml(desde[i]);
      }
      function To(i) { // To Here
        gmarkers[i].openInfoWindowHtml(hasta[i]);
      }
      function myclick(i) {
        gmarkers[i].openInfoWindowHtml(htmls[i]);
      }

      var request = GXmlHttp.create();
      request.open("GET", "eki.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 eki = markers[i].getAttribute("eki");
            var marker = createMarker(point,eki,html);
            map.addOverlay(marker);
          }
          document.getElementById("sidebar").innerHTML = sidebar_html;
        }
      }
      request.send(null);
      }

