    ///////////////////////////////////////////////////////////////////////////
    //google map
    ///////////////////////////////////////////////////////////////////////////
    var map;
    var icon;
    var ne_glat // 表示範囲北東頂点座標
    var sw_glat // 表示範囲南西頂点座標
    var clickflg = 0;
    var htmlstr;
    var pageMaxNum = 20; //１ページに表示する件数
    var maxRec     = 0;  //検索件数
    var msdat;           //おみせデータ
    var g_rdPage;        //現在のページ
    var mk = new Array();

    
   
    //アイコンの設定
    icon = new GIcon();
    icon.image = "./image/o.png";
    icon.iconSize = new GSize(20, 22);
    icon.iconAnchor = new GLatLng(10, 11);
    icon.infoWindowAnchor = new GLatLng(10, 11);
    function googlemap_init(){
        map = new GMap2(document.getElementById("map"));
        map.addControl(new GLargeMapControl()); 
        map.addControl(new GMapTypeControl()); 
        map.setCenter(new GLatLng(38.260019380893496, 140.88214874267578), 14, G_NORMAL_MAP); //仙台駅
        getNewsGlatlng(1);
        //イベント登録
        //GEvent.addListener(map, "moveend", getNewsGlatlng);
        GEvent.addListener(map, "click", windowopen);
    }
    
    //表示域頂点座標を求める
    function getNewsGlatlng(page){
        if(clickflg == 0){
            map.clearOverlays();
            getMapData(page);
        }
        clickflg = 0;
    }

    //データを読み込む処理
    function getMapData(page){//

        httpObj = createXMLHttpRequest(readData);

        if(httpObj){
            sw_glat = map.getBounds().getSouthWest();
            ne_glat = map.getBounds().getNorthEast();
            //alert(sw_glat.lat()); //緯度
            //alert(ne_glat.lat());
            //alert(sw_glat.lng()); //経度
            //alert(ne_glat.lng());

            //var uri = "./mapadressx.php?s_lat=" + sw_glat.lat() + "&n_lat=" + ne_glat.lat()
            //                        + "&w_lng=" + sw_glat.lng() + "&e_lng=" + ne_glat.lng();


            var areaDat   = document.omisesearch.area.value;
            var gyosyuDat = document.omisesearch.gyosyu.value;
            var keywdDat  = encodeURI(document.omisesearch.keywd.value);
            var areaflg   = document.omisesearch.areaflg.value;
            
            g_rdPage  = page;
            
            var uri = "./mapadress2.php?page="    + page          + 
                                      "&area="    + areaDat       + 
                                      "&gyosyu="  + gyosyuDat     + 
                                      "&keywd="   + keywdDat      +
                                      "&s_lat="   + sw_glat.lat() + 
                                      "&n_lat="   + ne_glat.lat() + 
                                      "&w_lng="   + sw_glat.lng() + 
                                      "&e_lng="   + ne_glat.lng() + 
                                      "&areaflg=" + areaflg;

            //alert(uri);

            //document.getElementById("test").innerHTML = uri;
            //alert(uri);
            httpObj.open("GET", uri, true);
            httpObj.send(null);
        }

    }

    //おみせデータを読み込む処理
    function readData(){
        if((httpObj.readyState == 4) && (httpObj.status == 200)){
            //document.getElementById("test").innerHTML = "OK";
            //alert(httpObj.responseText);
            //document.getElementById("test").innerHTML = httpObj.responseText;

            msdat = parseTabText(httpObj.responseText);

            //ページデータを出力
            putPageDat(); 
        }else{
            //document.getElementById("test").innerHTML = "<b>Loading...</b>";
        }
    }
    

    //お店データを表示する処理
    function putPageDat(){
        var msDatHtml = "";
        if(msdat[0][5]){ //msdat[0][5] 検索結果件数
            maxRec = msdat[0][5];
            //表示する最初のレコード
            var sttrec     = (g_rdPage - 1) * pageMaxNum;
            var viewMaxRec = msdat.length; //表示件数
            var endrec     = g_rdPage * pageMaxNum;
            if(endrec > maxRec){endrec = maxRec;}

            document.getElementById("kekkah").innerHTML = "検索結果: <span>" + msdat[0][5] + "</span> 件" ;

             //ページコントロール部（上）
            msDatHtml += "<div class=\"pagectrl\">";

            if((g_rdPage - 1) != 0){
                msDatHtml += "<a href=\"#kekkah\" onclick='getNewsGlatlng(" + (g_rdPage - 1) + ")'> 前へ </a> | ";
            }else{
                msDatHtml += " <span>前へ</span> | ";
            }

            msDatHtml += (sttrec + 1) + "～" + endrec + "件" ;

            if(endrec < maxRec){
                msDatHtml += " | <a href=\"#kekkah\" onclick='getNewsGlatlng(" + (g_rdPage + 1) + ")'> 次へ </a>";
            }else{
                msDatHtml += " | <span>次へ</span> ";
            }
            
            msDatHtml +=  "</div>"

            
             //データ表示部
            for(var i = 0; i < viewMaxRec; i++){
                 //地図上にマーカーを追加する処理
                 mk[i]        = new GMarker(new GPoint(msdat[i][2], msdat[i][1]), icon);
                 mk[i].id     = msdat[i][0];
                 mk[i].lat    = msdat[i][1];
                 mk[i].lng    = msdat[i][2];
                 mk[i].name   = msdat[i][3];
                 mk[i].photo  = msdat[i][4];
                 map.addOverlay(mk[i]);

               var photo_str = "";
               if (msdat[i][4].length > 0){
                    photo_str = "<img src=\"." + msdat[i][4] + "_s.jpg\">";
                }else{
                    photo_str = "<img src=\"./noimage.jpg\">";
                    //photo_str = "";
                }
                if(!(i%2)){
                    msDatHtml +="<div class=\"msdat\">" ;
                }else{
                    msDatHtml +="<div class=\"msdat\" style=\"background:#f5f5f5\">" ;
                }
                
                msDatHtml +="<a href=\"javascript:void(0)\" onclick='omiseclick(" + i + ")' >"
                          + photo_str
                          + "<\/a>"
                          + "<div class=\"mstitle\">" 
                          + "<a href=\"javascript:void(0)\" onclick='omiseclick(" + i + ")' >"
                          + msdat[i][3] 
                          + "<\/a>"
                          + "<\/div>"
                          + "<a href=\"javascript:void(0)\" onclick='omiseclick(" + i + ")' >"
                          + "<span>"
                          + msdat[i][6] + msdat[i][7] + "<br>"
                          + msdat[i][8]
                          + "<\/span>"
                          + "<\/a>"
                          + "<\/div>";
                
            }
            
             var areaflg   = document.omisesearch.areaflg.value;
             if(areaflg == 0){
                 //すべてのマーカーが表示できるように自動的にズームレベルを変える
                 //端を求める(lat)
                 for(i=0;i<msdat.length;i++){
                    if(i == 0){
                        latMin = msdat[0][1];
                        latMax = msdat[0][1];
                    }
                    if(latMin > msdat[i][1]){latMin = msdat[i][1]}
                    if(latMax < msdat[i][1]){latMax = msdat[i][1]}
                 }
                 //端を求める(lng)
                 for(i=0;i<msdat.length;i++){
                    if(i == 0){
                        lngMin = msdat[0][2];
                        lngMax = msdat[0][2];
                    }
                    if(lngMin > msdat[i][2]){lngMin = msdat[i][2]}
                    if(lngMax < msdat[i][2]){lngMax = msdat[i][2]}
                 }
                 
                 //alert(lngMax);
    
                 //中心点を求める
                 latCenter = (parseFloat(latMin) + parseFloat(latMax)) / 2;
                 lngCenter = (parseFloat(lngMin) + parseFloat(lngMax)) / 2;
                 
                 var rectObj = new GLatLngBounds(new GLatLng(latMin,lngMin), new GLatLng(latMax,lngMax));
                 map.setZoom(map.getBoundsZoomLevel(rectObj));
                 map.panTo(new GLatLng(latCenter, lngCenter));
            }
             

             //ページコントロール部(下)
             if(viewMaxRec > 10){
                msDatHtml += "<div class=\"pagectrl2\">";
    
                if((g_rdPage - 1) != 0){
                    msDatHtml += "<a href=\"#kekkah\" onclick='getNewsGlatlng(" + (g_rdPage - 1) + ")'> 前へ <\/a> | ";
                }else{
                    msDatHtml += " 前へ | ";
                }
    
                msDatHtml += (sttrec + 1) + "～" + endrec + "件" ;
    
                if(endrec < maxRec){
                    msDatHtml += " | <a href=\"#kekkah\" onclick='getNewsGlatlng(" + (g_rdPage + 1) + ")'> 次へ <\/a>";
                }else{
                    msDatHtml += " | 次へ ";
                }
                
                msDatHtml +=  "<\/div>"
            }

        }else{
            document.getElementById("kekkah").innerHTML = "検索結果:<span>0<\/span>件" ;
            msDatHtml += "<div class=\"pagectrl\">該当なし<\/div>";
        }
        
        document.getElementById("omiserec").innerHTML = msDatHtml;
    }



    //タブ区切りテキストを解析して表示
    function parseTabText(tabText){
        var LF = String.fromCharCode(10);
        var TAB = String.fromCharCode(9);
        lineData = tabText.split(LF);
        var parseData = new Array();
        for(var i=0; i< lineData.length; i++) parseData[i] = lineData[i].split(TAB);
        return parseData;
    }
    
    
    //マーカーをクリックする処理
    function windowopen(marker, point){
        //alert(marker.idx);
        if(marker){
            if(marker.id){
               if(marker.photo != ""){ 
                    photo = "<br><img src='." + marker.photo + "_s.jpg'>"
                }else{
                    photo = "";
                }
                htmlstr  = "<div class='mapwindow'><a href='./shop/" + 
                                                             marker.id + "' target='_blank'>" + 
                                                             marker.name + 
                                                             photo + 
                                                            "<br><span>（ここをクリックすると新しいウィンドウで開きます）<\/span>" +
                                                            "<\/a><\/div>";
            map.panTo(new GLatLng(marker.lat, marker.lng));
            //map.setCenter(new GLatLng(marker.lat, marker.lng));
            //clickflg = 1;
            setTimeout(function () {map.openInfoWindowHtml(new GLatLng(marker.lat, marker.lng), htmlstr)}, 50);
            }
        }
    }
    
    function omiseclick(mkno){
        if(mk[mkno]){
            if(mk[mkno].photo != ""){ 
                photo = "<br><img src='." + mk[mkno].photo + "_s.jpg'>"
            }else{
                photo = "";
            }
            htmlstr  = "<div class='mapwindow'><a href='./shop/" + 
                                                         mk[mkno].id + "' target='_blank'>" + 
                                                         mk[mkno].name + 
                                                         photo + 
                                                        "<br><span>（ここをクリックすると新しいウィンドウで開きます）<\/span>" +
                                                        "<\/a><\/div>";
        map.panTo(new GLatLng(mk[mkno].lat, mk[mkno].lng));
        //map.setCenter(new GLatLng(mk[mkno].lat, mk[mkno].lng));
        //clickflg = 1;
        setTimeout(function () {map.openInfoWindowHtml(new GLatLng(mk[mkno].lat, mk[mkno].lng), htmlstr)}, 50);
        }
    }
    
    function mapResize(){
        myN6 = document.getElementById; // ブラウザ(N6)のチェック用
        myIE = document.all;            // ブラウザ(IE)のチェック用
        myN4 = document.layers;         // ブラウザ(N4)のチェック用

        var mapPos       = getElementPosition("map");  //マップの表示位置を取得
        //alert(mapPos.left + " " + mapPos.top);
        var mapHeight    = 500; //初期値 500
        var footerPos       = getElementPosition("footer");  //フッターの表示位置を取得
        var footerHeight    = footerPos.height + 10;
        //alert(footerPos.left + " " + footerPos.top + " " + footerPos.height);
        if(myIE){
            mapHeight = document.documentElement.clientHeight - mapPos.top - footerHeight  + "px";
        }else if(myN6){
            mapHeight = innerHeight  - mapPos.top - footerHeight + "px";
        }else if(myN4){
            mapHeight = innerHeight  - mapPos.top - footerHeight + "px";
        }
        
        document.getElementById("map").style.height   = mapHeight;
        document.getElementById("kekka").style.height = mapHeight;
        
        
        map.checkResize();
    }
    
    function getElementPosition(element) {
        var offsetTrail  = (typeof element == 'string') ? document.getElementById(element) : element;
        var offsetLeft   = 0;
        var offsetTop    = 0;
        var offsetHeight = 0;
    
        if(offsetTrail.offsetHeight){
            offsetHeight = offsetTrail.offsetHeight;
        }

        while (offsetTrail) {
            offsetLeft   += offsetTrail.offsetLeft;
            offsetTop    += offsetTrail.offsetTop;
            //alert(offsetTrail.offsetHeight + " " + offsetTrail.offsetTop);
            offsetTrail  =  offsetTrail.offsetParent;
        }
    
        if (navigator.userAgent.indexOf('Mac') != -1 && typeof document.body.leftMargin != "undefined") {
            offsetLeft   += document.body.leftMargin;
            offsetTop    += document.body.topMargin;
        }
        
    
    
        return ({left: offsetLeft, top: offsetTop, height:offsetHeight});
    }

    
    ///////////////////////////////////////////////////////////////////////////
    //google map end
    ///////////////////////////////////////////////////////////////////////////
    

