//=50){ per_num=50; } per_page=per_num; setCookie('per_page',per_page); //document.cookie="per_page="+per_page+"; expires=Tue, 1-Jan-2030 00:00:00 GMT"; plot_marker(map,cat); } //ページを変更 function change_page(map,cat,num){ set_default_maps(); plot_marker(map,cat,num); } //データを初期化する function set_default_maps(){ //マップを空にする map.clearOverlays(); delete marker_arr; //配列(マーカーを保持) marker_arr=[]; //配列(htmlを生成) htmls = []; //サイドバー等で使用する添え字 j = 0; //サイドバー用の文字列 sidebar_html=""; //ページへのリンクバー link_bar=''; } //ページ読み込み時に行う処理 function load_map(map){ plot_marker(map); //県、市区をGETで渡された場合の初期選択処理 if(get_pref_id){ document.MyForm.elements['address[0]'].selectedIndex=get_pref_id; //市区一覧を取得 _hs_swapOptions(document.MyForm, 'address', 0); } if(get_city_id){ var len = document.MyForm.elements['address[1]'].length; for(var i=0;i'; if(!get_page_id){ document.getElementById("center_area").innerHTML=area_html; document.MyForm.elements['address[0]'].selectedIndex=center_arr["pref_id"]; //市区一覧を取得 _hs_swapOptions(document.MyForm, 'address', 0); //document.MyForm.elements['address[0]'].options[document.MyForm.elements['address[0]'].selectedIndex].value=center_arr["pref_id"]; } } //地域連動型広告を配置 function set_prem_ads(){ var prem_html=''; //alert(prem_html); var page_id=Math.floor(get_page_id); //alert(prem_arr[center_arr["pref_id"]].length); if(prem_arr[center_arr["pref_id"]].length>0){ //var select_num = Math.floor((Math.random() * 100)) % prem_arr[center_arr["pref_id"]].length; var select_num=Math.floor(Math.random()*prem_arr[center_arr["pref_id"]].length); //alert(select_num); prem_html='
'+center_arr["pref_name"]+'のお奨め店舗:'+prem_arr[center_arr["pref_id"]][select_num][3]+''; //alert(select_num); } //alert("bbb"); if(page_id==0){ document.getElementById("prem_area").innerHTML=prem_html; document.getElementById("prem_area").style.background='#ffffcc'; } } // 地図上にマーカーを表示する関数 function plot_marker(map,cat,page){ om.Set('Loading...'); sidebar_html =""; j=0; if(page){ page_num=page; } else{ page_num=1; } //中央位置を取得 get_center_area(map);   // 表示領域情報を取得し、クエリーストリングとしてmap.phpに受け渡す準備   var bound = map.getBounds(); // 表示領域情報を取得 var southWest = bound.getSouthWest(); var northEast = bound.getNorthEast(); // var url='https://salon.kuchihiro.com/map_lib/dmap_ajax.php'; if(cat){ var send_data="&minX="+southWest.lng()+"&minY="+southWest.lat()+"&maxX="+northEast.lng()+"&maxY="+northEast.lat()+"&cat_id="+cat.options[cat.selectedIndex].value; } else{ var send_data="&minX="+southWest.lng()+"&minY="+southWest.lat()+"&maxX="+northEast.lng()+"&maxY="+northEast.lat()+"&cat_id="; } //送信 sendRequest(onloaded,send_data,'GET',url); //コールバック関数 function onloaded(request){ //alert("reload");        var res = request.responseXML;        // XMLのmarkerタグ要素の配列markersを作る        var markers = res.documentElement.getElementsByTagName("marker"); var result_num = res.documentElement.getElementsByTagName("result")[0].getAttribute("num"); var cat_name = res.documentElement.getElementsByTagName("category")[0].getAttribute("name"); //最大表示数より多い場合はマーカーを表示しない if(result_num > 100){ sidebar_html='

該当件数が'+max_num+'件を超えました。
カテゴリを絞るか、縮尺を変更してください。

