var ZdcEmapAjaxSelectShop = 0; var ZdcEmapCondType = new Array(); var ZdcEmapCondVal = new Array(); var ZdcEmapCondOpts = new Array(); var ZdcEmapCondGroup = new Array(); var ZdcEmapCondAndOr = new Array(); var ZdcEmapCondAppend = new Array(); //------------------------------------------------------------- // 拠点検索関係 //------------------------------------------------------------- var ZdcEmapNearShop = new ZdcNearShop(); var ZdcEmapSearchPoint = null;//検索した位置を保持 var ZdcEmapSearchScale = null;//検索した縮尺を保持 var ZdcEmapSearchFirst = null;//位置決定後の最初の検索か否か var ZdcEmapSearchFirstCstm = null; var ZdcEmapSearchCenter = null; var ZdcEmapBoundsChanged = null; var ZdcEmapSearchShopCancel = null; var ZdcEmapResultAfterFunc = null; var ZdcEmapSearchFirstInitLvFlg = null; var ZdcEmapCenterIconClicked = null; // 2016/08/09 T.Luu // 検索決定 function ZdcEmapSearchSet(lat,lon,notmove) { // マップ移動 ZdcEmapSearchEventStop(); ZdcEmapSearchCenter = new ZDC.LatLon(Number(lat), Number(lon)); var latlon_wgs = ZdcEmapTky2Wgs(lat, lon); if (!notmove) ZdcEmapMapObj.setCenter(new google.maps.LatLng(latlon_wgs.lat, latlon_wgs.lon)); if(0 > 0) ZdcEmapMapObj.setZoom(0); // 拠点検索 ZdcEmapSearchFirst = 1; ZdcEmapSearchPoint = null;//必ず再検索させるため //ZdcEmapSearchShopStart(); ZdcEmapBoundsChanged = google.maps.event.addListener (ZdcEmapMapObj, 'bounds_changed', ZdcEmapSearchShopStart); } //検索開始 function ZdcEmapSearchShopClick() { if(ZdcEmapButtonNG()) return; ZdcEmapSearchPoint = null;//必ず再検索させるため ZdcEmapSearchShop(); } function ZdcEmapSearchShopStart() { google.maps.event.removeListener(ZdcEmapBoundsChanged); ZdcEmapSearchClickFlg = 1; if(ZdcEmapSearchFirstInitLvFlg == 1) { ZdcEmapSearchFirstInitLvFlg = 0; ZdcEmapSearchFirst = 0; ZdcEmapSearchClickFlg = 0; } ZdcEmapSearchPoint = null;//必ず再検索させるため ZdcEmapSearchEventStop(); //画面を切り替える if(ZdcEmapCondObj.mode != "cond") { //ZdcEmapSearchShopClose();//拠点以外のリストを消す var url = "http://127.0.0.1/p/search2/cond.htm?"; url += "&"; // mod 2022/08/16 K.taku #7768 [ // mod 2022/08/16 K.taku #7768 ] url += "&https_req=1"; ZdcEmapHttpRequestHtml(url, function(html,status){ if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください cond["+status+"]"; ZdcEmapCondObj.innerHTML = html; ZdcEmapSearchShop();//条件部が表示されてから検索開始 }); ZdcEmapCondObj.mode = "cond"; ZdcEmapCondObj.style.visibility = "visible"; } else { ZdcEmapSearchShop(); } } // 検索メイン処理 function ZdcEmapSearchShop() { if(ZdcEmapSearchShopCancel) { ZdcEmapSearchShopCancel = 0; return; } ZdcEmapReadOn(); //位置・範囲取得 // var latlon = ZdcEmapMapObj.getLatLon(); // var p = ZdcEmapMapObj.getLatLon(); // var box = ZdcEmapMapObj.getLatLonBox(); // var boxmin = box.getMin(); // var boxmax = box.getMax(); var p; p = ZdcEmapMapObj.getCenter(); var center = ZdcEmapWgs2Tky(p.lat(), p.lng()); p = ZdcEmapMapObj.getBounds().getSouthWest(); var boxmin = ZdcEmapWgs2Tky(p.lat(), p.lng()); p = ZdcEmapMapObj.getBounds().getNorthEast(); var boxmax = ZdcEmapWgs2Tky(p.lat(), p.lng()); if(ZdcEmapSearchPoint != null && 5 == -1) { //自動再検索しない ZdcEmapReadOff(); return; } //自動検索イベント停止 ZdcEmapSearchEventStop(); //絞り込み条件取得 if(typeof(search_flg) != 'undefined'){ cond = ZdcEmapGetCondTime(); } else { cond = ZdcEmapGetCond(); } var opts = new ZdcNearShopOptions(); opts.cid='search'; opts.lat = center.lat; opts.lon = center.lon; if((ZdcEmapSearchFirst != 1) || (0 > 0)) { opts.latlon = boxmin.lat+","+boxmin.lon+","+boxmax.lat+","+boxmax.lon; opts.radius = 0; } else { ZdcEmapSearchFirst = 0; opts.radius = 50000; } opts.jkn = cond; opts.pos = 1; opts.minCount = 1; opts.maxCount = 10; opts.limitCount = 10; opts.timeout = 10000; if (ZdcEmapMapShopDetailMrkId != null) { // 詳細表示中の拠点ID var mrk = ZdcEmapMapShopDetailMrkId; if (mrk && mrk.data1) opts.exceptKid = mrk.data1; } ZdcEmapNearShop.opts = opts; //リストを表示する ZdcEmapSearchShopList(0); //アイコンを表示する if (typeof(search_flg) != 'undefined') { ZdcEmapNearShop.searchPost(opts,ZdcEmapSearchShopResult); } else { ZdcEmapNearShop.search(opts,ZdcEmapSearchShopResult); } } //絞り込み条件組み立て var ZdcEmapCondParms = ""; function ZdcEmapGetCond() { var cond=""; var condArr=new Array(); ZdcEmapCondParms = ""; if(document.ZdcEmapCondForm) { var obj,chk=new Array(),chkcnt=0,col=new Array(),colcnt=0,fw=new Array(),fwcnt=0; var all=new Array(),allcnt=0,allcondno=new Array(),condno=''; for(var i = 0;i < document.ZdcEmapCondForm.elements.length;i ++) { obj = document.ZdcEmapCondForm.elements[i]; if(!obj) break; condno = obj.name.replace('cond',''); switch(obj.type) { case "checkbox": if(obj.checked == true) { ZdcEmapCondParms += "&cond"+condno+"=1"; chk[chkcnt] = ZdcEmapCondVal[condno]; all[allcnt] = chk[chkcnt]; allcondno[allcnt] = condno; allcnt++; chkcnt ++; } break; case "select-one": if(obj.options[obj.selectedIndex].value) { // mod 2022/08/16 K.taku #7768 [ if("" != ""){ // mod 2022/08/16 K.taku #7768 ] ZdcEmapCondParms += "&cond"+condno+"="+obj.value; } else { var n = obj.selectedIndex + 1; ZdcEmapCondParms += "&cond"+condno+"="+n; } if (typeof ZdcEmapCondOpts[condno] != 'undefined') { col[colcnt] = ZdcEmapCondOpts[condno][obj.options[obj.selectedIndex].value]; } if (col[colcnt] != '') { all[allcnt] = col[colcnt]; allcondno[allcnt] = condno; allcnt++; colcnt ++; } } break; case "radio": if(obj.checked == true && obj.value) { var radios = eval("document.ZdcEmapCondForm."+obj.name); if (radios) { for (i = 0; i < radios.length; i++){ if (radios[i].value == obj.value) { var n = i + 1; ZdcEmapCondParms += "&cond"+condno+"="+n; } } } col[colcnt] = ZdcEmapCondOpts[condno][obj.value]; if (col[colcnt] != '') { all[allcnt] = col[colcnt]; allcondno[allcnt] = condno; allcnt++; colcnt ++; } } break; case "text": if(obj.value) { if(obj.className == 'cond') { ZdcEmapCondParms += "&cond"+condno+"="+obj.value; col[colcnt] = ZdcEmapCondVal[condno]+obj.value; all[allcnt] = col[colcnt]; allcondno[allcnt] = condno; allcnt++; colcnt ++; } else { fw[fwcnt] = "FREE_SRCH:FW:"+"'"+obj.value+"'"; all[allcnt] = fw[fwcnt]; allcondno[allcnt] = condno; allcnt++; fwcnt ++; } } break; case "button": break; default: if(obj.value) { col[colcnt] = ZdcEmapCondVal[condno]; all[allcnt] = col[colcnt]; allcondno[allcnt] = condno; allcnt++; colcnt ++; } break; } } var cno,newcond = "",newqs = ""; var qstr = QSTRING.split('&'); for(var i=0; i 0) { for(var i = 0;i < allcnt;i ++) { cn = allcondno[i]; gr = ZdcEmapCondGroup[cn]; if (gr != undefined) { if(!condArr[gr]) condArr[gr] = ''; if(condArr[gr]) condArr[gr] += ' '+ZdcEmapCondAndOr[gr]+' '; condArr[gr] += all[i]; } } if(condArr.length > 0) { } } } if(typeof ZdcEmapCondAppend[0] !== 'undefined'){ if( ZdcEmapCondAppend[0] != ''){ if(cond != ''){ cond = '('+cond+') '+ZdcEmapCondAppend[1]+' '+ZdcEmapCondAppend[0]; } else { cond = ZdcEmapCondAppend[0]; } } } return cond; } /*** * Function get condition for search with time ***/ function ZdcEmapGetCondTime() { var cond=""; var condArr=new Array(); ZdcEmapCondParms = ""; if(document.ZdcEmapCondForm) { var obj,chk=new Array(),chkcnt=0,col=new Array(),colcnt=0,fw=new Array(),fwcnt=0; var all=new Array(),allcnt=0,allcondno=new Array(),condno=''; // Chien Nguyen add [ // Set condition cond101 and cond102 of tap 郵便サービスから選ぶ var cond101 = $('select[name=youbi1]').val() + $('select[name=timespan1]').val(); $('input[name=cond101]').val(''); $('input[name=cond102]').val(''); if ($('input[name=cond2]:checked').val()) { $('input[name=cond101]').val(cond101); } if ($('input[name=cond7]:checked').val()) { $('input[name=cond102]').val(cond101); } if (!$('input[name=cond2]:checked').val() && !$('input[name=cond7]:checked').val()) { $('input[name=cond101]').val(cond101); $('input[name=cond102]').val(cond101); } // Set condition cond103 and cond104 of tap 貯金サービスから選ぶ var cond103 = $('select[name=youbi2]').val() + $('select[name=timespan2]').val(); $('input[name=cond103]').val(''); $('input[name=cond104]').val(''); $('input[name=cond103]').val(cond103); if ($('input[name=cond16]:checked').val()) { $('input[name=cond104]').val(cond103); if (!$('input[name=cond8]:checked').val() || !$('input[name=cond9]:checked').val() || !$('input[name=cond10]:checked').val() || !$('input[name=cond11]:checked').val() || !$('input[name=cond12]:checked').val() || !$('input[name=cond13]:checked').val() || !$('input[name=cond14]:checked').val() || !$('input[name=cond15]:checked').val() || !$('input[name=cond17]:checked').val() || !$('input[name=cond18]:checked').val() ) { $('input[name=cond103]').val(''); } } // Set condition cond105 and cond106 of tap 保険サービスから選ぶ var cond105 = $('select[name=youbi3]').val() + $('select[name=timespan3]').val(); $('input[name=cond105]').val(''); $('input[name=cond106]').val(''); $('input[name=cond105]').val(cond105); if ($('input[name=cond24]:checked').val()) { $('input[name=cond106]').val(cond105); if (!$('input[name=cond19]:checked').val() || !$('input[name=cond20]:checked').val() || !$('input[name=cond21]:checked').val() || !$('input[name=cond22]:checked').val() || !$('input[name=cond23]:checked').val() ) { $('input[name=cond105]').val(''); } } // Set condition cond107 of tap ATMから選ぶ var cond107 = $('select[name=youbi4]').val() + $('select[name=timespan4]').val(); $('input[name=cond107]').val(cond107); // Set condition cond108 and cond109 of tap 他サービスから選ぶ var cond108 = $('select[name=youbi5]').val() + $('select[name=timespan5]').val(); $('input[name=cond108]').val(''); $('input[name=cond109]').val(''); $('input[name=cond109]').val(cond108); if ($('input[name=cond30]:checked').val()) { $('input[name=cond108]').val(cond108); if ( !$('input[name=cond26]:checked').val() || !$('input[name=cond27]:checked').val() || !$('input[name=cond28]:checked').val() || !$('input[name=cond29]:checked').val() ) { $('input[name=cond109]').val(''); } } // Chien Nguyen add ] for(var i = 0;i < document.ZdcEmapCondForm.elements.length;i ++) { obj = document.ZdcEmapCondForm.elements[i]; if(!obj) break; condno = obj.name.replace('cond',''); switch(obj.type) { case "checkbox": if(obj.checked == true) { ZdcEmapCondParms += "&cond"+condno+"=1"; chk[chkcnt] = ZdcEmapCondVal[condno]; all[allcnt] = chk[chkcnt]; allcondno[allcnt] = condno; allcnt++; chkcnt ++; } break; case "text": if(obj.value) { if(obj.className == 'cond') { ZdcEmapCondParms += "&cond"+condno+"="+obj.value; col[colcnt] = ZdcEmapCondVal[condno]+obj.value; all[allcnt] = col[colcnt]; allcondno[allcnt] = condno; allcnt++; colcnt ++; } else { fw[fwcnt] = "FREE_SRCH:FW:"+"'"+obj.value+"'"; all[allcnt] = fw[fwcnt]; allcondno[allcnt] = condno; allcnt++; fwcnt ++; } } break; case "radio": break; case "button": break; default: if(obj.value) { if (condno >= 101 && condno <= 109) { col[colcnt] = ZdcEmapCondOpts[condno][obj.value]; } else { col[colcnt] = ZdcEmapCondVal[condno]; } all[allcnt] = col[colcnt]; allcondno[allcnt] = condno; allcnt++; colcnt ++; } break; } } var cno,newcond = "",newqs = ""; var qstr = QSTRING.split('&'); for(var i=0; i 0) { for(var i = 0;i < allcnt;i ++) { cn = allcondno[i]; gr = ZdcEmapCondGroup[cn]; if (gr != undefined) { if(!condArr[gr]) condArr[gr] = ''; if(condArr[gr]) condArr[gr] += ' '+ZdcEmapCondAndOr[gr]+' '; condArr[gr] += all[i]; } } // console.log(ZdcEmapCondGroup); // console.log(allcondno); // console.log(condArr); if(condArr.length > 0) { } } } if(typeof ZdcEmapCondAppend[0] !== 'undefined'){ if( ZdcEmapCondAppend[0] != ''){ if(cond != ''){ cond = '('+cond+') '+ZdcEmapCondAppend[1]+' '+ZdcEmapCondAppend[0]; } else { cond = ZdcEmapCondAppend[0]; } } } return cond; } //検索結果の処理 var ZdcEmapConvertDatumH = false; var ZdcEmapConvertDatumHDone = false; function ZdcEmapSearchShopResult(result) { var i,item,mrk,tmp,icnt,maxlat=0,maxlon=0,minlat=999999999,minlon=999999999; function setLatLon(lat, lon){ this.lat = lat; this.lon = lon; } latlons = new Array(); //吹き出し削除 ZdcEmapShopMsgClose(); //マーカークラスター削除 //マーカー削除 if(ZdcEmapMapShopMrkCnt != null) { for( i = 0;i < ZdcEmapMapShopMrkCnt;i ++) { if (ZdcEmapMapShopMrkId[i]) { //ZdcEmapMapObj.removeWidget(ZdcEmapMapShopMrkId[i]); ZdcEmapMapShopMrkId[i].setMap(null); ZdcEmapMapShopMrkId[i] = null; } } } ZdcEmapMapShopMrkCnt = 0; //エラー処理 if(result.status != 0 && result.status != 3 && result.status != 5 && result.status != 9) { alert("検索に失敗しました listres["+result.status+"]"); ZdcEmapSearchEventStart(); //ZdcEmapSearchShopClose(); ZdcEmapReadOff(); return; } ZdcEmapSearchFirstCstm = 0; //地図に置く icnt = result.items.length; for (i=icnt-1; i>=0; i--) { item = result.items[i]; if(!item.icon) break; if(item.nflg == 1) tmp = ZdcEmapIconImg["@NEW"]; else tmp = ""; // mod 2022/08/16 K.taku #7768 [ //最大最小緯度経度取得 if(item.lat > maxlat) maxlat = item.lat; if(item.lon > maxlon) maxlon = item.lon; if(item.lat < minlat) minlat = item.lat; if(item.lon < minlon) minlon = item.lon; icn_img = ZdcEmapIconImg[item.icon]; icn_num = i + 1; // mod 2022/08/16 K.taku #7768 [ if ("" && "1" != 1 && "" != 1) { // mod 2022/08/16 K.taku #7768 ] icn_img = "https://map.japanpost.jp/p/search2/img/icon_num/icon_num_"+icn_num+".gif"; // mod 2022/08/16 K.taku #7768 [ } else if ("") { // mod 2022/08/16 K.taku #7768 ] icn_img = "https://map.japanpost.jp/p/search2/img/icon_num/icon_num_"+icn_num+".gif"; } // 無効なアイコンIDの場合は透明アイコンに差し替え if (icn_img == null) icn_img = ZdcEmapIconImg["@TP"]; latlons[ZdcEmapMapShopMrkCnt] = new ZDC.LatLon(item.lat, item.lon); item.lat_wgs = item.col_192; item.lon_wgs = item.col_193; if (item.lat_wgs) item.lat_wgs = ZDC.msTodeg(item.lat_wgs); if (item.lon_wgs) item.lon_wgs = ZDC.msTodeg(item.lon_wgs); var wgs = false; if (item.lat_wgs && item.lon_wgs) { item.lat = item.lat_wgs; item.lon = item.lon_wgs; wgs = true; } mrk = ZdcEmapMakeMrkApi2(i, item.lat, item.lon, ZdcEmapIconW[item.icon], ZdcEmapIconH[item.icon],ZdcEmapIconW['@NEW'],ZdcEmapIconH['@NEW'], ZdcEmapIconOffsetX[item.icon], ZdcEmapIconOffsetY[item.icon],ZdcEmapIconW[item.icon]-ZdcEmapIconW['@NEW'],ZdcEmapIconH[item.icon], icn_img,tmp, item.id, item.icon, '', item.nflg, null , null ,item.lvl ,wgs ); if (ZdcEmapMapShopMrkId[i] != null) ZdcEmapMapShopMrkId[i].setMap(null); mrk.setMap(ZdcEmapMapObj); mrk.setZIndex(100); // add 2017/07/04 Y.Uesugi ZdcEmapMapShopMrkId[i] = mrk; ZdcEmapMapShopMrkCnt ++; } // マーカークラスター生成 var p = ZdcEmapMapObj.getCenter(); var center = ZdcEmapWgs2Tky(p.lat(), p.lng()); if(ZdcEmapSearchClickFlg) { ZdcEmapSearchClickFlg = 0; //初期検索時は画面移動 if (ZdcEmapMapShopMrkCnt > 0) { //拠点が収まる範囲に移動 if (!ZdcEmapMapShopDetailMrkId) { if(0 == 0) { ZdcEmapMapMoveBoxCenterFixed(minlat, minlon, maxlat, maxlon, center.lat, center.lon); ZdcEmapSearchShopCancel = 1; } } } } document.getElementById('ZdcEmapMap').style.visibility = "visible"; ZdcEmapMapFrontShopDetail(); ZdcEmapMapCursorRemove(); ZdcEmapSearchEventStart(); //色々閉じる ZdcEmapRouteClear(); //検索位置を保持 // ZdcEmapSearchPoint = ZdcEmapMapObj.getLatLon(); // ZdcEmapSearchScale = ZdcEmapMapObj.getZoom(); ZdcEmapSearchPoint = ZdcEmapMapObj.getCenter(); ZdcEmapSearchScale = ZdcEmapMapObj.getZoom(); ZdcEmapReadOff(); if (ZdcEmapSearchFirst == 1 && 0 > 0) { ZdcEmapSearchFirst = 0; if (ZdcEmapMapShopMrkCnt == 0) { ZdcEmapMapObj.setZoom(0); } } if (typeof ZdcEmapResultAfterFunc === "function") ZdcEmapResultAfterFunc(); } function ZdcEmapFindShopMarker(kid) { if (ZdcEmapMapShopMrkId && ZdcEmapMapShopMrkId.length > 0) { var len = ZdcEmapMapShopMrkId.length; for (var i = 0; i < len; i++) { if (ZdcEmapMapShopMrkId[i].data1 == kid) { return ZdcEmapMapShopMrkId[i]; } } } return null; } var ZdcEmapMapFrontShopMrkId = null; //指定されたアイコンを前面にもってくる function ZdcEmapMapFrontShopMrk(id){ if(ZdcEmapMapShopMrkId[id] != null) { var mrk = ZdcEmapMapShopMrkId[id]; ZdcEmapMapFrontShopReset(); //mrk.setZindex(101); mrk.setZIndex(101); ZdcEmapMapFrontShopMrkId = ZdcEmapMapShopMrkId[id]; } } //詳細アイコンを前面にもってくる function ZdcEmapMapFrontShopDetail(){ var mrk; if(ZdcEmapMapShopDetailMrkId != null) { //フォーカス ZdcEmapMapFrontShopReset(); mrk = ZdcEmapMapCurFocusMrkId; mrk.setZIndex(102); mrk = ZdcEmapMapShopDetailMrkId; mrk.setZIndex(101); ZdcEmapMapFrontShopMrkId = ZdcEmapMapShopDetailMrkId; } } //前面に持ってきたアイコンを元に戻す function ZdcEmapMapFrontShopReset() { if (ZdcEmapMapFrontShopMrkId != null) { var mrk = ZdcEmapMapFrontShopMrkId; //if (mrk && mrk.b) mrk.setZindex(100); if (mrk) mrk.setZIndex(100); ZdcEmapMapFrontShopMrkId = null; } } //詳細表示(アイコンのみ表示) var ZdcEmapConvertDatumHPrt = false; var ZdcEmapConvertDatumHPrtDone = false; function ZdcEmapShopIcon(lat, lon, icnno, nflg, NotMoveFlag, wgs) { //登録されていないアイコンIDの場合は処理しない if (!ZdcEmapIconImg[icnno]) { icnno = "@TP";//透明画像 } var mrk; //地図移動 if( NotMoveFlag == undefined || NotMoveFlag != 1 ){ ZdcEmapMapMove(lat, lon, null, wgs); } // var center = new ZDC.LatLon(Number(lat), Number(lon)); // ZdcEmapMapObj.setHome(center); // //フォーカスカーソルを表示する // mrk = ZdcEmapMakeMrkApi2(0, lat, lon, // ZdcEmapIconW['@SEL'], ZdcEmapIconH['@SEL'],0,0, // ZdcEmapIconOffsetX['@SEL'], ZdcEmapIconOffsetY['@SEL'],0,0, // ZdcEmapIconImg['@SEL'],'', // '', '', '', 0, null, null, null // ); // if(ZdcEmapMapCurMrkId != null) ZdcEmapMapObj.removeWidget(ZdcEmapMapCurMrkId); // if(ZdcEmapMapCurFocusMrkId != null) ZdcEmapMapObj.removeWidget(ZdcEmapMapCurFocusMrkId); // ZdcEmapMapObj.addWidget(mrk); // ZdcEmapMapCurFocusMrkId = mrk; // mrk.setZindex(101); //詳細アイコンを表示する if(nflg == 1) tmp = ZdcEmapIconImg["@NEW"]; else tmp = ""; mrk = ZdcEmapMakeMrkApi2(0, lat, lon, ZdcEmapIconW[icnno], ZdcEmapIconH[icnno],ZdcEmapIconW['@NEW'],ZdcEmapIconH['@NEW'], ZdcEmapIconOffsetX[icnno], ZdcEmapIconOffsetY[icnno],ZdcEmapIconW[icnno]-ZdcEmapIconW['@NEW'],ZdcEmapIconH[icnno], ZdcEmapIconImg[icnno],tmp, '', icnno, '', nflg, null, null, null ,wgs ); if (ZdcEmapMapShopDetailMrkId != null) ZdcEmapMapShopDetailMrkId.setMap(null); mrk.setMap(ZdcEmapMapObj); ZdcEmapMapShopDetailMrkId = mrk; // latlons = new ZDC.LatLon(lat, lon); // mrk = new ZDC.Marker(latlons,{ // /* マーカのサイズに合わせて位置を調整する */ // offset: new ZDC.Pixel(ZdcEmapIconOffsetX[icnno], ZdcEmapIconOffsetY[icnno]), // custom: { // base : { // src: ZdcEmapIconImg[icnno], // imgSize: ZDC.WH(ZdcEmapIconW[icnno], ZdcEmapIconH[icnno]) // } // } // }); // if(ZdcEmapMapShopDetailMrkId != null) ZdcEmapMapObj.removeWidget(ZdcEmapMapShopDetailMrkId); // ZdcEmapMapObj.addWidget(mrk); ZdcEmapMapShopDetailMrkId = mrk; ZdcEmapMapShopDetailMrkId.lat = lat; ZdcEmapMapShopDetailMrkId.lon = lon; } //リスト表示 function ZdcEmapSearchShopListClick(page) { if(ZdcEmapButtonNG()) return; ZdcEmapSearchShopList(page) } function ZdcEmapSearchShopList(page) { //リストを表示させる if(0 && ZdcEmapMapShopDetailMrkId != null) { //リスト非表示モードで詳細表示中だと出さない ZdcEmapListObj.innerHTML = ""; return; } // Standard以外は表示しない ZdcEmapListObj.innerHTML = ""; return; var url = "http://127.0.0.1/p/search2/nlist.htm?"+ "&lat="+ZdcEmapNearShop.opts.lat+"&lon="+ZdcEmapNearShop.opts.lon+"&latlon="+ZdcEmapNearShop.opts.latlon+ "&radius="+ZdcEmapNearShop.opts.radius+"&jkn="+encodeURI(ZdcEmapNearShop.opts.jkn)+"&page="+page; url += ZdcEmapCondParms; url += "&"; // mod 2022/08/16 K.taku #7768 [ url += "&his=dm"; url += ""; url += ""; // mod 2022/08/16 K.taku #7768 ] if(ZdcEmapSearchFirstCstm == 1) { url += "&first_search=1"; } url += "&https_req=1"; url += "&PARENT_HTTP_HOST=map.japanpost.jp"; if(typeof(search_flg) != 'undefined'){ ZdcEmapHttpRequestHtmlPost(url, function(html,status){ if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください list["+status+"]"; ZdcEmapListObj.innerHTML = html; }, false, 2); } else { ZdcEmapHttpRequestHtml(url, function(html,status){ if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください list["+status+"]"; ZdcEmapListObj.innerHTML = html; }, false, 2); } } //フキダシ表示 var userwidgethukidasi = new google.maps.InfoWindow(); userwidgethukidasi.set("noSuppress", true); function ZdcEmapShopMsg(id, NGcancel) { NGcancel = NGcancel || false; if(!NGcancel && ZdcEmapButtonNG()) return; //if(ZdcEmapCondObj.mode == "eki" || ZdcEmapCondObj.mode == "jnr" || ZdcEmapCondObj.mode == "froute") return;//最寄駅や施設を出してる時は出さない ZdcEmapShopMsgClose(); // //アイコンを前面に出す // if(id != null) ZdcEmapMapFrontShopMrk(id); // else ZdcEmapMapFrontShopDetail(); //デザイン if(id != null) var obj = ZdcEmapMapShopMrkId[id]; else var obj = ZdcEmapMapShopDetailMrkId; if(!obj) return; //フキダシを表示させる var url = "http://127.0.0.1/p/search2/msg.htm?kid="+obj.data1; url += ZdcEmapCondParms; url += "&"; // mod 2022/08/16 K.taku #7768 [ url += "&his=dm"; // mod 2022/08/16 K.taku #7768 ] url += "&https_req=1"; url += "&PARENT_HTTP_HOST=map.japanpost.jp"; ZdcEmapHttpRequestHtml(url, function(html,status){ ZdcEampHiddenWait(); if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください msg["+status+"]"; // var userwidgethukidasilabel = // { // html: html, // offset: new ZDC.Pixel(0, 0) // }; // var hukidasilatlon = new ZDC.LatLon(Number(obj.lat), Number(obj.lon)); // userwidgethukidasi = new ZDC.MsgInfo(hukidasilatlon, userwidgethukidasilabel); // ZdcEmapMapObj.addWidget(userwidgethukidasi); // userwidgethukidasi.open(); ZdcEmapSearchEventCenterChangeAvailable = 0; //userwidgethukidasi = new google.maps.InfoWindow(); userwidgethukidasi.setContent(html); userwidgethukidasi.open(ZdcEmapMapObj, obj); }, true, 2); } //フキダシ表示(マーカークラスタ用) function ZdcEmapShopMsgCluster(mCluster) { if(ZdcEmapButtonNG()) return; ZdcEmapShopMsgClose(); var markers = mCluster.getMarkers(); if(markers.length == 0) return; //デザイン var id = markers[0].id; if(id != null) var obj = ZdcEmapMapShopMrkId[id]; if(!obj) return; ZdcEampVisibleWait(); var latlng = mCluster.getCenter(); //フキダシを表示させる var kidprm = ""; for (var i=0; i 0) { ZdcEmapMapObj.setZoom(-1 + ZdcEmapZoomOffset); } //フォーカスカーソルを表示する mrk = ZdcEmapMakeMrkApi2(0, lat, lon, ZdcEmapIconW['@SEL'], ZdcEmapIconH['@SEL'],0,0, ZdcEmapIconOffsetX['@SEL'], ZdcEmapIconOffsetY['@SEL'],0,0, ZdcEmapIconImg['@SEL'],'', '', '', '', 0, null, null, null ,wgs ); if(ZdcEmapMapCurMrkId != null) ZdcEmapMapCurMrkId.setMap(null); if(ZdcEmapMapCurFocusMrkId != null) ZdcEmapMapCurFocusMrkId.setMap(null); mrk.setMap(ZdcEmapMapObj); mrk.setZIndex(101); ZdcEmapMapCurFocusMrkId = mrk; //詳細アイコンを表示する if (!ZdcEmapIconImg[icnno]) { icnno = "@TP";//透明画像 } if(nflg == 1) tmp = ZdcEmapIconImg["@NEW"]; else tmp = ""; mrk = ZdcEmapMakeMrkApi2(0, lat, lon, ZdcEmapIconW[icnno], ZdcEmapIconH[icnno],ZdcEmapIconW['@NEW'],ZdcEmapIconH['@NEW'], ZdcEmapIconOffsetX[icnno], ZdcEmapIconOffsetY[icnno],ZdcEmapIconW[icnno]-ZdcEmapIconW['@NEW'],ZdcEmapIconH[icnno], ZdcEmapIconImg[icnno],tmp, kid, icnno, '', nflg, null, null, lvl ,wgs ); if(ZdcEmapMapShopDetailMrkId != null) ZdcEmapMapShopDetailMrkId.setMap(null); mrk.setMap(ZdcEmapMapObj); mrk.setZIndex(100); ZdcEmapMapShopDetailMrkId = mrk; ZdcEmapMapShopDetailMrkId.data1 = kid; ZdcEmapMapShopDetailMrkId.lat = lat; ZdcEmapMapShopDetailMrkId.lon = lon; //動作モードの切り替え if(1) { //拠点詳細以外は非表示 ZdcEmapSearchEventStop(); //ZdcEmapSearchShopClose(); } else { //最寄拠点表示 ZdcEmapSearchEventStart(); } if (!notmove) ZdcEmapMapMove(lat, lon); //var center = new ZDC.LatLon(Number(lat), Number(lon)); //ZdcEmapMapObj.setHome(center); //他の情報を閉じる ZdcEmapShopMsgClose(); ZdcEmapRouteClear(); } //------------------------------------------------------------- //最寄駅検索 //------------------------------------------------------------- var ZdcEmapNekiLat; var ZdcEmapNekiLon; var ZdcEmapNekiList; //駅検索メイン処理 function ZdcEmapStation(lat, lon) { ZdcEmapReadOn(); // var tmplatlon; if (lat && lon){ tmplatlon = new ZDC.LatLon(Number(lat), Number(lon)); } else { tmplatlon = ZdcEmapWgs2Tky(ZdcEmapMapObj.getCenter().lat(), ZdcEmapMapObj.getCenter().lng()); } ZdcEmapNekiLat = tmplatlon.lat; ZdcEmapNekiLon = tmplatlon.lon; var ival = { latlon: tmplatlon, radius: 5000, datum: "TOKYO", limit: "0"+","+"5" }; ZDC.Search.getStationByLatLon(ival, function(stt, res){ ZdcGetNearStationResult(stt, res); }); } function ZdcGetNearStationResult(stt, res) { var i, len = res.item.length, item; //エラー処理 if(stt.code != "000" || stt.text != "ok") { ZdcEmapNekiList = null; alert("検索に失敗しました ekires["+stt.code+","+stt.text+"]"); ZdcEmapSearchEventStart(); ZdcEmapListObj.innerHTML = ""; ZdcEmapReadOff(); return; } ZdcEmapNekiList = []; if ( len > 0 ) { for( i=0; i < len; i++ ){ item = res.item[i]; ZdcEmapNekiList.push({ lat: item.poi.latlon.lat, lon: item.poi.latlon.lon, text: item.poi.text }); } } ZdcEmapReadOff(); } function ZdcEmapStationList(page) { var url = "http://127.0.0.1/p/search2/neki.htm?"+ "lat="+ZdcEmapNekiLat+"&lon="+ZdcEmapNekiLon+"&page="+page; url += "&https_req=1"; ZdcEmapHttpRequestHtml(url, function(html,status){ if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください eki["+status+"]"; ZdcEmapNekiListObj.innerHTML = html; }); } //------------------------------------------------------------- //複合ルート検索 //------------------------------------------------------------- function ZdcEmapSrchCombRootDept(keyword) { ZdcEmapSrchCombRootDeptObj.innerHTML = ""; //検索条件 var url = "http://127.0.0.1/p/search2/dept_srch_comb.htm?keyword="+keyword; ZdcEmapHttpRequestHtml_ENC(url, function(html,status){ // mod 2023/07/06 Y.Matsukawa if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください cond["+status+"]"; ZdcEmapSrchCombRootDeptObj.innerHTML = html; }, 0, 'UTF8'); // mod 2023/07/06 Y.Matsukawa } function ZdcEmapSrchCombRootResult(lat, lon, fromname, whenno, date) { var modal = document.getElementById("modal-full"); if (modal) modal.style.display = 'block'; var procimg = document.getElementById("combRouteProcessing"); if (procimg) procimg.style.display = 'block'; ZdcEmapSrchCombRootResultObj.innerHTML = ""; //検索条件 var url = "http://127.0.0.1/p/search2/route_srch_comb.htm?kid="+ZdcEmapMapShopDetailMrkId.data1; if (lat && lon) url+= "&from="+lat+","+lon; if (fromname) url+= "&fromname="+fromname; if (whenno) url+= "&whenno="+whenno; if (date) url+= "&date="+date; ZdcEmapHttpRequestHtml_ENC(url, function(html,status){ // mod 2023/07/06 Y.Matsukawa if (modal) modal.style.display = 'none'; if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください cond["+status+"]"; ZdcEmapSrchCombRootResultObj.innerHTML = html; }, 0, 'UTF8'); // mod 2023/07/06 Y.Matsukawa } function ZdcEmapFreeRouteStatic(lat, lon) { // 未対応 return; } function ZdcEmapCookieGetShopList(cid) { var shop_list = new Array(); var pc_shopdtl = ""; var key = "PC_SHOPDTL_"+cid; if (!navigator.cookieEnabled) return shop_list; // Cookie読み込み var ck = document.cookie; if (ck != "") { cookies = ck.split(";"); for (var i = 0; i < cookies.length; i++) { var kv = cookies[i].split("="); if (kv[0].replace(/^\s+|\s+$/g, "") == key && kv[1]) { pc_shopdtl = kv[1].replace(/^\s+|\s+$/g, ""); break; } } if (pc_shopdtl != "") { var vals = pc_shopdtl.split(","); var max = Math.floor(vals.length/2); if (max > -1) max = -1; var oc = 0; var k = -1; for (var i = 0; i < max*2; i++) { if (vals[i*2] != undefined) { if (vals[i*2+1] == undefined) vals[i*2+1] = ''; k++; shop_list[k] = new Array(); shop_list[k]['kid'] = vals[i*2]; shop_list[k]['name'] = vals[i*2+1]; } } } } return shop_list; } function ZdcEmapCookieWriteShopDetail(cid, kid, knmenc) { var key = "PC_SHOPDTL_"+cid; var save_value = ""; var new_value = kid+","+knmenc; var shop_list = ZdcEmapCookieGetShopList(cid); var cnt = shop_list.length; if (cnt > 0) { for (var i = 0; i < cnt; i++) { if (shop_list[i]["kid"] == kid) continue; save_value += "," + shop_list[i]["kid"] + "," + shop_list[i]["name"]; } } save_value = new_value + save_value; // Cookie書き出し ZdcEmapWriteCookie(key, save_value, 365); } function ZdcEmapWriteCookie(key, value_esc, days) { var str = key + "=" + value_esc + ";"; if (days != 0) { var dt = new Date(); dt.setDate(dt.getDate() + days); str += "expires=" + dt.toGMTString() + ";"; } str += "path=/;"; document.cookie = str; } // add 2015/06/03 N.Wada //店舗詳細ajax表示 function ZdcEmapShopDetailAjax(kid) { ZdcEmapDetailPopObj.innerHTML = ""; var url = "http://127.0.0.1/p/search2/dtl/"+kid+"/?"; ZdcEmapHttpRequestHtml(url, function(html,status){ if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください cond["+status+"]"; ZdcEmapDetailPopObj.innerHTML = html; }); } // add 2015/06/03 N.Wada //検索結果ajax表示 function ZdcEmapSearchResultAjax(form) { ZdcEmapSearchPopObj.innerHTML = ""; //検索条件 var type = form.type.value; var keyword; switch (type) { case "Comb": keyword = form.keyword.value; break; default: break; } var url = "http://127.0.0.1/p/search2/search.htm?type="+type; if (keyword) url+= "&keyword="+keyword; url += ZdcEmapCondParms; //絞り込み条件 ZdcEmapHttpRequestHtml(url, function(html,status){ if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください cond["+status+"]"; ZdcEmapSearchPopObj.innerHTML = html; }); } // add 2015/06/03 N.Wada // 絞り込みを全解除 function ZdcEmapCondAllReset() { if(document.ZdcEmapCondForm) { var chg = 0; //ZdcEmapDisableReSearch = true; // 再検索停止 for(var i = 0;i < document.ZdcEmapCondForm.elements.length;i ++) { obj = document.ZdcEmapCondForm.elements[i]; if (obj) { switch(obj.type) { case "checkbox": if(obj.checked == true) { obj.checked = false; chg++; } break; case "select-one": if (obj.selectedIndex > 0) { obj.selectedIndex = 0; chg++; } break; case "radio": if(obj.checked) { obj.checked = false; chg++; } break; case "text": if (obj.value != "") { obj.value = ""; chg++; } break; } } } //ZdcEmapDisableReSearch = false; // 再検索再開 if (chg > 0) { ZdcEmapSearchShopClick(); // 再検索 } } } // add 2016/03/03 N.Wada //------------------------------------------------------------- // 検索位置にマーカー表示 //------------------------------------------------------------- function ZdcEmapSearchMapIcon(latlon) { var latlon_wgs = ZdcEmapTky2Wgs(latlon.lat, latlon.lon); var mrk = new google.maps.Marker({ position : new google.maps.LatLng(latlon_wgs.lat, latlon_wgs.lon) }); mrk.setZIndex(0); mrk.setMap(ZdcEmapMapObj); }