    //<![CDATA[

    //変数宣言
    var geocoder, map_canvas;
    var txt = "";
    var marker_cnt = 0;
    var icon_image = [ "Icon_A", "Icon_B", "Icon_C", "Icon_D", "Icon_E", "Icon_F", "Icon_G", "Icon_H" ];

    //テンプレートのマーカーを作成
    var baseicon = new GIcon();
    //baseicon.shadow = "img/shadow50Small80.png";
    //baseicon.iconSize = new GSize(16, 27);
    baseicon.iconSize = new GSize(32, 32);
    baseicon.shadowSize = new GSize(30, 28);
    baseicon.iconAnchor = new GPoint(8, 27);
    baseicon.infoWindowAnchor = new GPoint(5, 1);

    //メイン関数
    function initialize() {
      if (GBrowserIsCompatible()) {
        var init_pos = new GLatLng(33.501, 130.676); //福岡県
        var init_zoom = 8;
        map_canvas = new GMap2(document.getElementById("map_canvas"));
        map_canvas.setCenter(init_pos, init_zoom);

        //デフォルトのUI設定を取得
        var uiOpts = map_canvas.getDefaultUI();
        //地図サイズが小さい
        map_canvas.setUI(uiOpts);

        //GClientGeocoderのインスタンスを作成
        geocoder = new GClientGeocoder();

        //GxmlHttpクラスのインスタンスを作成(複数マーカー処理)
        request = GXmlHttp.create();
        //getメソッドでサーバーからXMLを取得するように設定
        request.open("GET", "drivers_data.xml", true);
        //コールバックの設定
        request.onreadystatechange = onReadyStateChange;
        //リクエストの実行
        request.send(null);
      }
    }

    //地名→緯度経度変換処理(検索用)
    function doGecoding(form){
      var address = form.address.value;
      if (address) {
        geocoder.getLatLng(address, procGeocoding);
      }
    }

    //Googleからの緯度経度を処理
    function procGeocoding(latlng) {
      if (latlng === null) {
        alert("見つかりませんでした");
      } else {
        //alert(latlng);
        map_canvas.setCenter(latlng, 13);
        var marker1 = new GMarker(latlng);
        map_canvas.addOverlay(marker1);
        //緯度経度ふきだし表示
        //marker1.openInfoWindowHtml(latlng.toString());
      }
    }

    //プルダウンメニューから表示を変更する
    function showInfoWnd(form) {
      var init_pos,init_zoom;
      switch (form.type.value) {
        case "default":
          init_pos = new GLatLng(33.501, 130.676); //福岡県
          init_zoom = 8;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "fukuoka_ken":
          init_pos = new GLatLng(33.501, 130.676); //福岡県
          init_zoom = 8;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "fukuoka_shi":
          init_pos = new GLatLng(33.596318, 130.402221); //福岡市
          init_zoom = 10;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "fukuoka_shi_higashi_ku":
          init_pos = new GLatLng(33.6426219, 130.4336567); //福岡市東区
          init_zoom = 12;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "fukuoka_shi_hakata_ku":
          init_pos = new GLatLng(33.5867647, 130.4247935); //福岡市博多区
          init_zoom = 12;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "fukuoka_shi_tyuuou_ku":
          init_pos = new GLatLng(33.5868119, 130.3940752); //福岡市中央区
          init_zoom = 12;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "fukuoka_shi_minami_ku":
          init_pos = new GLatLng(33.5534223, 130.4179654); //福岡市南区
          init_zoom = 12;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "fukuoka_shi_jyounan_ku":
          init_pos = new GLatLng(33.5574674, 130.3714335); //福岡市城南区
          init_zoom = 12;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "fukuoka_shi_sawara_ku":
          init_pos = new GLatLng(33.5622537, 130.3456607); //福岡市早良区
          init_zoom = 12;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "fukuoka_shi_nishi_ku":
          init_pos = new GLatLng(33.5780971, 130.2998451); //福岡市西区
          init_zoom = 12;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "kutakyusyu_shi":
          init_pos = new GLatLng(33.882957, 130.880126); //北九州市
          init_zoom = 10;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "kutakyusyu_shi_moji_ku":
          init_pos = new GLatLng(33.9170688, 130.9567923); //北九州市門司区
          init_zoom = 12;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "kutakyusyu_shi_kokurakita_ku":
          init_pos = new GLatLng(33.8802262, 130.8774327); //北九州市小倉北区
          init_zoom = 12;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "kutakyusyu_shi_kokuraminami_ku":
          init_pos = new GLatLng(33.8320045, 130.9015041); //北九州市小倉南区
          init_zoom = 12;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "kutakyusyu_shi_wakamatsu_ku":
          init_pos = new GLatLng(33.9030602, 130.7737623); //北九州市若松区
          init_zoom = 12;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "kutakyusyu_shi_yahatahigashi_ku":
          init_pos = new GLatLng(33.8661981, 130.8113537); //北九州市八幡東区
          init_zoom = 12;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "kutakyusyu_shi_yahatanishi_ku":
          init_pos = new GLatLng(33.8506762, 130.7442116); //北九州市八幡西区
          init_zoom = 12;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        case "kutakyusyu_shi_tobata_ku":
          init_pos = new GLatLng(33.8951191, 130.8303979); //北九州市戸畑区
          init_zoom = 12;
          map_canvas.setCenter(init_pos, init_zoom);
          break;
        //case "dreamland":
        //  init_pos = new GLatLng(35.632385, 139.881695); //東京ディズニーランド
        //  init_zoom = 14;
        //  map_canvas.setCenter(init_pos, init_zoom);
        //  break;
      }
    }

    //複数フラグ表示処理
    //ステート(状況)が変化したら呼ばれるので、読み込みが完了したら
    //XMLを解析して、追加する
    function onReadyStateChange () {
      if (request.readyState === 4) {
        //alert("test");
        //レスポンスをXMLとして取得
        var xmlDoc = GXml.parse(request.responseText);
        //markerノードを取得(複数あるので配列になる)
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");

        //1つずつマーカーにしていく
        for (var i = 0; i < markers.length; i++) {
          var mpoint = new GLatLng(
              markers[i].getAttribute("lat"),
              markers[i].getAttribute("lng")
          );
          var drivers_address = "住所を特定できません。";

          //DBにデータがある場合のみ表示する
          if(markers[i].getAttribute("address")) {
            map_canvas.addOverlay(makeMarker(mpoint, i));
            drivers_address = markers[i].getAttribute("address");
            txt += '\n' + "<li class=\"" + icon_image[i] + "\"\">" + drivers_address;
          }
        }
        // 住所出力
        document.getElementById("result").innerHTML = txt;
      }
    }

    //アイコンの付け替え
    function makeMarker(point, iconIdx){
      //マーカーを作成
      var markerIcon = new GIcon(baseicon);
      //markerIcon.image = "img/"+iconIdx+".png";
      markerIcon.image = "img/Map/"+icon_image[iconIdx]+".png";
      //alert(markerIcon.image);
      var marker = new GMarker(point, { icon:markerIcon });

      return marker;
    }
    
    GEvent.addDomListener(window, "load", initialize);
    GEvent.addDomListener(window, "unload", GUnload);
    //]]>