'; link_bar=""; var map_result_html=''; } else if(result_num == 0){ var map_result_html=""; sidebar_html='

範囲内に教室が存在しません。
カテゴリか地域を変更してください。

'; } else{ var start_num=(page_num-1)*per_page+1; var end_num=(page_num)*per_page; //alert(end_num); if(end_num>result_num){ end_num=result_num; } var map_result_html='
(全'+result_num+'件中'+start_num+'〜'+end_num+'件を表示)'; //ページ数を計算 var total_page=Math.ceil(markers.length/per_page); //alert(total_page); link_bar=''; //前に戻る if((total_page>1)&&(page_num!=1)){ var prev_page=page_num-1; link_bar+=' '; } for(var x=1 ; x<= total_page ; x++){ if(total_page>1){ if(x==page_num){ link_bar+=''+x+' '; } else{ link_bar+=''+x+' '; } } } //次に進む if((total_page>1)&&(page_num!=total_page)){ var next_page=page_num+1; link_bar+=' '; } //document.getElementById("map_view_type").innerHTML ="カテゴリ:"+cat_name+"";        for (var i = 0; i < markers.length; i++) { if((i>=per_page*(page_num-1))&&(i1){ marker.topMarkerZIndex(); } } else if(clinic_array["page_id"]=='4724'){ marker.setImage(d_icon.image); if(result_num>1){ marker.topMarkerZIndex(); } }       }//for }//per_page }//if //alert(map_type); if(map_type!='full'){ // サイドバーのdivを置き換える document.getElementById("sidebar").innerHTML = sidebar_html; //リンクバーを付与する document.getElementById("linkbar").innerHTML =link_bar; //件数を付与する document.getElementById("map_result_num").innerHTML =map_result_html; } om.Clear();     }//callback } // マーカーとinfowindowを作成 function createMarker(point, clinic_array,icon) { //タブのラベル var main_lavel="基本情報"; var sub_lavel="携帯メール"; //マーカー var marker = new PdMarker(point,icon); //premium_map var prem_flag=''; if(clinic_array["page_id"]=='4724'){ //var clinic_url='お店のホームページ'; } else if(clinic_array["c_link"]==2){ //var clinic_url='お店のホームページ'; prem_flag=true; //var label=new ELabel(point, '
'+clinic_array["clinic_name"]+'<\/b><\/div><\/div>', null, GSize(8, 14),100); //var label=new ELabel(point, '
'+clinic_array["clinic_name"]+'<\/b><\/div><\/div>', null, GSize(8, 14),100); var label=new ELabel(point, '
'+clinic_array["clinic_name"]+'<\/b><\/div>', null, GSize(8, 14),100); map.addOverlay(label); setTimeout(function() { label.hide(); }, 2000); marker.showTooltip(); } else{ var clinic_url=""; } var html = '
'; if(clinic_array['image_url']){ html+='

'; //html+='

'; } html+='

'+clinic_array["clinic_name"]+'

'; html+='

'+clinic_array["address"]+'

'; html+='

詳細 | '; html+='店舗HP | '; html+='口コミ

'; html+='

'; html+='
'; //詳細ページでかつ開始状態のときのみポップアップを表示 if(clinic_array["page_id"]=='4724'){ if((map.getCenter().x=='137.349818') && (map.getCenter().y=='34.803768')) { map.openInfoWindowHtml(map.getCenter(),html); } } GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); //marker.openInfoWindowTabsHtml([new GInfoWindowTab(main_lavel,html),new GInfoWindowTab(sub_lavel,sub_html)]); }); marker.setTooltip('
'+clinic_array["clinic_name"]+'
'); marker_arr[j] = marker; clinic_datas[j]=clinic_array; htmls[j] = html; //subhtmls[j]=sub_html; if(prem_flag){ prem_flag='font-weight:bold;'; } sidebar_html += '

' + clinic_array["clinic_name"] + '

