//var ZdcEmapKyotenId = null;
//if (typeof ZdcKyotenId == 'function') {
// ZdcEmapKyotenId = new ZdcKyotenId();
//}
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 ZdcEmapSeqIconInfo = new Array();
//-------------------------------------------------------------
//拠点検索関係
//-------------------------------------------------------------
var ZdcEmapNearShop = new ZdcNearShop();
var ZdcEmapSearchPoint = null;//検索した位置を保持
var ZdcEmapSearchScale = null;//検索した縮尺を保持
var ZdcEmapSearchFirst = null;//位置決定後の最初の検索か否か
var ZdcEmapSearchFirstCstm = null; var ZdcEmapSearchFirstPrint = null; var ZdcEmapIconDt = new Array();var ZdcEmapSearchCenter = null;
//検索決定
function ZdcEmapSearchSet(lat,lon,notmove) {
//ZdcEmapShopDetailClose();
//マップ移動
ZdcEmapSearchEventStop();
ZdcEmapSearchCenter = new ZDC.LatLon(Number(lat), Number(lon));
var latlon = ZdcEmapMapObj.getLatLon();
if (!notmove) ZdcEmapMapObj.moveLatLon(ZdcEmapSearchCenter);
//if(13 > 0) ZdcEmapMapObj.setZoom(13);
if(0 > 0) ZdcEmapMapObj.setZoom(0); //拠点検索
ZdcEmapSearchFirst = 1;
ZdcEmapSearchPoint = null;//必ず再検索させるため
ZdcEmapSearchShopStart();
ZdcEmapMapObj.setHome(ZdcEmapSearchCenter);
}
//検索開始
function ZdcEmapSearchShopClick() {
if(ZdcEmapButtonNG()) return;
ZdcEmapSearchPoint = null;//必ず再検索させるため
ZdcEmapSearchShop();
}
function ZdcEmapSearchShopStart() {
if(ZdcEmapMapObj.ZdcEmapMode != "print") ZdcEmapSearchClickFlg = 1;
ZdcEmapSearchPoint = null;//必ず再検索させるため
// del 2011/12/19 Y.Matsukawa [
// ZdcEmapSearchEventAdd("ZdcEmapSearchShop()");
// ZdcEmapSearchEventStart();
// del 2011/12/19 Y.Matsukawa ]
ZdcEmapSearchEventStop(); // add 2011/12/19 Y.Matsukawa
//拠点以外のアイコンをクリア
for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) {
if (ZdcEmapMapPoiMrkId[i]) { ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);
ZdcEmapMapPoiMrkId[i] = null;
}
}
ZdcEmapMapPoiMrkCnt = 0;
//画面を切り替える
if(ZdcEmapCondObj.mode != "cond" && true) {
ZdcEmapSearchShopClose();//拠点以外のリストを消す
//var url = "http://127.0.0.1/p/rkcsymap/cond.htm?cid=rkcsymap";
var url = "http://127.0.0.1/p/rkcsymap/cond.htm?";
//for(i = 1;i <= 200;i ++) if(ZdcEmapSaveCond[i]) url = url + "&cond"+i+"="+ZdcEmapSaveCond[i];//絞込条件
url += "&";
// mod 2022/09/28 M.date
// mod 2022/09/28 M.date
url += "&https_req=1"; // mod 2022/09/28 M.date
url += "&PARENT_HTTP_HOST=www.e-map.ne.jp"; 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() {
ZdcEmapStationCircle(); // 周辺駅からの円描画 add 2014/10/08 Y.Matsukawa
ZdcEmapReadOn();
//位置・範囲取得
var ZdcEmapSearchMapCenterAddr = ZdcEmapMapObj.getLatLon();
var p = ZdcEmapMapObj.getLatLon();
var box = ZdcEmapMapObj.getLatLonBox();
var boxmin = box.getMin();
var boxmax = box.getMax();
if(ZdcEmapSearchPoint != null && 5 == -1) {
//自動再検索しない
ZdcEmapReadOff();
return;
}
//自動検索イベント停止
ZdcEmapSearchEventStop();
//絞り込み条件取得
cond = ZdcEmapGetCond();
ZdcEmapCondDisabled(); //
var opts = new ZdcNearShopOptions();
//opts.cid='rkcsymap'; mod 2011/12/05 Y.Matsukawa
opts.cid='rkcsymap';
opts.lat = p.lat;
opts.lon = p.lon;
if((ZdcEmapSearchFirst != 1) || (0 > 0)) {
//opts.latlon = box.min.lat+","+box.min.lon+","+box.max.lat+","+box.max.lon;
opts.latlon = boxmin.lat+","+boxmin.lon+","+boxmax.lat+","+boxmax.lon;
opts.radius = 0;
ZdcEmapSearchFirstPrint = 0; } else {
ZdcEmapSearchFirst = 0;
ZdcEmapSearchFirstCstm = 1;
opts.researchCount = 1;
opts.radius = 100000;
ZdcEmapSearchFirstPrint = 1;
}
// add 2018/01/15 L.Z SMBC_API2.0移行 End. ?>
opts.jkn = cond;
opts.pos = 1;
opts.minCount = 1; opts.maxCount = 40;
opts.limitCount = 40;
opts.timeout = 10000;
if (ZdcEmapMapShopDetailMrkId != null) {
// 詳細表示中の拠点ID
var mrk = ZdcEmapMapShopDetailMrkId;
if (mrk && mrk.data1) opts.exceptKid = mrk.data1;
}
// add 2011/12/27 H.osamoto [
if ("" != "") { // mod 2022/10/04 M.date
if ("" != "") { // mod 2022/10/04 M.date
opts.exceptKid = ""; // mod 2022/10/04 M.date
}
}
// add 2011/12/27 H.osamoto ]
if ("" != "") { // mod 2022/10/04 M.date
opts.exceptKid = ""; // mod 2022/10/04 M.date
}
// add 2016/01/18 Y.Uesugi [
// 検索中心位置の住所表示
// add 2016/01/18 Y.Uesugi ]
ZdcEmapNearShop.opts = opts;
//リストを表示する
ZdcEmapSearchShopList(0);
//アイコンを表示する
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) {
//var n = obj.selectedIndex + 1;
//ZdcEmapCondParms += "&cond"+condno+"="+n;
if("" != ""){ // mod 2022/10/04 M.date
ZdcEmapCondParms += "&cond"+condno+"="+obj.value;
} else {
var n = obj.selectedIndex + 1;
ZdcEmapCondParms += "&cond"+condno+"="+n;
}
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) {
ZdcEmapCondParms += "&cond"+condno+"="+obj.value; }
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(ZdcEmapCondType[condno] == 'TXTMULTI' ) {
ZdcEmapCondParms += "&cond"+condno+"="+encodeURIComponent(obj.value);
col[colcnt] = ZdcEmapCondVal[condno].replace(/@@@val@@@/g, obj.value);
all[allcnt] = col[colcnt]; allcondno[allcnt] = condno; allcnt++;
colcnt ++;
} else {
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 if (ZdcEmapCondVal[condno] && ZdcEmapCondVal[condno].indexOf(":FW:") > 0) {
ZdcEmapCondParms += "&cond"+condno+"="+encodeURIComponent(obj.value);
col[colcnt] = ZdcEmapCondVal[condno]+"'"+obj.value+"'";
all[allcnt] = col[colcnt]; allcondno[allcnt] = condno; allcnt++;
colcnt ++;
} else if (ZdcEmapCondVal[condno] && ZdcEmapCondVal[condno].indexOf(":NUMB:") > 0) {
ZdcEmapCondParms += "&cond"+condno+"="+encodeURIComponent(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) {
ZdcEmapCondParms += "&cond"+condno+"=1"; 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) {
}
// del 2012/02/08 Y.Matsukawa [
// // グルーピング設定なし(既存動作)
// } 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]+")";
// }
// // text
// for(var k = 0;k < fwcnt;k ++) {
// if(cond) cond += " AND ";
// cond += fw[k];
// }
// del 2012/02/08 Y.Matsukawa ]
}
}
if(typeof ZdcEmapCondAppend[0] !== 'undefined'){
if( ZdcEmapCondAppend[0] != ''){
if(cond != ''){
cond = '('+cond+') '+ZdcEmapCondAppend[1]+' '+ZdcEmapCondAppend[0];
} else {
cond = ZdcEmapCondAppend[0];
}
}
}
return cond;
}
var Nsnet01EmpnoSeq = null; //----------------------------------------------------------------------------------
//
// ZdcEmapSearchShopResult
//
// 最寄拠点検索結果の処理
//
//----------------------------------------------------------------------------------
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();
//マーカー削除
if(ZdcEmapMapShopMrkCnt != null) {
for( i = 0;i < ZdcEmapMapShopMrkCnt;i ++) {
if (ZdcEmapMapShopMrkId[i]) { ZdcEmapMapObj.removeWidget(ZdcEmapMapShopMrkId[i]);
ZdcEmapMapShopMrkId[i] = null;
}
}
}
ZdcEmapMapShopMrkCnt = 0;
//エラー処理
if(result.status != 0 && result.status != 3 && result.status != 5 && result.status != 9) {
alert("検索に失敗しました listres["+result.status+"]" );
ZdcEmapCondEnabled(); ZdcEmapSearchEventStart();
ZdcEmapSearchShopClose();
ZdcEmapReadOff();
return;
}
ZdcEmapSearchFirstCstm = 0; Nsnet01EmpnoSeq = new Object(); //地図に置く
icnt = result.items.length;
for (i=icnt-1; i>=0; i--) {
// add 2012/01/18 H.osamoto ]
item = result.items[i];
if(!item.icon) break;
if(item.nflg == 1) tmp = ZdcEmapIconImg["@NEW"];
else tmp = "";
//最大最小緯度経度取得
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;
// 2012/09/19 H.Osamoto add [
icn_img = ZdcEmapIconImg[item.icon];
icn_num = i + 1;
// 最寄り一覧に数字アイコンを設定(詳細画面、印刷画面を除外)
if ("" != "" && "1" != 1 && "" != 1) { // mod 2022/10/04 M.date
// icn_img = "https://www.e-map.ne.jp/p/rkcsymap/"+"img/icon_num/icon_num_"+icn_num+".gif"; mod 2013/04/19 H.Osamoto
icn_img = "https://www.e-map.ne.jp/p/rkcsymap/img/icon_num/icon_num_"+icn_num+".gif";
// add 2018/05/01 Y.Uesugi [
// 数字アイコンの位置調整
// add 2018/05/01 Y.Uesugi ]
// 2013/03/12 H.Osamoto add [
} else if ("" != "") { // mod 2022/10/04 M.date
// icn_img = "https://www.e-map.ne.jp/p/rkcsymap/"+"img/icon_num/icon_num_"+icn_num+".gif"; mod 2013/04/19 H.Osamoto
icn_img = "https://www.e-map.ne.jp/p/rkcsymap/img/icon_num/icon_num_"+icn_num+".gif";
// 2013/03/12 H.Osamoto add ]
}
// 2012/09/19 H.Osamoto add ]
// 無効なアイコンIDの場合は透明アイコンに差し替え add 2012/11/13 Y.Matsukawa
if (icn_img == null) icn_img = ZdcEmapIconImg["@TP"];
var icon_key = "0";
var seq_icon = null;
if (ZdcEmapSeqIconInfo[icon_key]) {
seq_icon = ZdcEmapSeqIconInfo[icon_key];
seq_icon.seq = i + 1;
}
latlons[ZdcEmapMapShopMrkCnt] = new ZDC.LatLon(item.lat, item.lon);
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],
// ZdcEmapIconImg[item.icon],tmp, 2012/09/19 H.Osamoto mod
icn_img,tmp,
item.id, item.icon, '', item.nflg,
function() { ZdcEmapShopMsg(this.id, '1'); } // mod 2013/01/24 K.Masuda [
//, null
,
null // mod 2013/01/24 K.Masuda ]
,item.lvl
,seq_icon // add 2015/09/17 F.Yokoi [
,
null // add 2015/09/17 F.Yokoi ]
);
if (ZdcEmapMapShopMrkId[i] != null) ZdcEmapMapObj.removeWidget(ZdcEmapMapShopMrkId[i]);//念のため
// ZdcEmapMapObj.addWidget(mrk); // modify 2020/06/09 [Nanaco] Mlab.HuuPhuoc
ZdcEmapMapObj.addWidget(mrk);
if (mrk.userwidget) mrk.open(); ZdcEmapMapShopMrkId[i] = mrk;
ZdcEmapMapShopMrkCnt ++;
ZdcEmapIconDt[i] = item.lat + ":" + item.lon + ":" + ZdcEmapIconW[item.icon] + ":" + ZdcEmapIconH[item.icon];
}
if(ZdcEmapSearchClickFlg) {
ZdcEmapSearchClickFlg = 0;
//初期検索時は画面移動
if (ZdcEmapMapShopMrkCnt > 0) {
//拠点が収まる範囲に移動
if (!ZdcEmapMapShopDetailMrkId) {
var center_latlon = ZdcEmapMapObj.getLatLon();
var latdist;
var londist;
var varminlat;
var varminlon;
var varmaxlat;
var varmaxlon;
var varlatlon_box = new Array();
// 最も離れたlatの差分
//var minlatdist = Math.abs(minlat - center_latlon.lat);
//var maxlatdist = Math.abs(maxlat - center_latlon.lat);
var minlatdist = Math.abs(Math.floor(minlat*10000000) - Math.floor(center_latlon.lat*10000000))/10000000;
var maxlatdist = Math.abs(Math.floor(maxlat*10000000) - Math.floor(center_latlon.lat*10000000))/10000000;
if (minlatdist > maxlatdist) {
latdist = minlatdist;
} else {
latdist = maxlatdist;
}
// 最も離れたlonの差分
//var minlondist = Math.abs(minlon - center_latlon.lon);
//var maxlondist = Math.abs(maxlon - center_latlon.lon);
var minlondist = Math.abs(Math.floor(minlon*10000000) - Math.floor(center_latlon.lon*10000000))/10000000;
var maxlondist = Math.abs(Math.floor(maxlon*10000000) - Math.floor(center_latlon.lon*10000000))/10000000;
if (minlondist > maxlondist) {
londist = minlondist;
} else {
londist = maxlondist;
}
//varminlat = center_latlon.lat - latdist;
//varminlon = center_latlon.lon - londist;
//varmaxlat = center_latlon.lat + latdist;
//varmaxlon = center_latlon.lon + londist;
varminlat = Math.floor((center_latlon.lat*10000000) - (latdist*10000000))/10000000;
varminlon = Math.floor((center_latlon.lon*10000000) - (londist*10000000))/10000000;
varmaxlat = Math.floor((center_latlon.lat*10000000) + (latdist*10000000))/10000000;
varmaxlon = Math.floor((center_latlon.lon*10000000) + (londist*10000000))/10000000;
// 地図表示縮尺取得用仮想拠点
varlatlon_box[0] = new ZDC.LatLon(varminlat, varminlon);
varlatlon_box[1] = new ZDC.LatLon(varmaxlat, varmaxlon);
var adjust = ZdcEmapMapObj.getAdjustZoom(varlatlon_box);
//if (adjust) ZdcEmapMapObj.setZoom(adjust.zoom); del 2011/12/19 Y.Matsukawa
// add 2011/12/19 Y.Matsukawa [
if (adjust) {
ZdcEmapSearchEventChangezoomAvailable = 0;
ZdcEmapMapObj.setZoom(adjust.zoom);
}
// add 2011/12/19 Y.Matsukawa ]
}
} else if (!result.options.exceptKid) {
//検索半径の縮尺に移動 ※位置によってgetPoint2PointDistanceの値が変わるため毎回計算している
// mod 2011/07/07 H.Osamoto [
// 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 * 100000);//経度の範囲
// //var ry = parseInt(my * 100000);//経度の範囲
// var rx = parseInt((450000 / (11 * 1000)) * 100000);//CGIと計算をあわせる
// var ry = parseInt((300000 / (9 * 1000)) * 100000);//〃
// 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);
// mod 2011/07/07 H.Osamoto ]
}
}
// add 2011/12/27 H.osamoto [
//検索位置アイコンを表示する
// mod 2022/10/04 M.date
//指定店舗アイコンを表示する
// mod 2022/10/04 M.date
// add 2011/12/27 H.osamoto ]
document.getElementById('ZdcEmapMap').style.visibility = "visible"; ZdcEmapMapFrontShopDetail();
ZdcEmapMapCursorRemove();
ZdcEmapCondEnabled(); ZdcEmapSearchEventStart();
//色々閉じる
//ZdcEmapSearchClose();
ZdcEmapPoiRouteClear();
// 再検索時に吹き出しを削除
if( true ){
ZdcEmapShopMsgClose();
}
//検索位置を保持
ZdcEmapSearchPoint = ZdcEmapMapObj.getLatLon();
ZdcEmapSearchScale = ZdcEmapMapObj.getZoom();
ZdcEmapReadOff();
ZdcEmapIconOverlap(icnt,ZdcEmapSearchScale);
}
//リスト表示
function ZdcEmapSearchShopListClick(page) {
if(ZdcEmapButtonNG()) return;
ZdcEmapSearchShopList(page)
}
function ZdcEmapSearchShopList(page) {
//リストを表示させる
if(0 && ZdcEmapMapShopDetailMrkId != null) {
//リスト非表示モードで詳細表示中だと出さない
ZdcEmapListObj.innerHTML = "";
return;
}
// add 2012/09/28 Y.Matsukawa [
// add 2012/09/28 Y.Matsukawa ]
//var url = "http://127.0.0.1/p/rkcsymap/nlist.htm?cid=rkcsymap"+
var url = "http://127.0.0.1/p/rkcsymap/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 += "&";
url += "&his=dm"; // mod 2023/03/21 T.Luu
url += ""; // mod 2022/10/04 M.date
url += ""; // mod 2022/10/04 M.date
if(ZdcEmapSearchFirstCstm == 1) {
url += "&first_search=1";
}
if (ZdcEmapSearchCenter) {
url += "&srchplace="+ZdcEmapSearchCenter.lat+","+ZdcEmapSearchCenter.lon;
}
// 詳細表示中
if (ZdcEmapMapShopDetailMrkId != null) {
// 詳細表示フラグ
url += "&detail=1";
// 詳細表示中の拠点ID
var mrk = ZdcEmapMapShopDetailMrkId;
if (mrk && mrk.data1) url += "&dkid="+mrk.data1;
}
url += "&https_req=1"; var ckkids = ZdcEmapCookieGetKidList("rkcsymap");
if (ckkids != "") url += "&ckkids="+ckkids;
url += "&PARENT_HTTP_HOST=www.e-map.ne.jp"; ZdcEmapHttpRequestHtml(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください list["+status+"]";
ZdcEmapListObj.innerHTML = html;
// add 2018/01/15 L.Z SMBC_API2.0移行 Start.
var detailPageNoButtonFlg = document.getElementById('detailPageNoButtonFlg');
if (detailPageNoButtonFlg && detailPageNoButtonFlg.value == 1) {
}
// add 2018/01/15 L.Z SMBC_API2.0移行 End.
}, false, 2);
}
//リストから選択
function ZdcEmapShopClick(id) {
if(ZdcEmapButtonNG()) return;
ZdcEmapSearchPoint = null;//必ず再検索させるため
var mrk = ZdcEmapMapShopMrkId[id];
if (ZdcEmapMapShopMrkId[id].lvl) {
lvl = ZdcEmapMapShopMrkId[id].lvl;
} else {
lvl = "";
}
var latlons_id = eval(latlons.length) - eval(id) - 1;
//表示する
ZdcEmapShopDetailKidClick(ZdcEmapMapShopMrkId[id].data1,latlons[latlons_id].lat,latlons[latlons_id].lon,ZdcEmapMapShopMrkId[id].data2,ZdcEmapMapShopMrkId[id].nflg,lvl);
}
//最寄検索を隠す
function ZdcEmapSearchShopClose() {
ZdcEmapCondObj.innerHTML = "";
ZdcEmapCondObj.mode = "";
ZdcEmapListObj.innerHTML = "";
for( i = 0;i < ZdcEmapMapShopMrkCnt;i ++) {
if (ZdcEmapMapShopMrkId[i]) { ZdcEmapMapObj.removeWidget(ZdcEmapMapShopMrkId[i]);
ZdcEmapMapShopMrkId[i] = null;
}
}
ZdcEmapMapShopMrkCnt = 0;
}
var ZdcEmapMapFrontShopMrkId = null;
//指定されたアイコンを前面にもってくる
function ZdcEmapMapFrontShopMrk(id){
if(ZdcEmapMapShopMrkId[id] != null) {
var mrk = ZdcEmapMapShopMrkId[id];
ZdcEmapMapFrontShopReset();
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);
ZdcEmapMapFrontShopMrkId = null;
}
}
//add 2014/08/21 Q.Dai [
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(); del 2014/08/28 Q.Dai
function ZdcEmapIconOverlap(icnt,lvl){
IconGrp = new Array();
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();
lvl++; //add 2014/08/28 Q.Dai
for(ic=icnt-1; ic>=0; ic--){
icdt = ZdcEmapIconDt[ic].split(":");
// del 2014/08/28 [
// 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)));
// del 2014/08/28 ]
// add 2014/08/28 [
nlatmin[ic] = (parseFloat(icdt[0]) - (ZDC.msTodeg(D_ZOOM2PXMS_LAT[D_ZOOM[lvl]]) * (parseFloat(icdt[2]) / 2)));
nlonmin[ic] = (parseFloat(icdt[1]) - (ZDC.msTodeg(D_ZOOM2PXMS_LON[D_ZOOM[lvl]]) * (parseFloat(icdt[3]) / 2)));
nlatmax[ic] = (parseFloat(icdt[0]) + (ZDC.msTodeg(D_ZOOM2PXMS_LAT[D_ZOOM[lvl]]) * (parseFloat(icdt[2]) / 2)));
nlonmax[ic] = (parseFloat(icdt[1]) + (ZDC.msTodeg(D_ZOOM2PXMS_LON[D_ZOOM[lvl]]) * (parseFloat(icdt[3]) / 2)));
// add 2014/08/28 ]
}
for(ic=icnt-1; ic>=0; ic--){
obj = ZdcEmapMapShopMrkId[ic];
IconGrp[ic] = obj.data1;
for(tmpic=icnt-1; tmpic>=0; tmpic--){
if( tmpic == ic){ continue; }
obj = ZdcEmapMapShopMrkId[tmpic];
if( obj == null) continue;// debug
// del 2014/08/28 [
// p1 = new ZDC.LatLon(nlonmin[ic],nlatmin[ic]);
// p2 = new ZDC.LatLon(nlonmax[ic],nlatmax[ic]);
// //
// c1 = new ZDC.LatLon(nlonmin[tmpic],nlatmin[tmpic]);
// c2 = new ZDC.LatLon(nlonmax[tmpic],nlatmin[tmpic]);
// c3 = new ZDC.LatLon(nlonmax[tmpic],nlatmax[tmpic]);
// c4 = new ZDC.LatLon(nlonmin[tmpic],nlatmax[tmpic]);
// // del 2014/08/28 ]
// add 2014/08/28 [
p1 = new ZDC.LatLon(nlatmin[ic],nlonmin[ic]);
p2 = new ZDC.LatLon(nlatmax[ic],nlonmax[ic]);
c1 = new ZDC.LatLon(nlatmin[tmpic],nlonmin[tmpic]);
c2 = new ZDC.LatLon(nlatmax[tmpic],nlonmin[tmpic]);
c3 = new ZDC.LatLon(nlatmax[tmpic],nlonmax[tmpic]);
c4 = new ZDC.LatLon(nlatmin[tmpic],nlonmax[tmpic]);
// add 2014/08/28 [
p_box = new ZDC.LatLonBox(p1,p2);
if( ZDC.getLineCrossRectLatLons(c1, c2, p_box)){
IconGrp[ic] += "," + obj.data1;
continue;
}
if( ZDC.getLineCrossRectLatLons(c2, c3, p_box)){
IconGrp[ic] += "," + obj.data1;
continue;
}
if( ZDC.getLineCrossRectLatLons(c3, c4, p_box)){
IconGrp[ic] += "," + obj.data1;
continue;
}
if( ZDC.getLineCrossRectLatLons(c4, c1, p_box)){
IconGrp[ic] += "," + obj.data1;
continue;
}
}
}
}
// add 2014/08/21 Q.Dai ]
//詳細表示(アイコンのみ表示)
function ZdcEmapShopIcon(lat,lon,icnno,nflg,NotMoveFlag) {
//登録されていないアイコンIDの場合は処理しない
if (!ZdcEmapIconImg[icnno]) {
icnno = "@TP";//透明画像
}
var mrk;
//地図移動
if( NotMoveFlag == undefined || NotMoveFlag != 1 ){
ZdcEmapMapMove(lat, lon);
}
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
);
if (ZdcEmapMapShopDetailMrkId != null) ZdcEmapMapObj.removeWidget(ZdcEmapMapShopDetailMrkId);//念のため
ZdcEmapMapObj.addWidget(mrk);
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;
}
//フキダシ表示
var userwidgethukidasi;
var ZdcEmapMsgSemaphore = false; function ZdcEmapShopMsg(id , overlap, update) {
// set default value for overlap parameter
overlap = typeof overlap !== 'undefined' ? overlap : '';
if (!update) { if(ZdcEmapMapObj.ZdcEmapMode == "print") return;//印刷モード時は吹き出し出さない
if(ZdcEmapButtonNG()) return;
if(ZdcEmapCondObj.mode == "eki" || ZdcEmapCondObj.mode == "jnr" || ZdcEmapCondObj.mode == "froute") return;//最寄駅や施設を出してる時は出さない
//縮尺が範囲外なら表示しない
var s = ZdcEmapMapObj.getZoom();
if(ZdcEmapMsgSemaphore) return;
ZdcEmapMsgSemaphore = true;
ZdcEmapShopMsgClose();
}
//アイコンを前面に出す
if(id != null) ZdcEmapMapFrontShopMrk(id);
else ZdcEmapMapFrontShopDetail();
//デザイン
if(id != null) var obj = ZdcEmapMapShopMrkId[id];
else var obj = ZdcEmapMapShopDetailMrkId;
if( overlap >= 1) {
var kidprm = "";
var lseqprm = ""; for (var i = 0; i < IconGrp.length; i++) {
var grpKid = IconGrp[i].split(',');
if( grpKid[0] == obj.data1 ) { // choosen "clicked icon" is first.
if(grpKid.length > 1) {
if ( overlap == 2 ) grpKid.sort(); for( var k=0; k < grpKid.length; k++ ){
if( grpKid[k] == ""){ continue; }
kidprm += "&kid" + k + "=" + grpKid[k];
if (Nsnet01EmpnoSeq && Nsnet01EmpnoSeq[grpKid[k]]) {
lseqprm += "&lseq" + k + "=" + Nsnet01EmpnoSeq[grpKid[k]];
}
}
} else {
kidprm = "&kid="+obj.data1;
if (Nsnet01EmpnoSeq && Nsnet01EmpnoSeq[obj.data1]) {
lseqprm += "&lseq=" + Nsnet01EmpnoSeq[obj.data1];
}
}
}
}
var url = "http://127.0.0.1/p/rkcsymap/msg.htm?id="+i+kidprm+lseqprm;
} else {
var url = "http://127.0.0.1/p/rkcsymap/msg.htm?id="+i+"&kid="+obj.data1;
} if (ZdcEmapSearchCenter) {
url += "&srchplace="+ZdcEmapSearchCenter.lat+","+ZdcEmapSearchCenter.lon;
}
//フキダシを表示させる
//var url = "http://127.0.0.1/p/rkcsymap/msg.htm?cid=rkcsymap&id="+i+"&kid="+obj.data1; // del 2014/08/19 Q.Dai
url += ZdcEmapCondParms; url += "&";
url += "&his=dm"; // mod 2023/03/21 T.Luu
url += "&https_req=1"; url += "&PARENT_HTTP_HOST=www.e-map.ne.jp"; ZdcEmapHttpRequestHtml(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください msg["+status+"]";
if (update) {
if (userwidgethukidasi) userwidgethukidasi.setHtml(html);
} else {
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);
userwidgethukidasi.kyotenid = obj.data1;
ZdcEmapMapObj.addWidget(userwidgethukidasi);
userwidgethukidasi.open();
ZdcEmapMsgSemaphore = false;
}
}, true, 2);
}
//閉じる
function ZdcEmapShopMsgClose() {
if (userwidgethukidasi) {
userwidgethukidasi.close();
userwidgethukidasi = null;
}
ZdcEmapMapFrontShopReset();
ZdcEmapTipsClose();//TIPSもついでに閉じる
//最上位シェイプレイヤーを閉じる
if(ZdcEmapTipsTopShapeLayer)
{
ZdcEmapTipsTopShapeLayer.close();
}
}
function ZdcEmapUpdateMsgByKyotenid(kyotenid, overlap) {
if (!userwidgethukidasi) return;
// 拠点IDに該当するアイコンがあるかどうか
var id = -1;
if (ZdcEmapMapShopMrkCnt != null) {
for (i = 0; i < ZdcEmapMapShopMrkCnt; i++) {
if (ZdcEmapMapShopMrkId[i]) {
var obj = ZdcEmapMapShopMrkId[i];
if (obj.data1 == kyotenid) {
id = i;
}
}
}
}
if (id < 0) {
ZdcEmapShopMsgClose();
} else {
ZdcEmapShopMsg(id, overlap, 'update');
}
}
//印刷画面開く
function ZdcEmapShopPrintClick(id) {
if(ZdcEmapButtonNG()) return;
//window.open = "https://www.e-map.ne.jp/p/rkcsymap/print.htm?cid=rkcsymap&kid="+id;
window.open = "https://www.e-map.ne.jp/p/rkcsymap/print.htm?kid="+id;
}
//詳細の最寄施設検索
function ZdcEmapShopDetailNpoiClick() {
if(ZdcEmapButtonNG()) return;
if(ZdcEmapMapShopDetailMrkId == null) return;
//最寄拠点検索を停止
ZdcEmapSearchEventStop();
//詳細に移動
//var obj = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapShopDetailMrkId);
//ZdcEmapMapMove(obj.Point.my, obj.Point.mx);
ZdcEmapMapMove(ZdcEmapMapShopDetailMrkId.lat, ZdcEmapMapShopDetailMrkId.lon);
//最寄施設検索
ZdcEmapPoiClick(1);
// パンくず追加 add 2015/01/28 Y.Matsukawa
ZdcEmapAddOptionalHistory('周辺施設');
}
function ZdcEmapPoiClick(mode) {
if(ZdcEmapButtonNG()) return;
ZdcEmapPoiRouteClear();
ZdcEmapSearchEventStop();
ZdcEmapShopMsgClose();
//画面を切り替える
if(ZdcEmapCondObj.mode != "jnr") {
ZdcEmapSearchShopClose();
if(ZdcEmapMapShopDetailMrkId) ZdcEmapFreeRouteStatic(ZdcEmapMapShopDetailMrkId.lat, ZdcEmapMapShopDetailMrkId.lon); var url = "http://127.0.0.1/p/rkcsymap/npoi_jnr.htm?";
url += "&https_req=1"; url += "&PARENT_HTTP_HOST=www.e-map.ne.jp"; ZdcEmapHttpRequestHtml(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください jnr["+status+"]";
ZdcEmapCondObj.innerHTML = html;
ZdcEmapSearchNpoi(mode);
});
//if(ZdcEmapCondObj.mode == "eki" || ZdcEmapCondObj.mode == "jnr" || ZdcEmapCondObj.mode == "froute") ZdcEmapHistoryChange("周辺施設","");
//else ZdcEmapHistoryAdd("周辺施設","");
//ZdcEmapHistorySave();
ZdcEmapCondObj.mode = "jnr";
ZdcEmapCondObj.style.visibility = "visible";
} else {
ZdcEmapSearchNpoi(mode);
}
}
var ZdcEmapNpoiLatLon;
var ZdcEmapNpoiRad;
var ZdcEmapNpoiGenreMenu;
var ZdcEmapNpoiLimit;
//検索開始
function ZdcEmapSearchNpoi(mode) {
ZdcEmapReadOn();
//var p = new ZdcPoint();
//p = ZdcEmapMapObj.getMapLocation();
var center_latlon = ZdcEmapMapObj.getLatLon();
//検索条件取得
var code="";
if(document.ZdcEmapJnrForm) {
var obj,jnr=new Array(),jnrcnt=0;
for(var i = 0;i < document.ZdcEmapJnrForm.elements.length;i ++) {
obj = document.ZdcEmapJnrForm.elements[i];
if(!obj) break;
switch(obj.type) {
case "checkbox":
if(obj.checked == true) {
jnr[jnrcnt] = obj.value;
jnrcnt ++;
}
break;
case "select-one":
if(obj.options[obj.selectedIndex].value) {
jnr[jnrcnt] = obj.options[obj.selectedIndex].value;
jnrcnt ++;
}
break;
case "radio":
if(obj.checked == true && obj.value) {
jnr[jnrcnt] = obj.value;
jnrcnt ++;
}
break;
default:
if(obj.value) {
jnr[jnrcnt] = obj.value;
jnrcnt ++;
}
break;
}
}
for(var i = 0;i < jnrcnt;i ++) {
if(code) code += ",";
code += jnr[i];
}
}
if(!code) code = '00160,00250,00140,00170,00220,00240,00130,00110,00120';//デフォルトジャンル
//検索範囲の計算
var rad = 0;
if(mode == 0) {
//地図内検索
//var box = ZdcEmapMapObj.getMapBoundBox();
//if((box.maxx - box.minx) > (box.maxy - box.miny)) {
// //横幅をとる
// var p1 = new ZdcPoint(box.maxx,box.maxy,2);
// var p2 = new ZdcPoint(box.minx,box.maxy,2);
//} else {
// //縦幅をとる
// var p1 = new ZdcPoint(box.maxx,box.maxy,2);
// var p2 = new ZdcPoint(box.maxx,box.miny,2);
//}
//rad = parseInt(ZdcEmapGeometricObj.getPoint2PointDistance(p1,p2) / 2.1);//地図範囲ギリギリを対象としないよう2.1と少し丸める
var box = ZdcEmapMapObj.getLatLonBox();
var boxmin = box.getMin();
var boxmax = box.getMax();
var dist_x = ZDC.getLatLonToLatLonDistance(new ZDC.LatLon(boxmin.lat, boxmin.lon), new ZDC.LatLon(boxmin.lat, boxmax.lon));
var dist_y = ZDC.getLatLonToLatLonDistance(new ZDC.LatLon(boxmin.lat, boxmin.lon), new ZDC.LatLon(boxmax.lat, boxmin.lon));
rad = Math.floor((dist_x>dist_y?dist_y:dist_x)/2.1);
} else {
//最寄検索
rad = 10000;
}
if (rad > 50000) rad = 50000;//最寄り検索APIの半径指定上限値を超えている場合は上限値で検索
//
// var opts = new ZdcNearPoiOptions();
// opts.startPos = 1;
// opts.maxCount = 50;
// opts.genreMenuCode = code;
// opts.genreCode = '';
// opts.lat = p.my;
// opts.lon = p.mx;
// opts.lat = latlon.lat;
// opts.lon = latlon.lon;
// opts.limitCount = 50;
// opts.radius = rad;
// opts.pointFlg = 2;
// opts.lang = '';
// ZdcEmapNpoi.opts = opts;
//
// if(opts.genreMenuCode) {
// //ジャンルの指定があった時のみ検索させる
// ZdcEmapPoiList(0);
// ZdcEmapNpoi.search(opts);
// }
ZdcEmapNpoiLatLon = center_latlon;
ZdcEmapNpoiRad = rad;
ZdcEmapNpoiGenreMenu = code;
ZdcEmapNpoiLimit = "0"+","+"50";
var query = {
latlon: ZdcEmapNpoiLatLon,
radius: ZdcEmapNpoiRad,
genrecode: ZdcEmapNpoiGenreMenu,
limit: ZdcEmapNpoiLimit
}
ZdcEmapPoiList(0);
ZDC.Search.getPoiByLatLon(query, function(info, item){
ZdcEmapPoiResult(info, item);
});
}
//検索処理
//function ZdcEmapPoiResult(result) {
function ZdcEmapPoiResult(status, result) {
//ZdcEmapSearchClose();
ZdcEmapPoiRouteClear();
//エラー処理
//if(result.status != 0 && result.status != 3 && result.status != 5 && result.status != 9) {
if(status.code != "000" || status.text != "ok") {
alert("検索に失敗しました poires["+status.code+","+status.text+"]");
ZdcEmapListObj.innerHTML = "";
ZdcEmapReadOff();
return;
}
//地図に置く
var i,p,mrk,titlelink,title,item,maxlat=0,maxlon=0,minlat=999999999,minlon=999999999;;
for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) {
//ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapPoiMrkId[i]);//マーカー削除
if (ZdcEmapMapPoiMrkId[i]) { ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);
ZdcEmapMapPoiMrkId[i] = null;
}
}
ZdcEmapMapPoiMrkCnt = 0;
//for( i in result.item ){ mod 2012/05/22 H.Osamoto
for( i = 0; i < result.item.length; i++ ){
item = result.item[i];
//アイコンの作成
mrk = ZdcEmapMakeMrkApi2(i,item.poi.latlon.lat,item.poi.latlon.lon,
16,16,0,0,
-8,-8,0,0,
'https://www.e-map.ne.jp/p/rkcsymap/img/icon_poi/'+item.poi.genre.code.substr(0,5)+'.gif','',
item.icons,'',item.poiName,0,
function() { ZdcEmapTipsClick(this.id); },
null);
if (ZdcEmapMapPoiMrkId[i] != null) ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);//念のため
ZdcEmapMapObj.addWidget(mrk);
ZdcEmapMapPoiMrkId[i] = mrk;
ZdcEmapMapPoiMrkId[i].lat = item.poi.latlon.lat;
ZdcEmapMapPoiMrkId[i].lon = item.poi.latlon.lon;
ZdcEmapMapPoiMrkId[i].message = item.poi.text;
//最大最小緯度経度取得
if(item.poi.latlon.lat > maxlat) maxlat = item.poi.latlon.lat;
if(item.poi.latlon.lon > maxlon) maxlon = item.poi.latlon.lon;
if(item.poi.latlon.lat < minlat) minlat = item.poi.latlon.lat;
if(item.poi.latlon.lon < minlon) minlon = item.poi.latlon.lon;
ZdcEmapMapPoiMrkCnt ++;
}
if (ZdcEmapMapPoiMrkCnt > 0) {
var latdist;
var londist;
var varminlat;
var varminlon;
var varmaxlat;
var varmaxlon;
var varlatlon_box = new Array();
// 最も離れたlatの差分
var minlatdist = Math.abs(minlat - ZdcEmapNpoiLatLon.lat);
var maxlatdist = Math.abs(maxlat - ZdcEmapNpoiLatLon.lat);
if (minlatdist > maxlatdist) {
latdist = minlatdist;
} else {
latdist = maxlatdist;
}
// 最も離れたlonの差分
var minlondist = Math.abs(minlon - ZdcEmapNpoiLatLon.lon);
var maxlondist = Math.abs(maxlon - ZdcEmapNpoiLatLon.lon);
if (minlondist > maxlondist) {
londist = minlondist;
} else {
londist = maxlondist;
}
varminlat = ZdcEmapNpoiLatLon.lat - latdist;
varminlon = ZdcEmapNpoiLatLon.lon - londist;
varmaxlat = ZdcEmapNpoiLatLon.lat + latdist;
varmaxlon = ZdcEmapNpoiLatLon.lon + londist;
// 地図表示縮尺取得用仮想表示エリア
varlatlon_box[0] = new ZDC.LatLon(varminlat, varminlon);
varlatlon_box[1] = new ZDC.LatLon(varmaxlat, varmaxlon);
var adjust = ZdcEmapMapObj.getAdjustZoom(varlatlon_box);
ZdcEmapMapObj.moveLatLon(ZdcEmapNpoiLatLon)
if (adjust) ZdcEmapMapObj.setZoom(adjust.zoom);
}
ZdcEmapMapFrontShopDetail();
ZdcEmapMapCursorRemove();
//自動縮尺変更
//ZdcEmapMapMoveBoxApi2(minlat,minlon,maxlat,maxlon);
ZdcEmapReadOff();
}
//リスト表示
function ZdcEmapPoiListClick(page) {
if(ZdcEmapButtonNG()) return;
ZdcEmapPoiList(page);
}
function ZdcEmapPoiList(page) {
// var url = "http://127.0.0.1/p/rkcsymap/emapview_npoi.htm?cid=rkcsymap"+
// "&jnrmn="+ZdcEmapNpoi.opts.genreMenuCode+"&jnr="+ZdcEmapNpoi.opts.genreCode+
// "&lat="+ZdcEmapNpoi.opts.lat+"&lon="+ZdcEmapNpoi.opts.lon+"&radius="+ZdcEmapNpoi.opts.radius+"&page="+page;
var url = "http://127.0.0.1/p/rkcsymap/npoi.htm?"+
"jnrmn="+ZdcEmapNpoiGenreMenu+
"&lat="+ZdcEmapNpoiLatLon.lat+"&lon="+ZdcEmapNpoiLatLon.lon+"&radius="+ZdcEmapNpoiRad+"&page="+page;
url += "&https_req=1"; url += "&PARENT_HTTP_HOST=www.e-map.ne.jp"; ZdcEmapHttpRequestHtml(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください poi["+status+"]";
ZdcEmapListObj.innerHTML = html;
});
}
var ZdcEmapMultiGenreCodes = new Array();
var ZdcEmapMultiGenreIndex = 0;
var ZdcEmapNpoiMultiGenreResults = new Array();
function ZdcEmapNPoiMultiGenreClick(mode) {
var i, g;
if(ZdcEmapButtonNG()) return;
ZdcEmapPoiRouteClear();
ZdcEmapShopMsgClose();
ZdcEmapReadOn();
for (i = 0; i < ZdcEmapMapPoiMrkCnt; i++) {
if (ZdcEmapMapPoiMrkId[i]) {
ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);
ZdcEmapMapPoiMrkId[i] = null;
}
}
ZdcEmapMapPoiMrkCnt = 0;
var center_latlon = ZdcEmapMapObj.getLatLon();
var rad = 0;
if (mode == 0) {
var box = ZdcEmapMapObj.getLatLonBox();
var boxmin = box.getMin();
var boxmax = box.getMax();
var dist_x = ZDC.getLatLonToLatLonDistance(new ZDC.LatLon(boxmin.lat, boxmin.lon), new ZDC.LatLon(boxmin.lat, boxmax.lon));
var dist_y = ZDC.getLatLonToLatLonDistance(new ZDC.LatLon(boxmin.lat, boxmin.lon), new ZDC.LatLon(boxmax.lat, boxmin.lon));
//rad = Math.floor((dist_x > dist_y ? dist_y : dist_x) / 2.1);
rad = Math.floor(dist_x > dist_y ? dist_y : dist_x);
} else {
rad = 10000;
}
if (rad > 50000) rad = 50000;
ZdcEmapNpoiLatLon = center_latlon;
ZdcEmapNpoiRad = rad;
ZdcEmapNpoiLimit = "0"+","+"50";
ZdcEmapMultiGenreCodes = new Array();
var tmpGenre = new Array();
if (Object.keys(tmpGenre).length > 0) {
Object.keys(tmpGenre).forEach(function(key) {
ZdcEmapMultiGenreCodes.push(tmpGenre[key].join(','));
});
} else {
alert("ジャンルを選択してください");
ZdcEmapReadOff();
return;
}
ZdcEmapMultiGenreIndex = 0;
ZdcEmapNpoiMultiGenreResults = new Array();
ZdcEmapSearchNpoiMultiGenre();
}
function ZdcEmapSearchNpoiMultiGenre() {
var query = {
latlon: ZdcEmapNpoiLatLon,
radius: ZdcEmapNpoiRad,
genrecode: ZdcEmapMultiGenreCodes[ZdcEmapMultiGenreIndex],
limit: ZdcEmapNpoiLimit
}
ZDC.Search.getPoiByLatLon(query, function(info, item){
ZdcEmapSearchNpoiMultiGenreResult(info, item);
});
}
function ZdcEmapSearchNpoiMultiGenreResult(status, result) {
if (status.code != "000" || status.text != "ok") {
alert("検索に失敗しました poires["+status.code+","+status.text+"]");
ZdcEmapReadOff();
return;
}
Array.prototype.push.apply(ZdcEmapNpoiMultiGenreResults, result.item);
ZdcEmapMultiGenreIndex++;
if (ZdcEmapMultiGenreIndex < ZdcEmapMultiGenreCodes.length) {
ZdcEmapSearchNpoiMultiGenre();
return;
} else {
if (ZdcEmapNpoiMultiGenreResults.length > 0) {
ZdcEmapNpoiMultiGenreResults.sort(function(a, b){
if (a.distance < b.distance || a.code < b.code) return -1;
if (a.distance > b.distance || a.code > b.code) return 1;
return 0;
});
ZdcEmapNpoiMultiGenreResults.splice(50);
var i, item, mrk;
var maxlat=0, maxlon=0, minlat=999999999, minlon=999999999;
for (i = ZdcEmapNpoiMultiGenreResults.length-1; i >= 0; i--) {
item = ZdcEmapNpoiMultiGenreResults[i];
mrk = ZdcEmapMakeMrkApi2(i, item.poi.latlon.lat, item.poi.latlon.lon,
16, 16, 0, 0,
-8, -8, 0, 0,
''+item.poi.genre.code+'.gif', '', // mod 2022/10/04 M.date
item.icons, '', item.poiName, 0,
function() { ZdcEmapTipsClick(this.id); },
null);
if (ZdcEmapMapPoiMrkId[i] != null) ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);//念のため
ZdcEmapMapObj.addWidget(mrk);
ZdcEmapMapPoiMrkId[i] = mrk;
ZdcEmapMapPoiMrkId[i].lat = item.poi.latlon.lat;
ZdcEmapMapPoiMrkId[i].lon = item.poi.latlon.lon;
ZdcEmapMapPoiMrkId[i].message = item.poi.text;
ZdcEmapMapPoiMrkCnt++;
}
ZdcEmapNpoiMultiGenreResults.length = 0;
}
}
ZdcEmapReadOff();
}
function ZdcEmapNPoiMultiGenreClear() {
var i;
for (i = 0; i < ZdcEmapMapPoiMrkCnt; i++) {
if (ZdcEmapMapPoiMrkId[i]) {
ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);
ZdcEmapMapPoiMrkId[i] = null;
}
}
ZdcEmapMapPoiMrkCnt = 0;
}
function ZdcEmapCFAfterShopDetailEx(result) {
if (typeof ZdcEmapCFAfterShopDetail == 'function') {
ZdcEmapCFAfterShopDetail(result.item);
}
}
//詳細表示(拠点指定) 拠点接続用
function ZdcEmapShopDetailKidFirst(kid,lat,lon,icnno,nflg,nomove,lvl) {
if (!ZdcEmapMapObj) return; ZdcEmapSearchClickFlg = 1;
if (!lvl) lvl = 0;
//画面遷移履歴
//var tmp = "ZdcEmapSearchEventStop();ZdcEmapMapMove('"+lat+"','"+lon+"','"+ZdcEmapMapObj.getZoom()+"');"
// + "ZdcEmapShopDetailKidFirst('"+kid+"','"+lat+"','"+lon+"','"+icnno+"','"+nflg+"','"+lvl+"');";
//ZdcEmapHistoryAdd("詳細表示",tmp);
//ZdcEmapHistorySave();
//
ZdcEmapShopDetailKid(kid,lat,lon,icnno,nflg,nomove,lvl);
if(0 == 0) ZdcEmapSearchShopStart();
if(0) {
//拠点以外のアイコンをクリア
for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) {
if (ZdcEmapMapPoiMrkId[i]) { ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);
ZdcEmapMapPoiMrkId[i] = null;
}
}
}
}
function ZdcEmapShopDetailKid(kid,lat,lon,icnno,nflg,notmove,lvl) {
var mrk,tmp;
ZdcEmapSearchEventStop();
lvl = parseInt(lvl);
if (lvl && lvl != 0) {
ZdcEmapMapObj.setZoom(lvl);
} else if(13 > 0) {
ZdcEmapMapObj.setZoom(13 - 1);
}
if (typeof ZdcEmapCFAfterShopDetail == 'function') {
var opts = new ZdcKyotenIdOptions();
//opts.cid = 'rkcsymap' opts.cid = 'rkcsymap';
opts.kid = kid;
opts.nolog = true;
opts.timeout = 10000;
ZdcEmapKyotenId.opts = opts;
ZdcEmapKyotenId.search(opts, ZdcEmapCFAfterShopDetailEx);
}
//フォーカスカーソルを表示する
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 (!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
);
if(ZdcEmapMapShopDetailMrkId != null) ZdcEmapMapObj.removeWidget(ZdcEmapMapShopDetailMrkId);
ZdcEmapMapObj.addWidget(mrk);
ZdcEmapMapShopDetailMrkId = mrk;
ZdcEmapMapShopDetailMrkId.data1 = kid;
ZdcEmapMapShopDetailMrkId.lat = lat;
ZdcEmapMapShopDetailMrkId.lon = lon;
//動作モードの切り替え
if(0) {
//拠点詳細以外は非表示
ZdcEmapSearchEventStop();
ZdcEmapSearchShopClose();
} else {
//最寄拠点表示
ZdcEmapSearchEventStart();
}
if (!notmove) ZdcEmapMapMove(lat, lon);
var center = new ZDC.LatLon(Number(lat), Number(lon));
ZdcEmapMapObj.setHome(center);
//他の情報を閉じる
ZdcEmapShopMsgClose();
//ZdcEmapSearchClose();
ZdcEmapPoiRouteClear();
// add 2011/12/27 H.osamoto [
//検索位置アイコンを表示する
// mod 2022/10/04 M.date
// add 2011/12/27 H.osamoto ]
}
//-------------------------------------------------------------
//最寄駅検索
//-------------------------------------------------------------
//駅検索開始
function ZdcEmapStationClick(lat,lon) {
if(ZdcEmapButtonNG()) return;
if (typeof ZdcEmapCFBeforeStationClick == 'function') {
ZdcEmapCFBeforeStationClick();
}
ZdcEmapPoiRouteClear();
ZdcEmapShopMsgClose();
ZdcEmapSearchEventStop();
ZdcEmapFreeRouteStatic(lat,lon); //
ZdcEmapStation(lat,lon);
//画面を切り替える
if(ZdcEmapCondObj.mode != "eki") {
ZdcEmapSearchShopClose();
ZdcEmapCondObj.innerHTML = "";
ZdcEmapCondObj.mode = "eki";
ZdcEmapCondObj.style.visibility = "hidden";
}
// パンくず追加 add 2015/01/28 Y.Matsukawa
ZdcEmapAddOptionalHistory('最寄り駅');
}
//駅検索メイン処理
function ZdcEmapStation(lat,lon) {
ZdcEmapReadOn();
//
var result;
if (lat && lon){
tmplatlon = new ZDC.LatLon(Number(lat), Number(lon));
} else {
tmplatlon = ZdcEmapMapObj.getLatLon();
}
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) {
//リストを表示する
ZdcEmapStationList(0);
//アイコンを取得する
ZdcEmapStationResult(stt, res);
}
//検索処理
function ZdcEmapStationResult(status, result) {
//ZdcEmapSearchClose();
ZdcEmapPoiRouteClear();
//エラー処理
if(status.code != "000" || status.text != "ok") {
alert("検索に失敗しました ekires["+status.code+","+status.text+"]");
ZdcEmapSearchEventStart();
ZdcEmapListObj.innerHTML = "";
ZdcEmapReadOff();
return;
}
//地図に置く
var i,item,mrk,maxlat=ZdcEmapNekiLat,maxlon=ZdcEmapNekiLon,minlat=maxlat,minlon=maxlon;
for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) {
if (ZdcEmapMapPoiMrkId[i]) { ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);
ZdcEmapMapPoiMrkId[i] = null;
}
}
ZdcEmapMapPoiMrkCnt = 0;
//for( i in result.item ){ mod 2012/05/22 H.Osamoto
for( i = 0; i < result.item.length; i++ ){
item = result.item[i];
//アイコンの作成
// mod 2015/07/10 Y.Uesugi [
//噴出し非表示(日本語表記を非表示)
// mod 2022/10/04 M.date
//噴出し表示
mrk = ZdcEmapMakeMrkApi2(i,item.poi.latlon.lat,item.poi.latlon.lon,
19,24,0,0,
-10,-12,0,0,
'https://www.e-map.ne.jp/p/rkcsymap/img/icon_eki/0000.gif','',
item.icons, '', item.poi.text, 0,
function() { ZdcEmapRouteSearchApi2(this.id) },
function() { ZdcEmapTipsClick(this.id); },null);
// mod 2022/10/04 M.date
// mod 2015/07/10 Y.Uesugi ]
if (ZdcEmapMapPoiMrkId[i] != null) ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);//念のため
ZdcEmapMapObj.addWidget(mrk);
ZdcEmapMapPoiMrkId[i] = mrk;
ZdcEmapMapPoiMrkId[i].lat = item.poi.latlon.lat;
ZdcEmapMapPoiMrkId[i].lon = item.poi.latlon.lon;
ZdcEmapMapPoiMrkId[i].message = item.poi.text;
//最大最小緯度経度取得
if(item.poi.latlon.lat > maxlat) maxlat = item.poi.latlon.lat;
if(item.poi.latlon.lon > maxlon) maxlon = item.poi.latlon.lon;
if(item.poi.latlon.lat < minlat) minlat = item.poi.latlon.lat;
if(item.poi.latlon.lon < minlon) minlon = item.poi.latlon.lon;
ZdcEmapMapPoiMrkCnt ++;
}
if (ZdcEmapMapPoiMrkCnt > 0) {
var center_latlon = new ZDC.LatLon(Number(ZdcEmapMapShopDetailMrkId.lat), Number(ZdcEmapMapShopDetailMrkId.lon));
var latdist;
var londist;
var varminlat;
var varminlon;
var varmaxlat;
var varmaxlon;
var varlatlon_box = new Array();
// 最も離れたlatの差分
var minlatdist = Math.abs(minlat - center_latlon.lat);
var maxlatdist = Math.abs(maxlat - center_latlon.lat);
if (minlatdist > maxlatdist) {
latdist = minlatdist;
} else {
latdist = maxlatdist;
}
// 最も離れたlonの差分
var minlondist = Math.abs(minlon - center_latlon.lon);
var maxlondist = Math.abs(maxlon - center_latlon.lon);
if (minlondist > maxlondist) {
londist = minlondist;
} else {
londist = maxlondist;
}
varminlat = center_latlon.lat - latdist;
varminlon = center_latlon.lon - londist;
varmaxlat = center_latlon.lat + latdist;
varmaxlon = center_latlon.lon + londist;
// 地図表示縮尺取得用仮想表示エリア
varlatlon_box[0] = new ZDC.LatLon(varminlat, varminlon);
varlatlon_box[1] = new ZDC.LatLon(varmaxlat, varmaxlon);
var adjust = ZdcEmapMapObj.getAdjustZoom(varlatlon_box);
ZdcEmapMapObj.moveLatLon(center_latlon)
if (adjust) ZdcEmapMapObj.setZoom(adjust.zoom);
}
ZdcEmapMapFrontShopDetail();
ZdcEmapMapCursorRemove();
ZdcEmapReadOff();
}
//リスト表示
function ZdcEmapStationListClick(page) {
if(ZdcEmapButtonNG()) return;
ZdcEmapStationList(page)
}
function ZdcEmapStationList(page) {
//var url = "http://127.0.0.1/p/rkcsymap/neki.htm?cid=rkcsymap"+
var url = "http://127.0.0.1/p/rkcsymap/neki.htm?"+
"lat="+ZdcEmapNekiLat+"&lon="+ZdcEmapNekiLon+"&page="+page;
url += "&https_req=1"; url += "&PARENT_HTTP_HOST=www.e-map.ne.jp"; ZdcEmapHttpRequestHtml(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください eki["+status+"]";
ZdcEmapListObj.innerHTML = html;
});
}
//-------------------------------------------------------------
// 出発地指定ルートの入力初期値をセット
//-------------------------------------------------------------
var ZdcEmapFRouteInitStr = null;
function ZdcEmapSetFRouteInit(str) {
ZdcEmapFRouteInitStr = str;
}
// 出発地を指定してルート探索モード開始
function ZdcEmapFreeRouteClick(lat, lon) {
if(ZdcEmapButtonNG()) return;
if (typeof ZdcEmapCFBeforeRouteClick == 'function') {
ZdcEmapCFBeforeRouteClick();
}
//拠点以外のアイコンをクリア
for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) {
if (ZdcEmapMapPoiMrkId[i]) { ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);
ZdcEmapMapPoiMrkId[i] = null;
}
}
ZdcEmapPoiRouteClear(); // ルートクリア
ZdcEmapShopMsgClose(); // 吹き出し消去
ZdcEmapSearchEventStop(); // 検索イベント停止
// 画面を切り替える
if(ZdcEmapCondObj.mode != "froute") {
ZdcEmapSearchShopClose();
ZdcEmapCondObj.innerHTML = "";
ZdcEmapCondObj.mode = "froute";
ZdcEmapCondObj.style.visibility = "hidden";
//var url = "http://127.0.0.1/p/rkcsymap/emapview_froute.htm?cid=rkcsymap"
var url = "http://127.0.0.1/p/rkcsymap/froute.htm?"
+"lat="+lat+"&lon="+lon+"&mode=init"
;
url += "&https_req=1"; if (ZdcEmapFRouteInitStr) url += "&frouteinit="+ZdcEmapFRouteInitStr;
url += "&PARENT_HTTP_HOST=www.e-map.ne.jp"; ZdcEmapHttpRequestHtml(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください froute["+status+"]";
ZdcEmapListObj.innerHTML = html;
});
}
// パンくず追加 add 2015/01/28 Y.Matsukawa
ZdcEmapAddOptionalHistory('出発地指定ルート');
}
// 出発地を指定してルート探索モード開始(Light/Maplink)
function ZdcEmapFreeRouteClickLight(lat, lon) {
if(ZdcEmapButtonNG()) return;
//拠点以外のアイコンをクリア
for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) {
if (ZdcEmapMapPoiMrkId[i]) { ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);
ZdcEmapMapPoiMrkId[i] = null;
}
}
ZdcEmapPoiRouteClear(); // ルートクリア
ZdcEmapShopMsgClose(); // 吹き出し消去
ZdcEmapSearchEventStop(); // 検索イベント停止
// 画面を切り替える
ZdcEmapSearchShopClose();
//var url = "http://127.0.0.1/p/rkcsymap/emapview_froute.htm?cid=rkcsymap"
var url = "http://127.0.0.1/p/rkcsymap/froute.htm?"
+"lat="+lat+"&lon="+lon+"&mode=init"
;
url += "&https_req=1"; url += "&PARENT_HTTP_HOST=www.e-map.ne.jp"; ZdcEmapHttpRequestHtml(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください froute["+status+"]";
ZdcEmapListObj.innerHTML = html;
});
}
function ZdcEmapFreeRouteStatic(lat, lon) {
if(!ZdcEmapFRouteStaticObj) return;
var url = "http://127.0.0.1/p/rkcsymap/froute.htm?"
+"lat="+lat+"&lon="+lon+"&mode=init"
;
url += "&https_req=1"; if (ZdcEmapFRouteInitStr) url += "&frouteinit="+ZdcEmapFRouteInitStr;
url += "&PARENT_HTTP_HOST=www.e-map.ne.jp"; ZdcEmapHttpRequestHtml(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください froute["+status+"]";
ZdcEmapFRouteStaticObj.innerHTML = html;
});
}
// ルート表示
function ZdcEmapFreeRouteDraw(lat, lon) {
if(ZdcEmapButtonNG()) return;
// 地図中心位置を取得
var center = ZdcEmapMapObj.getLatLon();
var mx = center.lon;
var my = center.lat;
ZdcEmapRouteCase = 'free'; if(ZdcEmapFRouteStaticObj) {
//拠点以外のアイコンをクリア
for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) {
if (ZdcEmapMapPoiMrkId[i]) { ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);
ZdcEmapMapPoiMrkId[i] = null;
}
}
ZdcEmapPoiRouteClear(); // ルートクリア
ZdcEmapShopMsgClose(); // 吹き出し消去
ZdcEmapSearchEventStop(); // 検索イベント停止
ZdcEmapSearchShopClose();
ZdcEmapCondObj.innerHTML = "";
ZdcEmapCondObj.mode = "";
ZdcEmapCondObj.style.visibility = "hidden";
ZdcEmapFreeRouteClose();
}
// ルート描画
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://127.0.0.1/p/rkcsymap/emapview_froute.htm?cid=rkcsymap"
var url = "http://127.0.0.1/p/rkcsymap/froute.htm?"
+"lat="+lat+"&lon="+lon+"&mode=srch"
+"&keyword="+txt.value
;
// add 2013/06/11 Y.Matsukawa [
var typ = document.getElementById("freeRouteSearchType");
if (typ && typ.value) {
url += "&type="+typ.value;
}
var adcd = document.getElementById("freeRouteSearchAdcd");
if (adcd && adcd.value) {
url += "&adcd="+adcd.value;
}
// add 2013/06/11 Y.Matsukawa ]
url += "&https_req=1"; url += "&PARENT_HTTP_HOST=www.e-map.ne.jp"; ZdcEmapHttpRequestHtml(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください froute["+status+"]";
if(ZdcEmapFRouteStaticObj) {
//拠点以外のアイコンをクリア
for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) {
if (ZdcEmapMapPoiMrkId[i]) { ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);
ZdcEmapMapPoiMrkId[i] = null;
}
}
ZdcEmapPoiRouteClear(); // ルートクリア
ZdcEmapShopMsgClose(); // 吹き出し消去
ZdcEmapSearchEventStop(); // 検索イベント停止
ZdcEmapSearchShopClose();
ZdcEmapCondObj.innerHTML = "";
ZdcEmapCondObj.mode = "";
ZdcEmapCondObj.style.visibility = "hidden";
ZdcEmapFreeRouteClose();
ZdcEmapFRouteStaticObj.innerHTML = html;
} else {
ZdcEmapListObj.innerHTML = html;
}
});
}
// フリーワード検索(ページ送り)
function ZdcEmapFreeRoutePage(lat, lon, page, type, keyword, adcd) {
if (!page) page = 0;
if (!type) type = "";
if (!adcd) adcd = ""; //var url = "http://127.0.0.1/p/rkcsymap/emapview_froute.htm?cid=rkcsymap"
var url = "http://127.0.0.1/p/rkcsymap/froute.htm?"
+"lat="+lat+"&lon="+lon+"&mode=srch&page="+page+"&type="+type
+"&keyword="+keyword
;
if(adcd) url += "&adcd="+adcd; url += "&https_req=1"; url += "&PARENT_HTTP_HOST=www.e-map.ne.jp"; ZdcEmapHttpRequestHtml(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください froute["+status+"]";
if(ZdcEmapFRouteStaticObj) {
ZdcEmapFRouteStaticObj.innerHTML = html;
} else {
ZdcEmapListObj.innerHTML = html;
}
});
}
function ZdcEmapStationList(page) {
var url = "http://127.0.0.1/p/rkcsymap/neki.htm?"+
"lat="+ZdcEmapNekiLat+"&lon="+ZdcEmapNekiLon+"&page="+page;
url += "&https_req=1"; url += "&PARENT_HTTP_HOST=www.e-map.ne.jp"; 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/rkcsymap/dept_srch_comb.htm?keyword="+keyword;
ZdcEmapHttpRequestHtml(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください cond["+status+"]";
ZdcEmapSrchCombRootDeptObj.innerHTML = html;
});
}
function ZdcEmapSrchCombRootResult(lat, lon, fromname, whenno, date) {
ZdcEmapSrchCombRootResultObj.innerHTML = "";
//検索条件
var url = "http://127.0.0.1/p/rkcsymap/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(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください cond["+status+"]";
ZdcEmapSrchCombRootResultObj.innerHTML = html;
});
}
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;
}
function ZdcEmapCookieRemoveShop(cid, kid) {
var key = "PC_SHOPDTL_"+cid;
var save_value = "";
var kid_list = new Array();
if (typeof kid == "string") {
// 1件(string)
kid_list = "|"+kid+"|";
} else {
// n件(Array)
kid_list = "|"+kid.join("|")+"|";
}
var shop_list = ZdcEmapCookieGetShopList(cid);
var cnt = shop_list.length;
if (cnt > 0) {
for (var i = 0; i < cnt; i++) {
if (kid_list.indexOf("|"+shop_list[i]["kid"]+"|") < 0) {
if (save_value != "") save_value += ",";
save_value += shop_list[i]["kid"] + "," + shop_list[i]["name"];
}
}
}
// Cookie書き出し
ZdcEmapWriteCookie(key, save_value, 365);
}
function ZdcEmapCookieClear(cid) {
var key = "PC_SHOPDTL_"+cid;
ZdcEmapWriteCookie(key, "", 365);
}
function ZdcEmapCookieGetKidList(cid) {
var shop_list = ZdcEmapCookieGetShopList(cid);
var cnt = shop_list.length;
if (cnt > 0) {
var kid_list = new Array();
for (var i = 0; i < cnt; i++) {
kid_list[i] = shop_list[i]["kid"];
}
return kid_list.join(",");
} else {
return "";
}
}
function ZdcEmapCookieGetCount(cid) {
var shop_list = ZdcEmapCookieGetShopList(cid);
return shop_list.length;
}
function ZdcEmapShowCookieShopList(callback) {
var url = "http://127.0.0.1/p/rkcsymap/klistck.htm?";
if (ZdcEmapCondParms) url += ZdcEmapCondParms+"&";
url += "";
// Cookie(閲覧履歴)保存済みの拠点ID(複数)を引き渡し ?>
var ckkids = ZdcEmapCookieGetKidList("rkcsymap");
url += "&ckkids="+ckkids;
var dd = new Date();
var ts = dd.getTime();
url += "&ts="+ts;
ZdcEmapHttpRequestHtml(url, callback, false, 2);
}
//-------------------------------------------------------------
// cond書き換え
//-------------------------------------------------------------
function ZdcEmapChangeCond(prm) {
//var url = "http://127.0.0.1/p/rkcsymap/cond.htm?cid=rkcsymap";
var url = "http://127.0.0.1/p/rkcsymap/cond.htm?";
if (prm) url = url + "&" + prm;
// mod 2022/09/28 M.date
// mod 2022/09/28 M.date
url += "&https_req=1"; // mod 2022/09/28 M.date
ZdcEmapHttpRequestHtml(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください cond["+status+"]";
ZdcEmapCondObj.innerHTML = html;
});
}
//-------------------------------------------------------------
// 画面遷移時に現在表示している縮尺を引き継ぐ
//-------------------------------------------------------------
function ZdcEmapDeliverMapZoom(url) {
var zoom = ZdcEmapMapObj.getZoom();
if (zoom == 0) zoom = 1;
url += "&lvl="+zoom;
location.href = url;
}
// add 2014/11/28 Y.Matsukawa
//-------------------------------------------------------------
// 検索位置にマーカー表示
//-------------------------------------------------------------
function ZdcEmapSearchMapIcon(latlon) {
var mrk = new ZDC.Marker(latlon,{
color: ZDC.MARKER_COLOR_ID_GREEN_S
});
mrk.setZindex(300);
ZdcEmapMapObj.addWidget(mrk);
}
// add 2016/01/18 Y.Uesugi [
//-------------------------------------------------------------
// 地図中心位置の住所表示
//-------------------------------------------------------------
function ZdcMapCenterAddrSelect(){
this.type = 'ZdcMapCenterAddrSelect';
this.result = false;
this.text_data = null;
}
ZdcMapCenterAddrSelect.prototype.getResult = function(){
return this.result;
}
ZdcMapCenterAddrSelect.prototype.abort = function(){
if( this.httpReq ){
this.httpReq.abort();
}
}
ZdcMapCenterAddrSelect.prototype.search = function(opts, callback){
var center = ZdcEmapMapObj.getLatLon();
var owner = this;
var enc = "EUC";
var target_url = "http://cgiweb.pro.aws.zdc.local/ssapi/getadstr.cgi";
var prm = '';
prm += '&key=53nQ2P9tlg4vBGnAjvBvnAqf9FmgbPB5idj5SdXuomA4fhEzTErxAzTjrxpzThngszFIlgrnFDng0z46oRAL0ungdzFblg3nFengVz57oRuLTE';
prm += '&lat='+center.lat;
prm += '&lon='+center.lon;
prm += "&mclv=6";
prm += '&enc='+enc;
var request_url = target_url+'?'+prm;
this.httpReq = new ZdcEmapHttpRequest('EUC', 'EUC');
this.httpReq.request(request_url, function(reference_text, status){
var result = new ZdcMapCenterAddrSelectResult(reference_text, status);
result.type = owner.type;
result.options = opts;
owner.result = result;
if( callback != null ){
callback(result);
}
}, opts.timeout);
}
function ZdcMapCenterAddrSelectOptions(frewd){
//default値
this.lat = '';
this.lon = '';
this.timeout = 60000;
}
function ZdcMapCenterAddrSelectResult(text_data, status){
if( text_data == null ){
ZdcSetErrorStatus.call(this, '', status);
return;
}
//header
var res = new Array();
res = text_data.split('\n');
var header = res.shift();
var cols = header.split('\t');
var retcd = cols[0];
var cnt = parseFloat(cols[1]);
var hitcnt = parseFloat(cols[2]);
this.retCode = retcd;
this.type = '';
this.status = status;
this.recCount = cnt;
this.hitCount = hitcnt;
this.items = [];
for(var i=0; i');
$div.html(html);
$('body').append($div);
var $target = $('#noneDisplayDiv').find('div');
if (widget) {
ZdcEmapMapObj.removeWidget(widget);
}
/* 吹き出しを作成 */
widget = new ZDC.MsgInfo(marker.getLatLon(), {html: html, size: ZDC.WH($target.width(), $target.height())});
/* 吹き出しを追加 */
ZdcEmapMapObj.addWidget(widget);
/* 吹き出しを表示 */
widget.open();
$('#noneDisplayDiv').remove();
}, true)
}
break;
}
}
}
// add 2014/12/08 Y.Matsukawa
// mod 2015/04/08 F.Yokoi
//-------------------------------------------------------------
// 検索位置から店舗へのルート表示
//-------------------------------------------------------------
function ZdcEmapRouteFromSearchPlace(shop_lat, shop_lon, route_type) { if(ZdcEmapButtonNG()) return;
if(!ZdcEmapSearchCenter) return;
ZdcEmapRouteCase = 'searchplace';
//拠点以外のアイコンをクリア
for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) {
if (ZdcEmapMapPoiMrkId[i]) {
ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);
ZdcEmapMapPoiMrkId[i] = null;
}
}
ZdcEmapPoiRouteClear(); // ルートクリア
ZdcEmapShopMsgClose(); // 吹き出し消去
ZdcEmapSearchEventStop(); // 検索イベント停止
ZdcEmapSearchShopClose();
ZdcEmapCondObj.innerHTML = "";
ZdcEmapCondObj.mode = "";
ZdcEmapCondObj.style.visibility = "hidden";
ZdcEmapFreeRouteClose();
// ルート描画
ZdcEmapRouteSearch("指定引取場所", shop_lon, shop_lat, "検索位置", ZdcEmapSearchCenter.lon, ZdcEmapSearchCenter.lat, route_type); // パンくず追加 add 2015/01/28 Y.Matsukawa
ZdcEmapAddOptionalHistory('検索位置からルート');
}
// add 2014/12/14 Y.Matsukawa
//-------------------------------------------------------------
// 詳細へ遷移
//-------------------------------------------------------------
function ZdcEmapShopDetail(kid) {
var url = "https://www.e-map.ne.jp/p/rkcsymap/dtl/"+kid+"/?"
+""
+""
+"his=dm"; // mod 2023/03/21 T.Luu
if (ZdcEmapSearchCenter) {
url += "&srchplace="+ZdcEmapSearchCenter.lat+","+ZdcEmapSearchCenter.lon;
}
location.href = url;
}
// add 2014/12/14 Y.Matsukawa
//-------------------------------------------------------------
// 絞り込みを全解除
//-------------------------------------------------------------
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(); // 再検索
}
}
}
function ZdcEmap711omniSearchShopStart(init_rad) {
var latlons = ZdcEmapGetPointsByRad(ZdcEmapSearchCenter, init_rad)
var zi = ZdcEmapMapObj.getAdjustZoom(latlons, {fix:true});
ZdcEmapMapObj.setZoom(zi.zoom);
var box = ZdcEmapMapObj.getLatLonBox();
var boxmin = box.getMin();
var boxmax = box.getMax();
// 初期検索範囲にSEJ店舗が1つ以上存在するかどうか
var opts = new ZdcNearShopOptions();
opts.cid = "rkcsymap";
opts.lat = ZdcEmapSearchCenter.lat;
opts.lon = ZdcEmapSearchCenter.lon;
opts.latlon = boxmin.lat+","+boxmin.lon+","+boxmax.lat+","+boxmax.lon;
opts.jkn = "";
opts.pos = 1;
opts.maxCount = 1;
opts.limitCount = 1;
opts.timeout = 10000;
ZdcEmapNearShop.opts = opts;
ZdcEmapNearShop.search(opts, ZdcEmap711omniSearchShopResult);
}
function ZdcEmap711omniSearchShopResult(result) {
// エラー処理
if(result.status != 0 && result.status != 3 && result.status != 5 && result.status != 9) {
alert("検索に失敗しました listres["+result.status+"]");
ZdcEmapCondEnabled();
ZdcEmapSearchEventStart();
ZdcEmapSearchShopClose();
ZdcEmapReadOff();
return;
}
// 件数確認
var cnt = result.items.length;
if (cnt) {
// SEJ店舗ありなら地図範囲で最寄り検索
ZdcEmapSearchFirst = 0;//地図範囲を検索
ZdcEmapSearchShopStart();
} else {
// SEJ店舗なしなら既定半径の入りきる縮尺で最寄り検索
var latlons = ZdcEmapGetPointsByRad(ZdcEmapSearchCenter, 0)
var zi = ZdcEmapMapObj.getAdjustZoom(latlons, {fix:true});
ZdcEmapMapObj.setZoom(zi.zoom);
ZdcEmapSearchFirst = 0;//地図範囲を検索
ZdcEmapSearchShopStart();
}
}
// add 2015/11/27 H.Yasunaga ヤンセンファーマ向けカスタマイズ
// ヤンセンファーマ用
// 出発地を指定してルート探索モード開始(Light/Maplink)
function ZdcEmapJanssenFreeRouteClickLight(lat, lon, route_type) {
if(ZdcEmapButtonNG()) return;
//拠点以外のアイコンをクリア
for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) {
if (ZdcEmapMapPoiMrkId[i]) { ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);
ZdcEmapMapPoiMrkId[i] = null;
}
}
ZdcEmapPoiRouteClear(); // ルートクリア
ZdcEmapShopMsgClose(); // 吹き出し消去
ZdcEmapSearchEventStop(); // 検索イベント停止
// 画面を切り替える
ZdcEmapSearchShopClose();
//var url = "http://127.0.0.1/p/rkcsymap/emapview_froute.htm?cid=rkcsymap"
var url = "http://127.0.0.1/p/rkcsymap/froute.htm?"
+"lat="+lat+"&lon="+lon+"&mode=init"+"&routetype="+route_type;
;
url += "&https_req=1"; ZdcEmapHttpRequestHtml(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください froute["+status+"]";
ZdcEmapListObj.innerHTML = html;
});
}
// フリーワード検索
function ZdcEmapJanssenFreeRouteSearch(lat, lon, route_type) {
var txt = document.getElementById("freeRouteSearchEntText");
if (!txt || !txt.value) return;
//var url = "http://127.0.0.1/p/rkcsymap/emapview_froute.htm?cid=rkcsymap"
var url = "http://127.0.0.1/p/rkcsymap/froute.htm?"
+"lat="+lat+"&lon="+lon+"&mode=srch"
+"&keyword="+txt.value
+"&routetype="+route_type
;
// add 2013/06/11 Y.Matsukawa [
var typ = document.getElementById("freeRouteSearchType");
if (typ && typ.value) {
url += "&type="+typ.value;
}
var adcd = document.getElementById("freeRouteSearchAdcd");
if (adcd && adcd.value) {
url += "&adcd="+adcd.value;
}
// add 2013/06/11 Y.Matsukawa ]
url += "&https_req=1"; ZdcEmapHttpRequestHtml(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください froute["+status+"]";
if(ZdcEmapFRouteStaticObj) {
//拠点以外のアイコンをクリア
for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) {
if (ZdcEmapMapPoiMrkId[i]) { ZdcEmapMapObj.removeWidget(ZdcEmapMapPoiMrkId[i]);
ZdcEmapMapPoiMrkId[i] = null;
}
}
ZdcEmapPoiRouteClear(); // ルートクリア
ZdcEmapShopMsgClose(); // 吹き出し消去
ZdcEmapSearchEventStop(); // 検索イベント停止
ZdcEmapSearchShopClose();
ZdcEmapCondObj.innerHTML = "";
ZdcEmapCondObj.mode = "";
ZdcEmapCondObj.style.visibility = "hidden";
ZdcEmapFreeRouteClose();
ZdcEmapFRouteStaticObj.innerHTML = html;
} else {
ZdcEmapListObj.innerHTML = html;
}
});
}
// フリーワード検索(ページ送り)
function ZdcEmapJanssenFreeRoutePage(lat, lon, page, type, keyword, adcd, route_type) {
if (!page) page = 0;
if (!type) type = "";
if (!adcd) adcd = ""; //var url = "http://127.0.0.1/p/rkcsymap/emapview_froute.htm?cid=rkcsymap"
var url = "http://127.0.0.1/p/rkcsymap/froute.htm?"
+"lat="+lat+"&lon="+lon+"&mode=srch&page="+page+"&type="+type
+"&keyword="+keyword
+"&routetype="+route_type
;
if(adcd) url += "&adcd="+adcd; url += "&https_req=1"; ZdcEmapHttpRequestHtml(url, function(html,status){
if(status) html = "申し訳ありませんが只今大変混み合っております。TOPページに戻りしばらく時間を置いてからご利用ください froute["+status+"]";
if(ZdcEmapFRouteStaticObj) {
ZdcEmapFRouteStaticObj.innerHTML = html;
} else {
ZdcEmapListObj.innerHTML = html;
}
});
}
// add 2015/11/27 H.Yasunaga ]