var ZdcEmapCondGroup = new Array(); var ZdcEmapCondAndOr = new Array(); //------------------------------------------------------------- //拠点検索関係 //------------------------------------------------------------- var ZdcEmapSearchPoint = null;//検索した位置を保持 var ZdcEmapSearchScale = null;//検索した縮尺を保持 var ZdcEmapSearchFirst = null;//位置決定後の最初の検索か否か var ZdcEmapIconDt = new Array(); // add 2011/07/19 K.Masuda var ZdcEmapNearbyShopItem = null; var ZdcEmapSearchFirstCstm = null; //検索開始 function ZdcEmapSearchShopClick() { if(ZdcEmapButtonNG()) return; ZdcEmapSearchPoint = null;//必ず再検索させるため ZdcEmapSearchShop(); } function ZdcEmapFixRouteSearchShopClick() { ZdcEmapSearchSet(ZdcEmapRouteStartLat, ZdcEmapRouteStartLon); } function ZdcEmapSearchShopStart() { if(ZdcEmapMapObj.ZdcEmapMode != "print") ZdcEmapSearchClickFlg = 1; ZdcEmapSearchPoint = null;//必ず再検索させるため // ZdcEmapSearchEventAdd("ZdcEmapSearchShop()"); ZdcEmapSearchEventStart(); //拠点以外のアイコンをクリア for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) { ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapPoiMrkId[i]); ZdcEmapMapPoiMrkId[i] = null; } ZdcEmapMapPoiMrkCnt = 0; //画面を切り替える if(ZdcEmapCondObj.mode != "cond") { ZdcEmapSearchShopClose();//拠点以外のリストを消す // var url = "http://www.e-map.ne.jp/pc/emapview_cond.htm?cid=decorte&"; // for(i = 0;i < 50;i ++) if(ZdcEmapSaveCond[i]) url = url + "cond"+i+"="+ZdcEmapSaveCond[i]+"&";//絞込条件 //var url = "http://www.e-map.ne.jp/pc/emapview_cond.htm?cid=decorte"; mod 2011/02/09 Y.Matsukawa var url = "http://127.0.0.1/pc/emapview_cond.htm?cid=decorte"; //for(i = 0;i < 50;i ++) if(ZdcEmapSaveCond[i]) url = url + "&cond"+i+"="+ZdcEmapSaveCond[i];//絞込条件 mod 2009/11/07 Y.Matsukawa for(i = 1;i <= 200;i ++) if(ZdcEmapSaveCond[i]) url = url + "&cond"+i+"="+ZdcEmapSaveCond[i];//絞込条件 url += "&p_s1=&p_s2=&p_s3=&p_s4=&p_s5=&p_f1=&p_f2=&p_f3=&p_f4=&p_f5="; // add 2009/03/26 Y.Matsukawa 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() { ZdcEmapReadOn(); //位置・範囲取得 var p = new ZdcPoint(); p = ZdcEmapMapObj.getMapLocation(); var box = ZdcEmapMapObj.getMapBoundBox(); //検索するか否かの判断 if(ZdcEmapSearchPoint != null) { var pix1 = ZdcEmapMapObj.convertPoint2Pixel( ZdcEmapSearchPoint, 2 ); var pix2 = ZdcEmapMapObj.convertPoint2Pixel( p, 2 ); if(Math.abs(pix1.x-pix2.x) < 5 && Math.abs(pix1.y-pix2.y) < 5 && ZdcEmapSearchScale == ZdcEmapMapObj.getMapScale()) { ZdcEmapReadOff(); return; } } if(ZdcEmapSearchPoint != null && 5 == -1) { //自動再検索しない ZdcEmapReadOff(); return; } //自動検索イベント停止 ZdcEmapSearchEventStop(); // 2011/06/15 K.Masuda mod [ //ZdcEmapShopMsgClose(); if( true ){ ZdcEmapShopMsgClose(); } // 2011/06/15 K.Masuda mod ] //絞り込み条件取得 cond = ZdcEmapGetCond(); // var opts = new ZdcNearShopOptions(); opts.cid='decorte'; opts.lat = p.my; opts.lon = p.mx; if(ZdcEmapSearchFirst != 1) { opts.latlon = box.miny+","+box.minx+","+box.maxy+","+box.maxx; opts.radius = 0; } else { ZdcEmapSearchFirst = 0; opts.radius = 50000; } opts.jkn = cond; opts.pos = 1; opts.maxCount = 10; opts.limitCount = 10; opts.timeout = 10000; // add 2009/10/13 Y.Matsukawa [ if (ZdcEmapMapShopDetailMrkId != null) { // 詳細表示中の拠点ID var mrk = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapShopDetailMrkId); if (mrk && mrk.data1) opts.exceptKid = mrk.data1; } // add 2009/10/13 Y.Matsukawa ] ZdcEmapNearShop.opts = opts; //リストを表示する ZdcEmapSearchShopList(0); //アイコンを表示する ZdcEmapNearShop.search(opts,ZdcEmapSearchShopResult); } //絞り混み条件組み立て function ZdcEmapGetCond() { var cond=""; var condArr=new Array(); if(document.ZdcEmapCondForm) { //var obj,chk=new Array(),chkcnt=0,col=new Array(),colcnt=0; mod 2009/02/06 Y.Matsukawa 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) { chk[chkcnt] = obj.value; all[allcnt] = chk[chkcnt]; allcondno[allcnt] = condno; allcnt++; chkcnt ++; } break; case "select-one": if(obj.options[obj.selectedIndex].value) { col[colcnt] = obj.options[obj.selectedIndex].value; all[allcnt] = col[colcnt]; allcondno[allcnt] = condno; allcnt++; colcnt ++; } break; case "radio": if(obj.checked == true && obj.value) { col[colcnt] = obj.value; all[allcnt] = col[colcnt]; allcondno[allcnt] = condno; allcnt++; colcnt ++; } break; // add 2009/02/06 Y.Matsukawa [ case "text": if(obj.value) { //fw[fwcnt] = "FREE_SRCH:FW:"+"'"+urlencode(obj.value)+"'"; // mod 2013/03/10 K.Masuda [ //fw[fwcnt] = "FREE_SRCH:FW:"+"'"+obj.value+"'"; //all[allcnt] = fw[fwcnt]; allcondno[allcnt] = condno; allcnt++; //fwcnt ++; fw[fwcnt] = "FREE_SRCH:FW:"+"'"+obj.value+"'"; all[allcnt] = fw[fwcnt]; allcondno[allcnt] = condno; allcnt++; fwcnt ++; // mod 2013/03/10 K.Masuda ] } break; case "button": break; // add 2009/02/06 Y.Matsukawa ] default: if(obj.value) { col[colcnt] = obj.value; 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) { } // グルーピング設定なし(既存動作) } else { // checkbox for(var i = 0;i < chkcnt;i ++) { if(cond) cond += " AND "; cond += chk[i]; } if(cond) cond = "("+cond+")"; // select-one,radio,その他 for(var j = 0;j < colcnt;j ++) { if(cond) cond += " AND "; cond += "("+col[j]+")"; } // add 2009/02/06 Y.Matsukawa [ // text for(var k = 0;k < fwcnt;k ++) { if(cond) cond += " AND "; cond += fw[k]; } // add 2009/02/06 Y.Matsukawa ] } } return cond; } //絞り混み条件パラメータ取得 add 2009/12/10 Y.Matsukawa function ZdcEmapGetCondParm() { var cond=""; if(document.ZdcEmapCondForm) { var obj,arrcond=new Array(),condcnt=0; for(var i = 0;i < document.ZdcEmapCondForm.elements.length;i ++) { obj = document.ZdcEmapCondForm.elements[i]; if(!obj) break; switch(obj.type) { case "checkbox": if(obj.checked == true) { arrcond[condcnt] = obj.name+'=1'; condcnt ++; } break; case "select-one": if(obj.options[obj.selectedIndex].value) { val = obj.options[obj.selectedIndex].value.split(':'); arrcond[condcnt] = obj.name+'='+val[1]; condcnt ++; } break; case "radio": if(obj.checked == true && obj.value) { val = obj.value.split(':'); arrcond[condcnt] = obj.name+'='+val[1]; condcnt ++; } break; case "text": break; case "button": break; default: if(obj.value) { val = obj.value.split(':'); arrcond[condcnt] = obj.name+'='+val[1]; condcnt ++; } break; } } //condパラメータの組み立て for(var i = 0;i < condcnt;i ++) { if(cond) cond += '&'; cond += arrcond[i]; } } return cond; } //検索結果の処理 function ZdcEmapSearchShopResult(result) { var i,item,mrk,tmp,icnt,maxlat=0,maxlon=0,minlat=999999999,minlon=999999999; // 最寄り店舗 ZdcEmapNearbyShopItem = null; //マーカー削除 if(ZdcEmapMapShopMrkCnt != null) { for( i = 0;i < ZdcEmapMapShopMrkCnt;i ++) { ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapShopMrkId[i]); 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; //地図に置く //for( i in result.items ){ mod 2009/08/18 Y.Matsukawa icnt = result.items.length; for (i=icnt-1; i>=0; i--) { item = result.items[i]; ZdcEmapNearbyShopItem = item; if(!item.icon) break; if(item.nflg == 1) tmp = ZdcEmapIconImg["@NEW"]; else tmp = ""; // add 2011/04/27 H.Osamoto [ // add 2011/04/27 H.Osamoto ] mrk = ZdcEmapMakeMrk(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],0,-8, ZdcEmapIconImg[item.icon],tmp, item.id,item.icon,item.nflg, function() { ZdcEmapShopMsg(this.id); }, null, //null mod 2009/10/14 Y.Matsukawa null ,item.lvl // add 2009/09/04 Y.Matsukawa ); if (ZdcEmapMapShopMrkId[i] != null) ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapShopMrkId[i]);//念のため ZdcEmapMapShopMrkId[i] = ZdcEmapMapUserLyr.addMarker(mrk); //最大最小緯度経度取得 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; ZdcEmapMapShopMrkCnt ++; ZdcEmapIconDt[i] = item.lat + ":" + item.lon + ":" + ZdcEmapIconW[item.icon] + ":" + ZdcEmapIconH[item.icon]; // add 2011/07/19 K.Masuda } if(ZdcEmapSearchClickFlg) { ZdcEmapSearchClickFlg = 0; //初期検索時は画面移動 if (ZdcEmapMapShopMrkCnt > 0) { //拠点が収まる範囲に移動 ZdcEmapMapMoveBox(minlat,minlon,maxlat,maxlon,ZdcEmapMapObj.getMapLocation(),1); //} else { mod 2010/05/21 Y.Matsukawa } else if (!result.options.exceptKid) { //検索半径の縮尺に移動 ※位置によってgetPoint2PointDistanceの値が変わるため毎回計算している var p = new ZdcPoint(); p = ZdcEmapMapObj.getMapLocation(); //var px = new ZdcPoint(); //var py = new ZdcPoint(); //px = new ZdcPoint(p.mx+1000,p.my,2);//+1000なのは値が小さいとNaNになるため //py = new ZdcPoint(p.mx,p.my+1000,2); //var mx = ZdcEmapGeometricObj.getPoint2PointDistance(p,px);//経度1000ミリ秒ごとの距離 //var my = ZdcEmapGeometricObj.getPoint2PointDistance(p,py);//緯度1000ミリ秒ごとの距離 //mx = 1000 / mx;//1mごとの経度 //my = 1000 / my;//1mごとの緯度 //var rx = parseInt(mx * 50000);//経度の範囲 //var ry = parseInt(my * 50000);//経度の範囲 var rx = parseInt((450000 / (11 * 1000)) * 50000);//CGIと計算をあわせる var ry = parseInt((300000 / (9 * 1000)) * 50000);//〃 var p1 = new ZdcPoint(p.mx - rx,p.my - ry,2); var p2 = new ZdcPoint(p.mx + rx,p.my + ry,2); var bx = new ZdcBox(p1,p2); var lv = ZdcEmapMapObj.getMapBoxScale( bx, p ); if(lv < 18) lv = lv + 1;//1つズームイン ZdcEmapMapObj.setMapScale(lv); } } ZdcEmapMapFrontShopDetail(); ZdcEmapMapCursorRemove(); ZdcEmapSearchEventStart(); //色々閉じる ZdcEmapSearchClose(); ZdcEmapPoiRouteClear(); //検索位置を保持 ZdcEmapSearchPoint = ZdcEmapMapObj.getMapLocation(); ZdcEmapSearchScale = ZdcEmapMapObj.getMapScale(); ZdcEmapReadOff(); // 重なりアイコン判定 } //リスト表示 function ZdcEmapSearchShopListClick(page) { if(ZdcEmapButtonNG()) return; ZdcEmapSearchShopList(page) } function ZdcEmapSearchShopList(page) { //リストを表示させる if(1 && ZdcEmapMapShopDetailMrkId != null) { //リスト非表示モードで詳細表示中だと出さない ZdcEmapListObj.innerHTML = ""; return; } //var url = "http://www.e-map.ne.jp/pc/emapview_shop_list.htm?cid=decorte"+ mod 2011/02/09 Y.Matsukawa var url = "http://127.0.0.1/pc/emapview_shop_list.htm?cid=decorte"+ "&lat="+ZdcEmapNearShop.opts.lat+"&lon="+ZdcEmapNearShop.opts.lon+"&latlon="+ZdcEmapNearShop.opts.latlon+ "&radius="+ZdcEmapNearShop.opts.radius+"&jkn="+ZdcEmapNearShop.opts.jkn+"&page="+page; url += "&p_s1=&p_s2=&p_s3=&p_s4=&p_s5=&p_f1=&p_f2=&p_f3=&p_f4=&p_f5="; // add 2009/03/06 Y.Matsukawa if(ZdcEmapSearchFirstCstm == 1) { url += "&first_search=1"; } //if(ZdcEmapMapShopDetailMrkId != null) url = url + "&detail=1";//詳細表示フラグ del 2009/10/13 Y.Matsukawa // add 2009/10/13 Y.Matsukawa [ // 詳細表示中 if (ZdcEmapMapShopDetailMrkId != null) { // 詳細表示フラグ url += "&detail=1"; // 詳細表示中の拠点ID var mrk = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapShopDetailMrkId); if (mrk && mrk.data1) url += "&dkid="+mrk.data1; } // add 2009/10/13 Y.Matsukawa [ url += "&https_req=1"; ZdcEmapHttpRequestHtml(url, function(html,status){ if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください list["+status+"]"; ZdcEmapListObj.innerHTML = html; // add 2015/03/23 K.Iwayoshi [ // 相談ボタン用 SMBC_DetailButtonShow(ZdcEmapMapShopDetailMrkId); //add 2015/03/23 K.Iwayoshi ] }); } //リストから選択 function ZdcEmapShopClick(id) { if(ZdcEmapButtonNG()) return; ZdcEmapSearchPoint = null;//必ず再検索させるため var mrk = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapShopMrkId[id]); //表示する //ZdcEmapShopDetailKidClick(mrk.data1,mrk.Point.my,mrk.Point.mx,mrk.data2,mrk.nflg); mod 2009/09/04 Y.Matsukawa ZdcEmapShopDetailKidClick(mrk.data1,mrk.Point.my,mrk.Point.mx,mrk.data2,mrk.nflg,mrk.lvl); //add 2015/03/23 K.Iwayoshi [ // 相談ボタン用 SMBC_DetailButtonShow(id); //add 2015/03/23 K.Iwayoshi ] //add 2015/03/23 K.Iwayoshi [ // 非表示処理 フラグを立てる ShowListButtonFlag = true; //add 2015/03/23 K.Iwayoshi ] } //add 2015/03/23 K.Iwayoshi [ // 三井住友用 相談ボタン表示処理 ShowListButtonFlag = false; //三井住友用 相談ボタン表示処理 function SMBC_DetailButtonShow(kid){ //相談ボタン表示処理 オプションでSMBC_DETAIL_BUTTON_SHOW_FLAGフラグに1をセットしないと動作しない if(0 == 1) { //相談ボタンフラグの取得 var id = document.getElementById(kid + "_SHOWFLAG"); //フラグチェック 1の場合は表示 if(id != null && id.getAttribute("flagValue") == 1){ //表示処理 // mod 2015/04/22 H.Yasunaga 下位互換用関数にてクラス名指定でエレメントを取得する //var eles = document.getElementsByClassName(""); var eles = CompatiblegetElementsByClassName(""); // mod 2015/04/22] for(var i = 0 ; i < eles.length ; i++){ eles[i].style.display = ""; eles[i].setAttribute("value" , kid); } }else if(id != null && id.getAttribute("flagValue") != 1){ //表示処理 // mod 2015/04/22 H.Yasunaga 下位互換用関数にてクラス名指定でエレメントを取得する //var eles = document.getElementsByClassName(""); var eles = CompatiblegetElementsByClassName(""); // mod 2015/04/22] for(var i = 0 ; i < eles.length ; i++){ eles[i].style.display = "none"; eles[i].setAttribute("value" , kid); } } //表示処理 if(ShowListButtonFlag){ // mod 2015/04/22 H.Yasunaga 下位互換用関数にてクラス名指定でエレメントを取得する[ //var eles = document.getElementsByClassName(""); var eles = CompatiblegetElementsByClassName(""); // mod 2015/04/22] for(var i = 0 ; i < eles.length ; i++){ eles[i].style.display = "none"; } }else{ // mod 2015/04/22 H.Yasunaga 下位互換用関数にてクラス名指定でエレメントを取得する[ //var eles = document.getElementsByClassName(""); var eles = CompatiblegetElementsByClassName(""); // mod 2015/04/22] for(var i = 0 ; i < eles.length ; i++){ eles[i].style.display = ""; } } } } //add 2015/03/23 K.Iwayoshi ] //最寄検索を隠す function ZdcEmapSearchShopClose() { ZdcEmapCondObj.innerHTML = ""; ZdcEmapCondObj.mode = ""; ZdcEmapListObj.innerHTML = ""; for( i = 0;i < ZdcEmapMapShopMrkCnt;i ++) { ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapShopMrkId[i]);//マーカー削除 ZdcEmapMapShopMrkId[i] = null; } ZdcEmapMapShopMrkCnt = 0; } var ZdcEmapMapFrontShopMrkId = null; // add 2009/10/14 Y.Matsukawa //指定されたアイコンを前面にもってくる function ZdcEmapMapFrontShopMrk(id){ if(ZdcEmapMapShopMrkId[id] != null) { var mrk = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapShopMrkId[id]); // del 2009/10/14 Y.Matsukawa [ // ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapShopMrkId[id]); // ZdcEmapMapShopMrkId[id] = ZdcEmapMapUserLyr.addMarker(mrk); // //イベント当てなおし // if(mrk.mouseclickmarker) ZdcEvent.addListener(mrk, "mouseclickmarker", mrk.mouseclickmarker); // if(mrk.mouseovermarker) ZdcEvent.addListener(mrk, "mouseovermarker" , mrk.mouseovermarker); // if(mrk.mouseoutmarker) ZdcEvent.addListener(mrk, "mouseoutmarker" , mrk.mouseoutmarker); // del 2009/10/14 Y.Matsukawa ] // add 2009/10/14 Y.Matsukawa [ ZdcEmapMapFrontShopReset(); mrk.setTopZIndex(); ZdcEmapMapFrontShopMrkId = ZdcEmapMapShopMrkId[id]; // add 2009/10/14 Y.Matsukawa ] } } //詳細アイコンを前面にもってくる function ZdcEmapMapFrontShopDetail(){ var mrk; if(ZdcEmapMapShopDetailMrkId != null) { //フォーカス // del 2009/10/14 Y.Matsukawa [ // mrk = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapCurFocusMrkId); // ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapCurFocusMrkId); // ZdcEmapMapCurFocusMrkId = ZdcEmapMapUserLyr.addMarker(mrk); // //アイコン // mrk = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapShopDetailMrkId); // ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapShopDetailMrkId); // ZdcEmapMapShopDetailMrkId = ZdcEmapMapUserLyr.addMarker(mrk); // //イベント当てなおし // if(mrk.mouseclickmarker) ZdcEvent.addListener(mrk, "mouseclickmarker", mrk.mouseclickmarker); // if(mrk.mouseovermarker) ZdcEvent.addListener(mrk, "mouseovermarker" , mrk.mouseovermarker); // if(mrk.mouseoutmarker) ZdcEvent.addListener(mrk, "mouseoutmarker" , mrk.mouseoutmarker); // del 2009/10/14 Y.Matsukawa ] // add 2009/10/14 Y.Matsukawa [ ZdcEmapMapFrontShopReset(); mrk = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapCurFocusMrkId); mrk.setTopZIndex(5); mrk = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapShopDetailMrkId); mrk.setTopZIndex(); ZdcEmapMapFrontShopMrkId = ZdcEmapMapShopDetailMrkId; // ZdcEmapMapFrontShopMrkId = ZdcEmapMapCurFocusMrkId; // add 2009/10/14 Y.Matsukawa ] } } //前面に持ってきたアイコンを元に戻す add 2009/10/14 Y.Matsukawa function ZdcEmapMapFrontShopReset() { if (ZdcEmapMapFrontShopMrkId != null) { var mrk = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapFrontShopMrkId); if (mrk) mrk.setDefaultZIndex(); ZdcEmapMapFrontShopMrkId = null; } } // アイコンの重なり判定 add 2011/07/19 K.Masuda [ var D_ZOOM = new Array(); var D_ZOOM2PXMS_LAT = new Array(); var D_ZOOM2PXMS_LON = new Array(); D_ZOOM["1"]=89; D_ZOOM2PXMS_LAT["89"]=128836.6013; D_ZOOM2PXMS_LON["89"]=158117.6471; D_ZOOM["2"]=87; D_ZOOM2PXMS_LAT["87"]=64418.30065; D_ZOOM2PXMS_LON["87"]=79058.82353; D_ZOOM["3"]=85; D_ZOOM2PXMS_LAT["85"]=28183.00654; D_ZOOM2PXMS_LON["85"]=34588.23529; D_ZOOM["4"]=82; D_ZOOM2PXMS_LAT["82"]=14954.24837; D_ZOOM2PXMS_LON["82"]=18352.94118; D_ZOOM["5"]=81; D_ZOOM2PXMS_LAT["81"]=10352.94118; D_ZOOM2PXMS_LON["81"]=12705.88235; D_ZOOM["6"]=77; D_ZOOM2PXMS_LAT["77"]=5751.633987; D_ZOOM2PXMS_LON["77"]=7058.823529; D_ZOOM["7"]=72; D_ZOOM2PXMS_LAT["72"]=2588.235294; D_ZOOM2PXMS_LON["72"]=3176.470588; D_ZOOM["8"]=70; D_ZOOM2PXMS_LAT["70"]=1581.699346; D_ZOOM2PXMS_LON["70"]=1941.176471; D_ZOOM["9"]=67; D_ZOOM2PXMS_LAT["67"]=1150.326797; D_ZOOM2PXMS_LON["67"]=1411.764706; D_ZOOM["10"]=62; D_ZOOM2PXMS_LAT["62"]=539.2156863; D_ZOOM2PXMS_LON["62"]=661.7647059; D_ZOOM["11"]=56; D_ZOOM2PXMS_LAT["56"]=206.6993464; D_ZOOM2PXMS_LON["56"]=253.6764706; D_ZOOM["12"]=55; D_ZOOM2PXMS_LAT["55"]=152.7777778; D_ZOOM2PXMS_LON["55"]=187.5000000; D_ZOOM["13"]=52; D_ZOOM2PXMS_LAT["52"]=98.85620915; D_ZOOM2PXMS_LON["52"]=121.3235294; D_ZOOM["14"]=50; D_ZOOM2PXMS_LAT["50"]=74.14215686; D_ZOOM2PXMS_LON["50"]=90.99264706; D_ZOOM["15"]=46; D_ZOOM2PXMS_LAT["46"]=47.18137255; D_ZOOM2PXMS_LON["46"]=57.90441176; D_ZOOM["16"]=44; D_ZOOM2PXMS_LAT["44"]=33.70098039; D_ZOOM2PXMS_LON["44"]=41.36029412; D_ZOOM["17"]=42; D_ZOOM2PXMS_LAT["42"]=26.96078431; D_ZOOM2PXMS_LON["42"]=33.08823529; D_ZOOM["18"]=39; D_ZOOM2PXMS_LAT["39"]=15.72712418; D_ZOOM2PXMS_LON["39"]=19.30147059; var IconGrp = new Array(); function ZdcEmapIconOverlap(icnt,lvl){ var icdt,ic,tmpic,p1,p2,c1,c2,c3,c4,obj; var nlatmin = new Array(); var nlatmax = new Array(); var nlonmin = new Array(); var nlonmax = new Array(); var ZGobj = new ZdcGeometric(); for(ic=icnt-1; ic>=0; ic--){ icdt = ZdcEmapIconDt[ic].split(":"); // icdt[0] lat:緯度 // icdt[1] lon:経度 // icdt[2] w:アイコン幅 // icdt[3] h:アイコン高 nlatmin[ic] = Math.round(parseInt(icdt[0]) + (D_ZOOM2PXMS_LAT[D_ZOOM[lvl]] * (parseInt(icdt[2]) / 2))); // 右上緯度 nlonmin[ic] = Math.round(parseInt(icdt[1]) + (D_ZOOM2PXMS_LON[D_ZOOM[lvl]] * (parseInt(icdt[3]) / 2))); // 右上経度 nlatmax[ic] = Math.round(parseInt(icdt[0]) - (D_ZOOM2PXMS_LAT[D_ZOOM[lvl]] * (parseInt(icdt[2]) / 2))); // 左下緯度 nlonmax[ic] = Math.round(parseInt(icdt[1]) - (D_ZOOM2PXMS_LON[D_ZOOM[lvl]] * (parseInt(icdt[3]) / 2))); // 左下経度 } for(ic=icnt-1; ic>=0; ic--){ // id->kid変換 obj = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapShopMrkId[ic]); IconGrp[ic] = obj.data1; // 重なり判定 for(tmpic=icnt-1; tmpic>=0; tmpic--){ if( tmpic == ic){ continue; } // 自分自身は除外 // id->kid変換 obj = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapShopMrkId[tmpic]); // 矩形緯度経度 p1 = new ZdcPoint(nlonmin[ic],nlatmin[ic],2); p2 = new ZdcPoint(nlonmax[ic],nlatmax[ic],2); // 線分緯度経度 c1 = new ZdcPoint(nlonmin[tmpic],nlatmin[tmpic],2); // 右上緯度経度 c2 = new ZdcPoint(nlonmax[tmpic],nlatmin[tmpic],2); // 左上緯度経度 c3 = new ZdcPoint(nlonmax[tmpic],nlatmax[tmpic],2); // 左下緯度経度 c4 = new ZdcPoint(nlonmin[tmpic],nlatmax[tmpic],2); // 右下緯度経度 // 矩形に線分が交差するか? if( ZGobj.isLineCrossRect(c1,c2,p1,p2) ){ IconGrp[ic] += "," + obj.data1; continue; } if( ZGobj.isLineCrossRect(c2,c3,p1,p2) ){ IconGrp[ic] += "," + obj.data1; continue; } if( ZGobj.isLineCrossRect(c3,c4,p1,p2) ){ IconGrp[ic] += "," + obj.data1; continue; } if( ZGobj.isLineCrossRect(c4,c1,p1,p2) ){ IconGrp[ic] += "," + obj.data1; continue; } } } } // add 2011/07/19 K.Masuda ] //------------------------------------------------------------- //各詳細 //------------------------------------------------------------- //詳細表示(拠点指定) 拠点接続用 function ZdcEmapShopDetailKidFirst(kid,lat,lon,icnno,nflg,nomove,lvl,nomap) { //add 2015/03/23 K.Iwayoshi [ // 相談ボタンフラグの取得 var id = document.getElementById(kid + "_SHOWFLAG"); //add 2015/03/23 K.Iwayoshi ] //add 2015/03/23 K.Iwayoshi [ // 非表示処理 フラグを立てる ShowListButtonFlag = true; //add 2015/03/23 K.Iwayoshi ] ZdcEmapSearchClickFlg = 1; if (!lvl) lvl = 0; if (!nomap) nomap = 0; //画面遷移履歴 var tmp = "ZdcEmapSearchEventStop();ZdcEmapMapMove('"+lat+"','"+lon+"','"+ZdcEmapMapObj.getMapScale()+"');" + "ZdcEmapShopDetailKidFirst('"+kid+"','"+lat+"','"+lon+"','"+icnno+"','"+nflg+"','"+lvl+"','"+nomap+"');"; ZdcEmapHistoryAdd("詳細表示",tmp); ZdcEmapHistorySave(); if (typeof ZdcEmapCFShopDetailKidFirst == 'function') { ZdcEmapCFShopDetailKidFirst(kid); } // if (nomap == 1) { ZdcEmapShopDetailKidNoMap(kid); return; } else { ZdcEmapShopDetailKid(kid,lat,lon,icnno,nflg,nomove,lvl); } if(0 == 0) ZdcEmapSearchShopStart(); // 2008/10/15 Y.Matsukawa add [ if(0) { //拠点以外のアイコンをクリア for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) { ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapPoiMrkId[i]); ZdcEmapMapPoiMrkId[i] = null; } } // 2008/10/15 Y.Matsukawa add ] // add 2015/03/23 K.Iwayoshi [ //相談ボタン表示処理 オプションでSMBC_DETAIL_BUTTON_SHOW_FLAGフラグに1をセットしないと動作しない if(0 == 1) { //フラグチェック 1の場合は表示 if(id != null && id.getAttribute("flagValue") == 1){ //表示処理 // mod 2015/04/22 H.Yasunaga 下位互換用関数にてクラス名指定でエレメントを取得する[ //var eles = document.getElementsByClassName(""); var eles = CompatiblegetElementsByClassName(""); // mod 2015/04/22] for(var i = 0 ; i < eles.length ; i++){ eles[i].style.display = ""; eles[i].setAttribute("value" , kid); } } } // add 2015/03/23 K.Iwayoshi ] // add 2016/02/15 Y.Uesugi [ //絞込み非表示モードだと非表示とする ZdcEmapCondObj.mode = ""; ZdcEmapCondObj.style.visibility = "hidden"; ZdcEmapCondObj.innerHTML = ""; // add 2016/02/15 Y.Uesugi ] } //詳細表示(拠点指定) //function ZdcEmapShopDetailKidClick(kid,lat,lon,icnno,nflg) { mod 2009/09/04 Y.Matsukawa function ZdcEmapShopDetailKidClick(kid,lat,lon,icnno,nflg,lvl) { if(ZdcEmapButtonNG()) return; if(ZdcEmapMapObj.ZdcEmapMode == "print") return;//印刷モード時は詳細出さない if (!lvl) lvl = 0; // add 2009/09/04 Y.Matsukawa //画面遷移履歴 var tmp = "ZdcEmapSearchEventStop();ZdcEmapMapObj.setMapScale("+ZdcEmapMapObj.getMapScale()+");" //+ "ZdcEmapShopDetailKidClick('"+kid+"','"+lat+"','"+lon+"','"+icnno+"','"+nflg+"');"; mod 2009/09/04 Y.Matsukawa + "ZdcEmapShopDetailKidClick('"+kid+"','"+lat+"','"+lon+"','"+icnno+"','"+nflg+"','"+lvl+"');"; if(ZdcEmapDetailObj.innerHTML == "" || ZdcEmapHistoryClickChk()) ZdcEmapHistoryAdd("詳細表示",tmp); else ZdcEmapHistoryChange("詳細表示",tmp); ZdcEmapHistorySave(); // ZdcEmapSearchPoint = null;//必ず再検索させるため //ZdcEmapShopDetailKid(kid,lat,lon,icnno,nflg); mod 2009/09/04 Y.Matsukawa ZdcEmapShopDetailKid(kid,lat,lon,icnno,nflg,false,lvl); if(0 == 0) ZdcEmapSearchShopStart(); // 2008/10/15 Y.Matsukawa add [ if(0) { //拠点以外のアイコンをクリア for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) { ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapPoiMrkId[i]); ZdcEmapMapPoiMrkId[i] = null; } // 地図上のカーソル外す 2010/04/23 Y.Matsukawa ZdcEmapMapCursorRemove(); } // 2008/10/15 Y.Matsukawa add ] //add 2015/03/23 K.Iwayoshi[ // 相談ボタン用 SMBC_DetailButtonShow(kid); //add 2015/03/23 K.Iwayoshi ] //add 2015/03/23 K.Iwayoshi [ // 非表示処理 フラグを立てる ShowListButtonFlag = true; //add 2015/03/23 K.Iwayoshi] // add 2016/02/15 Y.Uesugi [ //絞込み非表示モードだと非表示とする ZdcEmapCondObj.mode = ""; ZdcEmapCondObj.style.visibility = "hidden"; ZdcEmapCondObj.innerHTML = ""; // add 2016/02/15 Y.Uesugi ] } // add 2011/07/19 K.Masuda [ function ZdcEmapShopMsgOrDetail(kid,lat,lon,icnno,nflg,lvl,id) { for(var j=0; j 18) return; //アイコンを前面に出す if(id != null) ZdcEmapMapFrontShopMrk(id); else ZdcEmapMapFrontShopDetail(); //デザイン ZdcEmapMsg.setImage('https://www.e-map.ne.jp/pc/img/msg/0001.png',new ZdcSize(223,125), 'https://www.e-map.ne.jp/pc/img/msg/0001-t.png',new ZdcSize(194,67), 'https://www.e-map.ne.jp/pc/img/msg/0001-x.png',new ZdcSize(13,13), 'https://www.e-map.ne.jp/pc/img/msg/0001-s.png',new ZdcSize(295,144), 'https://www.e-map.ne.jp/pc/img/msg/0001-p.gif'); ZdcEmapMsg.setDocPosition(0,0,11,8,11,205,55,0); ZdcEmapMsg.setDocOffset(0,-125); ZdcEmapMsg.setTextClass("UserMsgWindowTextStyle"); // 複数ある場合、全てのkidを渡す var kidkosu = IconGrp[j].split(","); var kidprm = ""; for( var k=0; k 0) ZdcEmapMapObj.setMapScale(16);//縮尺変更 del 2009/09/04 Y.Matsukawa // add 2009/09/04 Y.Matsukawa [ if (lvl && lvl != 0) { ZdcEmapMapObj.setMapScale(lvl); } else if(16 > 0) { ZdcEmapMapObj.setMapScale(16); } // add 2009/09/04 Y.Matsukawa ] //詳細を表示させる //var url = "http://www.e-map.ne.jp/pc/emapview_shop_detail.htm?cid=decorte&kid="+kid; mod 2011/02/09 Y.Matsukawa var url = "http://127.0.0.1/pc/emapview_shop_detail.htm?cid=decorte&kid="+kid; url += "&p_s1=&p_s2=&p_s3=&p_s4=&p_s5=&p_f1=&p_f2=&p_f3=&p_f4=&p_f5="; // add 2009/02/23 Y.Matsukawa // add 2009/12/10 Y.Matsukawa [ //絞り込み条件 cond = ZdcEmapGetCondParm(); if(cond) url = url + '&'+cond; // add 2009/12/10 Y.Matsukawa ] url += "&https_req=1"; ZdcEmapHttpRequestHtml(url, function(html,status){ if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください detail["+status+"]"; ZdcEmapDetailObj.innerHTML = html; // add 2009/09/28 Y.Matsukawa [ var dtl_script = null; for(i=1; i<=5; i++) { dtl_script = document.getElementById("dtl_script"+i); if (dtl_script && dtl_script.innerHTML) eval(dtl_script.innerHTML); } // add 2009/09/28 Y.Matsukawa ] if (typeof ZdcEmapCFAfterShopDetail == 'function') { var opts = new ZdcKyotenIdOptions(); opts.cid = 'decorte' opts.kid = kid; opts.nolog = true; opts.timeout = 10000; ZdcEmapKyotenId.opts = opts; ZdcEmapKyotenId.search(opts, ZdcEmapCFAfterShopDetailEx); } //add 20150323 K.Iwayoshi [ // 相談ボタン用 SMBC_DetailButtonShow(kid); //add 20150323 K.Iwayoshi ] //add 2015/03/23 K.Iwayoshi [ //店舗詳細画面単体表示時の各種ボタンの非表示処理 if(0 == 1) { var data_detail = document.getElementById("SMBC_DETAIL_RUN_FLUG"); //フラグチェック 1の場合は非表示 if(data_detail != null && data_detail.getAttribute("flagValue") == "1"){ var table_inner = document.getElementById("custDtlInnerTable"); table_inner.style.display = "none"; } } //add 2015/03/23 K.Iwayoshi ] }); //フォーカスカーソルを表示する mrk = ZdcEmapMakeMrk(0,lat,lon, ZdcEmapIconW['@SEL'],ZdcEmapIconH['@SEL'],0,0, ZdcEmapIconOffsetX['@SEL'],ZdcEmapIconOffsetY['@SEL'],0,0,0,0, ZdcEmapIconImg['@SEL'],'', '','',0,null,null,null); if(ZdcEmapMapCurFocusMrkId != null) ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapCurFocusMrkId); ZdcEmapMapCurFocusMrkId = ZdcEmapMapUserLyr.addMarker(mrk); mrk.setTopZIndex(3); // add 2009/10/14 Y.Matsukawa //詳細アイコンを表示する if(nflg == 1) tmp = ZdcEmapIconImg["@NEW"]; else tmp = ""; mrk = ZdcEmapMakeMrk(0,lat,lon, ZdcEmapIconW[icnno],ZdcEmapIconH[icnno],ZdcEmapIconW['@NEW'],ZdcEmapIconH['@NEW'], ZdcEmapIconOffsetX[icnno],ZdcEmapIconOffsetY[icnno],ZdcEmapIconW[icnno]-ZdcEmapIconW['@NEW'],ZdcEmapIconH[icnno],0,-8, ZdcEmapIconImg[icnno],tmp, kid,icnno,nflg, function() { ZdcEmapShopMsg(null); }, null, //null mod 2009/10/14 Y.Matsukawa null ); if(ZdcEmapMapShopDetailMrkId != null) ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapShopDetailMrkId); ZdcEmapMapShopDetailMrkId = ZdcEmapMapUserLyr.addMarker(mrk); //動作モードの切り替え if(0) { //拠点詳細以外は非表示 ZdcEmapSearchEventStop(); ZdcEmapSearchShopClose(); } else { //最寄拠点表示 ZdcEmapSearchEventStart(); } //ZdcEmapMapMove(lat, lon); 2007/11/16 mod Y.Matsukawa if (!notmove) ZdcEmapMapMove(lat, lon); ZdcEmapMapObj.saveMapLocation(); //他の情報を閉じる ZdcEmapShopMsgClose(); ZdcEmapSearchClose(); ZdcEmapPoiRouteClear(); } function ZdcEmapShopDetailKidNoMap(kid) { // 詳細を表示させる var url = "http://127.0.0.1/pc/emapview_shop_detail.htm?cid=decorte&kid="+kid+"&nomap=1"; url += "&p_s1=&p_s2=&p_s3=&p_s4=&p_s5=&p_f1=&p_f2=&p_f3=&p_f4=&p_f5="; // 絞り込み条件 cond = ZdcEmapGetCondParm(); if(cond) url = url + '&'+cond; url += "&https_req=1"; ZdcEmapSearchRequest(url); } //拠点詳細を隠す function ZdcEmapShopDetailClose() { ZdcEmapDetailObj.innerHTML = ""; if(ZdcEmapMapShopDetailMrkId != null) { ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapShopDetailMrkId); ZdcEmapMapShopDetailMrkId = null; } if(ZdcEmapMapCurFocusMrkId != null) { ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapCurFocusMrkId); ZdcEmapMapCurFocusMrkId = null; } } //詳細表示(アイコンのみ表示) //function ZdcEmapShopIcon(lat,lon,icnno,nflg) { // 2011/06/29 mod K.Masuda function ZdcEmapShopIcon(lat,lon,icnno,nflg,NotMoveFlag) { //登録されていないアイコンIDの場合は処理しない if (!ZdcEmapIconImg[icnno]) return; var mrk; //地図移動 // 2011/06/29 mod K.Masuda [ //ZdcEmapMapMove(lat, lon); if( NotMoveFlag == undefined || NotMoveFlag != 1 ){ ZdcEmapMapMove(lat, lon); } // 2011/06/29 mod K.Masuda ] ZdcEmapMapObj.saveMapLocation(); //フォーカスカーソルを表示する mrk = ZdcEmapMakeMrk(0,lat,lon, ZdcEmapIconW['@SEL'],ZdcEmapIconH['@SEL'],0,0, ZdcEmapIconOffsetX['@SEL'],ZdcEmapIconOffsetY['@SEL'],0,0,0,0, ZdcEmapIconImg['@SEL'],'', '','',0,null,null,null); if(ZdcEmapMapCurFocusMrkId != null) ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapCurFocusMrkId); ZdcEmapMapCurFocusMrkId = ZdcEmapMapUserLyr.addMarker(mrk); mrk.setTopZIndex(3); // add 2009/10/14 Y.Matsukawa //アイコンを表示する if(nflg == 1) tmp = ZdcEmapIconImg["@NEW"]; else tmp = ""; mrk = ZdcEmapMakeMrk(0,lat,lon, ZdcEmapIconW[icnno],ZdcEmapIconH[icnno],ZdcEmapIconW['@NEW'],ZdcEmapIconH['@NEW'], ZdcEmapIconOffsetX[icnno],ZdcEmapIconOffsetY[icnno],ZdcEmapIconW[icnno]-ZdcEmapIconW['@NEW'],ZdcEmapIconH[icnno],0,-8, ZdcEmapIconImg[icnno],tmp, 0,icnno,nflg, null, null,null); if(ZdcEmapMapShopDetailMrkId != null) ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapShopDetailMrkId); ZdcEmapMapShopDetailMrkId = ZdcEmapMapUserLyr.addMarker(mrk); } //function debug1(s) { //var d = document.getElementById("mapRuleLink"); //d.innerHTML += s; //} //フキダシ表示 function ZdcEmapShopMsg(id) { if(ZdcEmapMapObj.ZdcEmapMode == "print") return;//印刷モード時は吹き出し出さない if(ZdcEmapButtonNG()) return; //if(ZdcEmapCondObj.mode == "eki" || ZdcEmapCondObj.mode == "jnr") return;//最寄駅や施設を出してる時は出さない mod 2010/06/16 Y.Matsukawa if(ZdcEmapCondObj.mode == "eki" || ZdcEmapCondObj.mode == "jnr" || ZdcEmapCondObj.mode == "froute") return;//最寄駅や施設を出してる時は出さない ZdcEmapShopMsgClose(); //縮尺が範囲外なら表示しない var s = ZdcEmapMapObj.getMapScale(); if(s < 1 || s > 18) return; //アイコンを前面に出す if(id != null) ZdcEmapMapFrontShopMrk(id); else ZdcEmapMapFrontShopDetail(); //デザイン ZdcEmapMsg.setImage('https://www.e-map.ne.jp/pc/img/msg/0001.png',new ZdcSize(223,125), 'https://www.e-map.ne.jp/pc/img/msg/0001-t.png',new ZdcSize(194,67), 'https://www.e-map.ne.jp/pc/img/msg/0001-x.png',new ZdcSize(13,13), 'https://www.e-map.ne.jp/pc/img/msg/0001-s.png',new ZdcSize(295,144), 'https://www.e-map.ne.jp/pc/img/msg/0001-p.gif'); ZdcEmapMsg.setDocPosition(0,0,11,8,11,205,55,0); ZdcEmapMsg.setDocOffset(0,-125); ZdcEmapMsg.setTextClass("UserMsgWindowTextStyle"); if(id != null) var obj = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapShopMrkId[id]); else var obj = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapShopDetailMrkId); //フキダシを表示させる //var url = "http://www.e-map.ne.jp/pc/emapview_msg.htm?cid=decorte&id="+i+"&kid="+obj.data1; mod 2011/02/09 Y.Matsukawa var url = "http://127.0.0.1/pc/emapview_msg.htm?cid=decorte&id="+i+"&kid="+obj.data1; url += "&p_s1=&p_s2=&p_s3=&p_s4=&p_s5=&p_f1=&p_f2=&p_f3=&p_f4=&p_f5="; // add 2009/03/17 Y.Matsukawa url += "&https_req=1"; ZdcEmapHttpRequestHtml(url, function(html,status){ if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください msg["+status+"]"; var node = document.createElement('DIV'); node.innerHTML = html; //obj.openUserMsgWindow(ZdcEmapMsg,obj.Point,node,1); // mod 2011/07/06 K.Masuda obj.openUserMsgWindow(ZdcEmapMsg,obj.Point,node,1); //}); mod 2009/02/16 Y.Matsukawa }, true); } //閉じる function ZdcEmapShopMsgClose() { if (ZdcEmapMapObj.getUserMsgOpenStatus()) { //ZdcEmapSearchEventStart(); del 2008/10/15 Y.Matsukawa ZdcEmapMapObj.closeUserMsgWindow(); } ZdcEmapMapFrontShopReset(); // add 2009/10/14 Y.Matsukawa ZdcEmapTipsClose();//TIPSもついでに閉じる } //印刷画面開く function ZdcEmapShopPrintClick(id) { if(ZdcEmapButtonNG()) return; //window.open = "http://www.e-map.ne.jp/pc/print.htm?cid=decorte&kid="+id; mod 2010/07/20 Y.Matsukawa window.open = "https://www.e-map.ne.jp/pc/print.htm?cid=decorte&kid="+id; } //詳細の最寄施設検索 function ZdcEmapShopDetailNpoiClick() { if(ZdcEmapButtonNG()) return; if(ZdcEmapMapShopDetailMrkId == null) return; //最寄拠点検索を停止 ZdcEmapSearchEventStop(); //詳細に移動 var obj = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapShopDetailMrkId); ZdcEmapMapMove(obj.Point.my, obj.Point.mx); //最寄施設検索 ZdcEmapPoiClick(1); } // add 2011/06/16 Y.Matsukawa function ZdcEmapCFAfterShopDetailEx(result) { if (typeof ZdcEmapCFAfterShopDetail == 'function') { ZdcEmapCFAfterShopDetail(result.item); } } //------------------------------------------------------------- //最寄駅検索 //------------------------------------------------------------- // 2008/10/22 Y.Matsukawa add var ZdcEmapNeki = new ZdcNearStation(); ZdcEvent.addListener(ZdcEmapNeki, "end", ZdcEmapStationResult); //駅検索開始 function ZdcEmapStationClick(lat,lon) { if(ZdcEmapButtonNG()) return; if (typeof ZdcEmapCFBeforeStationClick == 'function') { ZdcEmapCFBeforeStationClick(); } ZdcEmapPoiRouteClear(); // 2007/11/28 mod Y.Matsukawa ※ZdcEmapShopMsgCloseの中でSearchEventStartしてしまっているので、順番入れ替えました // ZdcEmapSearchEventStop(); // ZdcEmapShopMsgClose(); ZdcEmapShopMsgClose(); ZdcEmapSearchEventStop(); // ZdcEmapStation(lat,lon); //画面を切り替える if(ZdcEmapCondObj.mode != "eki") { ZdcEmapSearchShopClose(); ZdcEmapCondObj.innerHTML = ""; //if(ZdcEmapCondObj.mode == "eki" || ZdcEmapCondObj.mode == "jnr") ZdcEmapHistoryChange("最寄駅検索",""); mod 2010/06/16 Y.Matsukawa if(ZdcEmapCondObj.mode == "eki" || ZdcEmapCondObj.mode == "jnr" || ZdcEmapCondObj.mode == "froute") ZdcEmapHistoryChange("最寄駅検索",""); else ZdcEmapHistoryAdd("最寄駅検索",""); ZdcEmapHistorySave(); ZdcEmapCondObj.mode = "eki"; ZdcEmapCondObj.style.visibility = "hidden"; } } //駅検索メイン処理 function ZdcEmapStation(lat,lon) { ZdcEmapReadOn(); // var opts = new ZdcNearStationOptions(); opts.startPos = 1; opts.maxCount = 5; if(lat && lon) { opts.lat = lat; opts.lon = lon; } else { var p = new ZdcPoint(); p = ZdcEmapMapObj.getMapLocation(); opts.lat = p.my; opts.lon = p.mx; } opts.limitCount = 5; opts.radius = 5000; opts.pointFlg = 2; opts.lang = ''; // add 2008/08/22 Y.Matsukawa ZdcEmapNeki.opts = opts; //リストを表示する ZdcEmapStationList(0); //アイコンを取得する ZdcEmapNeki.search(opts); } //検索処理 function ZdcEmapStationResult(result) { ZdcEmapSearchClose(); ZdcEmapPoiRouteClear(); //エラー処理 if(result.status != 0 && result.status != 3 && result.status != 5 && result.status != 9) { alert("検索に失敗しました ekires["+result.status+"]"); ZdcEmapSearchEventStart(); ZdcEmapListObj.innerHTML = ""; ZdcEmapReadOff(); return; } //地図に置く var i,item,mrk,maxlat=ZdcEmapNeki.opts.lat,maxlon=ZdcEmapNeki.opts.lon,minlat=maxlat,minlon=maxlon; for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) { ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapPoiMrkId[i]);//マーカー削除 ZdcEmapMapPoiMrkId[i] = null; } ZdcEmapMapPoiMrkCnt = 0; for( i in result.items ){ item = result.items[i]; //アイコンの作成 mrk = ZdcEmapMakeMrk(i,item.lat,item.lon, 19,24,0,0, -10,-12,0,0,0,0, 'https://www.e-map.ne.jp/pc/img/icon_eki/0000.gif',item.icons, item.stationName,"",0, function() { ZdcEmapRouteSearch('店舗',ZdcEmapNeki.opts.lon,ZdcEmapNeki.opts.lat,this.data,this.Point.mx,this.Point.my) }, function() { ZdcEmapTipsClick(this.id); },null); if (ZdcEmapMapPoiMrkId[i] != null) ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapPoiMrkId[i]);//念のため ZdcEmapMapPoiMrkId[i] = ZdcEmapMapUserLyr.addMarker(mrk); //最大最小緯度経度取得 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; ZdcEmapMapPoiMrkCnt ++; } if (ZdcEmapMapPoiMrkCnt > 0) { ZdcEmapMapMoveBox(minlat,minlon,maxlat,maxlon,new ZdcPoint(ZdcEmapNeki.opts.lon, ZdcEmapNeki.opts.lat, 2)); } ZdcEmapMapFrontShopDetail(); ZdcEmapMapCursorRemove(); ZdcEmapReadOff(); } //リスト表示 function ZdcEmapStationListClick(page) { if(ZdcEmapButtonNG()) return; ZdcEmapStationList(page) } function ZdcEmapStationList(page) { //var url = "http://www.e-map.ne.jp/pc/emapview_neki.htm?cid=decorte"+ mod 2011/02/09 Y.Matsukawa var url = "http://127.0.0.1/pc/emapview_neki.htm?cid=decorte"+ "&lat="+ZdcEmapNeki.opts.lat+"&lon="+ZdcEmapNeki.opts.lon+"&page="+page; url += "&https_req=1"; ZdcEmapHttpRequestHtml(url, function(html,status){ if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください eki["+status+"]"; ZdcEmapListObj.innerHTML = html; }); } // 出発地を指定してルート探索モード開始 function ZdcEmapFreeRouteClick(lat, lon) { if(ZdcEmapButtonNG()) return; if (typeof ZdcEmapCFBeforeRouteClick == 'function') { ZdcEmapCFBeforeRouteClick(); } //拠点以外のアイコンをクリア for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) { ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapPoiMrkId[i]); ZdcEmapMapPoiMrkId[i] = null; } ZdcEmapPoiRouteClear(); // ルートクリア ZdcEmapShopMsgClose(); // 吹き出し消去 ZdcEmapSearchEventStop(); // 検索イベント停止 // 画面を切り替える if(ZdcEmapCondObj.mode != "froute") { ZdcEmapSearchShopClose(); ZdcEmapCondObj.innerHTML = ""; if(ZdcEmapCondObj.mode == "eki" || ZdcEmapCondObj.mode == "jnr" || ZdcEmapCondObj.mode == "froute") ZdcEmapHistoryChange("最寄駅検索",""); else ZdcEmapHistoryAdd("出発地指定ルート",""); ZdcEmapHistorySave(); ZdcEmapCondObj.mode = "froute"; ZdcEmapCondObj.style.visibility = "hidden"; //var url = "http://www.e-map.ne.jp/pc/emapview_froute.htm?cid=decorte" mod 2011/02/09 Y.Matsukawa var url = "http://127.0.0.1/pc/emapview_froute.htm?cid=decorte" +"&lat="+lat+"&lon="+lon+"&mode=init" +"&p_s1=&p_s2=&p_s3=&p_s4=&p_s5=&p_f1=&p_f2=&p_f3=&p_f4=&p_f5=" ; url += "&https_req=1"; if (ZdcEmapFRouteInitStr) url += "&frouteinit="+ZdcEmapFRouteInitStr; ZdcEmapHttpRequestHtml(url, function(html,status){ if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください froute["+status+"]"; ZdcEmapListObj.innerHTML = html; }); } } // 出発地を指定してルート探索モード開始(Light/Maplink) add 2010/09/07 Y.Matsukawa function ZdcEmapFreeRouteClickLight(lat, lon) { if(ZdcEmapButtonNG()) return; //拠点以外のアイコンをクリア for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) { ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapPoiMrkId[i]); ZdcEmapMapPoiMrkId[i] = null; } ZdcEmapPoiRouteClear(); // ルートクリア ZdcEmapShopMsgClose(); // 吹き出し消去 ZdcEmapSearchEventStop(); // 検索イベント停止 // 画面を切り替える ZdcEmapSearchShopClose(); //var url = "http://www.e-map.ne.jp/pc/emapview_froute.htm?cid=decorte" mod 2011/02/09 Y.Matsukawa var url = "http://127.0.0.1/pc/emapview_froute.htm?cid=decorte" +"&lat="+lat+"&lon="+lon+"&mode=init" +"&p_s1=&p_s2=&p_s3=&p_s4=&p_s5=&p_f1=&p_f2=&p_f3=&p_f4=&p_f5=" ; url += "&https_req=1"; ZdcEmapHttpRequestHtml(url, function(html,status){ if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください froute["+status+"]"; ZdcEmapListObj.innerHTML = html; }); } // ルート表示 function ZdcEmapFreeRouteDraw(lat, lon) { if(ZdcEmapButtonNG()) return; // 地図中心位置を取得 var center = ZdcEmapMapObj.getMapLocation(); var mx = center.mx; var my = center.my; // ルート描画 ZdcEmapRouteSearch("店舗", lon, lat, "地図中心", mx, my); } // 出発地指定ルート探索を閉じる function ZdcEmapFreeRouteClose() { ZdcEmapListObj.innerHTML = ''; } // フリーワード検索 function ZdcEmapFreeRouteSearch(lat, lon) { var txt = document.getElementById("freeRouteSearchEntText"); if (!txt || !txt.value) return; //var url = "http://www.e-map.ne.jp/pc/emapview_froute.htm?cid=decorte" mod 2011/02/09 Y.Matsukawa var url = "http://127.0.0.1/pc/emapview_froute.htm?cid=decorte" +"&lat="+lat+"&lon="+lon+"&mode=srch" +"&keyword="+txt.value +"&p_s1=&p_s2=&p_s3=&p_s4=&p_s5=&p_f1=&p_f2=&p_f3=&p_f4=&p_f5=" ; url += "&https_req=1"; ZdcEmapHttpRequestHtml(url, function(html,status){ if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください froute["+status+"]"; ZdcEmapListObj.innerHTML = html; }); } // フリーワード検索(ページ送り) function ZdcEmapFreeRoutePage(lat, lon, page, type, keyword) { if (!page) page = 0; if (!type) type = ""; //var url = "http://www.e-map.ne.jp/pc/emapview_froute.htm?cid=decorte" mod 2011/02/09 Y.Matsukawa var url = "http://127.0.0.1/pc/emapview_froute.htm?cid=decorte" +"&lat="+lat+"&lon="+lon+"&mode=srch&page="+page+"&type="+type +"&keyword="+keyword +"&p_s1=&p_s2=&p_s3=&p_s4=&p_s5=&p_f1=&p_f2=&p_f3=&p_f4=&p_f5=" ; url += "&https_req=1"; ZdcEmapHttpRequestHtml(url, function(html,status){ if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください froute["+status+"]"; ZdcEmapListObj.innerHTML = html; }); } // 拠点詳細表示拠点をCookieに書き出し add 2010/09/13 Y.Matsukawa function ZdcEmapCookieWriteShopDetail(cid, kid, knmenc) { var save_value = ""; var new_value = kid+","+knmenc; var pc_shopdtl = ""; var key = "PC_SHOPDTL_"+cid; if (!navigator.cookieEnabled) return; // Cookie読み込み var ck = document.cookie; if (ck != "") { cookies = ck.split(";"); for (i = 0; i < cookies.length; i++) { kv = cookies[i].split("="); if (kv[0].replace(/^\s+|\s+$/g, "") == key) { //pc_shopdtl = kv[1].replace(/^\s+|\s+$/g, ""); mod 2012/06/22 Y.Matsukawa if (kv[1]) pc_shopdtl = kv[1].replace(/^\s+|\s+$/g, ""); break; } } if (pc_shopdtl != "") { vals = pc_shopdtl.split(","); var max = Math.floor(vals.length/2); if (max > -1) max = -1; var oc = 0; for (i = 0; i < max*2; i++) { if (vals[i*2] != undefined) { if (vals[i*2+1] == undefined) vals[i*2+1] = ''; old_value = vals[i*2]+","+vals[i*2+1]; if (old_value != new_value) { save_value += ","+old_value; oc++; if (oc >= max) break; } } } } } save_value = new_value + save_value; // Cookie書き出し ZdcEmapWriteCookie(key, save_value, 365); } function ZdcEmapCookieSaveShopDetail(kid) { } function ZdcEmapCookieClearShopDetail() { var key = "PC_SHOPDTL_decorte"; var str = key + "=;"; str += "path=/;"; str += "secure;samesite=none;"; document.cookie = str; } // Cookie書き出し 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=/;"; str += "secure;samesite=none;"; document.cookie = str; }