'; //alert(sidebar_html); j++; return marker; } function mail_open(j,page_id){ var sub_html='
' +'携帯に店舗情報を送信' +'
' +' ' +'@
' +'' +'' +'
' +'
' +''; var tmp=htmls[j]; tmp+=sub_html; marker_arr[j].openInfoWindowHtml(tmp); } function notice_close(){ document.getElementById("mail_notice").innerHTML=''; } //フォームを閉じる function mail_close(j){ marker_arr[j].openInfoWindowHtml(htmls[j]); } //携帯メールのエラーチェック function mail_check(form){ var msg=''; var end_msg=''; if(form.page_id.value==''){ msg+='・不正な処理です。
'; } if(form.mail_pre.value==''){ msg+='・アドレスが入力されていません。
'; } else if(form.mail_pre.value.length>30){ msg+='・アドレスが長すぎます。
'; } else if(!form.mail_pre.value.match(/^[a-zA-Z0-9._-]+$/)){ msg+='・アドレスが正しい形式ではありません。
'; } if(form.domain_id.value==''){ msg+='・ドメインが選択されていません。
'; } //エラーがある場合 if(msg){ msg='

入力内容に誤りがあります。
'+msg+'

'; //obj=document.getElementById("form_msg"); //obj.style.backgroundColor = "green"; //document.getElementById("info_window").height = "300px"; document.getElementById("form_msg").innerHTML=msg; } //エラーがなかったら送信 else{ document.getElementById("form_msg").innerHTML='メールを送信中'; end_msg=send_mail(form); end_msg+='閉じる'; //document.getElementById("form_msg").innerHTML=end_msg; //cookieに書き込み setCookie('domain_id',form.domain_id.value); setCookie('mail_pre',form.mail_pre.value); document.getElementById("map_mail").innerHTML=end_msg; } } //携帯メールを送信する function send_mail(form){ var msg=''; var page_id=form.page_id.value; var domain_id=form.domain_id.value; var mail_pre=form.mail_pre.value var url='https://salon.kuchihiro.com/map_lib/mobile_send.php'; var send_data='&page_id='+page_id+'&domain_id='+domain_id+'&mail_pre='+mail_pre;   var end_msg; //送信 sendRequest(onloaded,send_data,'GET',url,false); function onloaded(res){ end_msg=res.responseText; } return end_msg; } //右のスライドバーにカーソルを合わせたときの処理 function mymouseover(j) { if(marker_arr[j]){ //if(clinic_datas[j]["c_link"]!=2){ marker_arr[j].setImage("https://salon.kuchihiro.com/image/maps/org3.png"); // change graphic marker_arr[j].topMarkerZIndex(); //} } } //カーソルを離したときの処理 function mymouseout(j) { if(marker_arr[j]){ marker_arr[j].restoreImage(); if(clinic_datas[j]["c_link"]!=2){ marker_arr[j].restoreMarkerZIndex(); } } } //スライドバーをクリックするとinfowindowを開く function myclick(i) { //タブのラベル //var main_lavel="基本情報"; //var sub_lavel="携帯メール"; //marker_arr[i].openInfoWindowTabsHtml([new GInfoWindowTab(main_lavel,htmls[i]),new GInfoWindowTab(sub_lavel,subhtmls[i])]); marker_arr[i].openInfoWindowHtml(htmls[i]); } function resize(){ //画面がリサイズされた var map_obj=document.getElementById(map_id); var disp=getDispSize(); //右メニューの横幅分だけ引く var wid=disp.width-240; if(wid<400){ wid=400; } //下メニューの幅だけ引く var hei=disp.height-120; if(hei<300){ hei=300; } map_obj.style.width=wid+"px"; map_obj.style.height=hei+"px"; return {width:wid+"px",height:hei+"px"}; } function getDispSize(){ if(document.all){ if(window.opera){ return {width:document.body.clientWidth,height:document.body.clientHeight}; }else{ return {width:document.documentElement.clientWidth,height:document.documentElement.clientHeight}; } } // NN else if(document.layers || document.getElementById){ return {width:window.innerWidth,height:window.innerHeight}; } } //]]>