// マーカー
var ZdcEmapMapShopMrkId = new Array(30);
var ZdcEmapMapShopMrkCnt = null;
// 地図
var ZdcEmapMapObj = null;
// 地図余白領域 add 2011/08/26 H.osamoto
var ZdcEmapAnyDispPx = 0;
var ZdcEmapAnyDispPy = 0; // add 2011/12/26 K.Masuda
// ユーザーレイヤー
var ZdcEmapMapUserLyr = new ZdcUserLayer();
var ZdcEmapMapUserLyrId = null;
// マーカー
var ZdcEmapMapShopMrkId = new Array(30);
var ZdcEmapMapShopMrkCnt = null;
var ZdcEmapMapShopDetailMrkId = null;
var ZdcEmapMapCurFocusMrkId = null;
var ZdcEmapMapPoiMrkId = new Array(20); // add 2011/07/13 Y.Matsukawa
var ZdcEmapMapPoiMrkCnt = null; // add 2011/07/13 Y.Matsukawa
// 吹き出し
var ZdcEmapMsg = new ZdcUserMsgWindow();
// アイコン情報
var ZdcEmapIconImg = new Array();
var ZdcEmapIconW = new Array();
var ZdcEmapIconH = new Array();
var ZdcEmapIconOffsetX = new Array();
var ZdcEmapIconOffsetY = new Array();
ZdcEmapIconImg['@SHOP'] = 'https://www.e-map.ne.jp/smt/lawson/img/000000.gif';ZdcEmapIconW['@SHOP'] = 11;ZdcEmapIconH['@SHOP'] = 11;ZdcEmapIconOffsetX['@SHOP'] = -6;ZdcEmapIconOffsetY['@SHOP'] = -6;ZdcEmapIconImg['@NEW'] = 'https://www.e-map.ne.jp/cgi/icon_select.cgi?cid=lawson&icon_id=@NEW.gif';ZdcEmapIconW['@NEW'] = 23;ZdcEmapIconH['@NEW'] = 10;ZdcEmapIconOffsetX['@NEW'] = -12;ZdcEmapIconOffsetY['@NEW'] = -5;ZdcEmapIconImg['@SEL'] = 'https://www.e-map.ne.jp/smt/lawson/img/icon_cursor/0003.gif';ZdcEmapIconW['@SEL'] = 51;ZdcEmapIconH['@SEL'] = 50;ZdcEmapIconOffsetX['@SEL'] = -26;ZdcEmapIconOffsetY['@SEL'] = -25;ZdcEmapIconImg['@SELB'] = 'https://www.e-map.ne.jp/smt/lawson/img/icon_cursor/0000.gif';ZdcEmapIconW['@SELB'] = 51;ZdcEmapIconH['@SELB'] = 50;ZdcEmapIconOffsetX['@SELB'] = -26;ZdcEmapIconOffsetY['@SELB'] = -25;ZdcEmapIconImg['@TP'] = 'https://www.e-map.ne.jp/smt/lawson/img/tp11.gif';ZdcEmapIconW['@TP'] = 11;ZdcEmapIconH['@TP'] = 11;ZdcEmapIconOffsetX['@TP'] = -6;ZdcEmapIconOffsetY['@TP'] = -6;ZdcEmapIconImg['1'] = 'https://www.e-map.ne.jp/cgi/icon_select.cgi?cid=lawson&icon_id=1';ZdcEmapIconW['1'] = 25;ZdcEmapIconH['1'] = 25;ZdcEmapIconOffsetX['1'] = -13;ZdcEmapIconOffsetY['1'] = -13;ZdcEmapIconImg['2'] = 'https://www.e-map.ne.jp/cgi/icon_select.cgi?cid=lawson&icon_id=2';ZdcEmapIconW['2'] = 25;ZdcEmapIconH['2'] = 25;ZdcEmapIconOffsetX['2'] = -13;ZdcEmapIconOffsetY['2'] = -13;ZdcEmapIconImg['3'] = 'https://www.e-map.ne.jp/cgi/icon_select.cgi?cid=lawson&icon_id=3';ZdcEmapIconW['3'] = 21;ZdcEmapIconH['3'] = 21;ZdcEmapIconOffsetX['3'] = -11;ZdcEmapIconOffsetY['3'] = -11;ZdcEmapIconImg['4'] = 'https://www.e-map.ne.jp/cgi/icon_select.cgi?cid=lawson&icon_id=4';ZdcEmapIconW['4'] = 25;ZdcEmapIconH['4'] = 25;ZdcEmapIconOffsetX['4'] = -13;ZdcEmapIconOffsetY['4'] = -13;ZdcEmapIconImg['5'] = 'https://www.e-map.ne.jp/cgi/icon_select.cgi?cid=lawson&icon_id=5';ZdcEmapIconW['5'] = 21;ZdcEmapIconH['5'] = 21;ZdcEmapIconOffsetX['5'] = -11;ZdcEmapIconOffsetY['5'] = -11;ZdcEmapIconImg['6'] = 'https://www.e-map.ne.jp/cgi/icon_select.cgi?cid=lawson&icon_id=6';ZdcEmapIconW['6'] = 25;ZdcEmapIconH['6'] = 25;ZdcEmapIconOffsetX['6'] = -13;ZdcEmapIconOffsetY['6'] = -13;
var ZdcEmapSearchFirst = null;//位置決定後の最初の検索か否か
var ZdcEmapSearchRetry = null;//地図範囲で検索した結果が0件だった場合に、半径指定で再検索 add 2012/10/24 Y.Matsukawa
var ZdcEmapSearchRetryVCnt = 0;//分布地図再検索後、最初のn件が入りきる縮尺に変更する add 2012/10/24 Y.Matsukawa
var ZdcEmapSearchCond = null; //絞り込み条件 add 2012/10/24 Y.Matsukawa
var ZdcEmapSearchPoint = null;//検索した位置を保持
var ZdcEmapSearchScale = null;//検索した縮尺を保持
var ZdcEmapSearchClickFlg = 0;//最寄検索中に更に地図移動した場合のコンフリクト防止フラグ add 2011/06/29 Y.Matsukawa
var ZdcEmapLastOrientation = null;//ウィンドウ縦横
var ZdcEmapIconDt = new Array();
// add 2012/08/16 K.Masuda [
// 最大縮尺、最小縮尺
// var max_lvl = "1";
// var min_lvl = "15";
var max_lvl = parseInt("1");
var min_lvl = parseInt("15");
// add 2012/08/16 K.Masuda ]
//-------------------------------------------------------------
//自動検索のイベント管理
//-------------------------------------------------------------
var ZdcEmapSearchEventFlg = 0;
var ZdcEmapSearchEventFunc = null;
var ZdcEmapSearchEventDragmapend;
var ZdcEmapSearchEventScrollmapend;
var ZdcEmapSearchEventChangezoomend;
function ZdcEmapRefMap() {
var obj = document.getElementById("ZdcEmapMap");
if (obj) {
obj.offsetLeft;
}
}
// del 2020/10/08 MLAB.HieuHuynh [
//function ZdcEmapInit(init_lat, init_lon, init_lv){ // mod 2011/08/10 H.osamoto
// function ZdcEmapInit(init_lat, init_lon, init_lv, nmapflg){
// ZdcEmapWindowWidth = window.innerWidth;
// ZdcEmapWindowHeight = window.innerHeight;
// ZdcEmapLastOrientation = window.orientation; // ZdcEmapLastOrientation = 999;
// // add 2011/08/10 H.osamoto [
// if (nmapflg && 0 > 0) {
// ZdcEmapWindowHeight = ZdcEmapWindowHeight - 0;
// ZdcEmapAnyDispPx = 0;
// }
// if (!nmapflg && 0 > 0) {
// ZdcEmapWindowHeight = ZdcEmapWindowHeight - 0;
// ZdcEmapAnyDispPx = 0;
// }
// // add 2011/08/10 H.osamoto ]
// // add 2011/12/26 K.Masuda [
// if (nmapflg && 0 > 0) {
// ZdcEmapWindowWidth = ZdcEmapWindowWidth - 0;
// ZdcEmapAnyDispPy = 0;
// }
// if (!nmapflg && 0 > 0) {
// ZdcEmapWindowWidth = ZdcEmapWindowWidth - 0;
// ZdcEmapAnyDispPy = 0;
// }
// // add 2011/12/26 K.Masuda ]
// document.getElementById("ZdcEmapMap").setAttribute( 'style',
// 'postion:absolute; top:0px; left:0px; width:' + ZdcEmapWindowWidth + 'px; height:' + ZdcEmapWindowHeight + 'px; z-index:0;' );
// if (!init_lv || init_lv == 0) {
// init_lv = 14;
// }
// ZdcEmapMapObj = new ZdcMap(document.getElementById("ZdcEmapMap"),
// new ZdcPoint(init_lon, init_lat, 2),
// init_lv
// , 2 // add 2011/09/01 Y.Matsukawa
// );
// // 地図の縮尺レベル変更イベント( changezoomend ) をハンドルする
// ZdcEvent.addListener( ZdcEmapMapObj, 'changezoomend', function() {
// // セレクトボックスの選択を変更する
// ZdcEmapMapScaleToLvlSelect();
// // ズームボタンのイメージを変更する
// if(0 == '1') ZdcEmapLvlScaleBtn(); // add 2012/08/16 K.Masuda
// } );
// ZdcEmapMapObj.addMapScaleBar( new ZdcScaleBar( '3' ) );
// ZdcEmapMapObj.reflashMap();
// ZdcEmapMapObj.saveMapLocation();
// ZdcEmapMapScaleToLvlSelect();
// //ユーザーレイヤー
// ZdcEmapMapUserLyr.setLayerScale(1,15);
// ZdcEmapMapUserLyr.clearMarker();
// ZdcEmapMapUserLyrId = ZdcEmapMapObj.addUserLayer(ZdcEmapMapUserLyr);
// // add 2016/11/09 K.Tani [
// document.getElementById("ZdcEmapMap").ontouchmove = function ( event ) {
// event.preventDefault();
// };
// // add 2016/11/09 K.Tani ]
// ZdcEvent.addListener(ZdcEmapMapObj, "clickmapnomove", function(e) {
// ZdcEmapShopMsgClose();
// });
// // add 2012/02/22 H.osamoto [
// ZdcEvent.addListener(ZdcEmapMapObj, "changezoomend", ZdcEmapMapEventLogZoom);
// ZdcEvent.addListener(ZdcEmapMapObj, "dragmapend", ZdcEmapMapEventLogLoc);
// // add 2012/02/22 H.osamoto ]
// if(0 == '1') ZdcEmapLvlScaleBtn(); // add 2012/08/16 K.Masuda
// setTimeout(ZdcEmapRefMap, 100); // }
// del 2020/10/08 MLAB.HieuHuynh ]
function ZdcEmapShopMapInit(kid,lat,lon,icnno,nflg,lvl,mode) {
var mrk,tmp;
var tooltip_w,tooltip_h,tooltip_offset_x,tooltip_offset_y; // add 2011/08/10 H.Osamoto
if (lvl && lvl != 0) {
ZdcEmapMapObj.setMapScale(lvl);
} else if(14 > 0) {
ZdcEmapMapObj.setMapScale(14);
}
// add 2011/08/10 H.Osamoto [
// add 2011/08/10 H.Osamoto ]
// //フォーカスカーソルを表示する
// mrk = ZdcEmapMakeMrk(0,lat,lon,
// ZdcEmapIconW['@SEL'],ZdcEmapIconH['@SEL'],
// 0,0,
// ZdcEmapIconOffsetX['@SEL'],ZdcEmapIconOffsetY['@SEL'],
// 0,0,
// 0,0,
// ZdcEmapIconImg['@SEL'],'',
// '','',0,
// null
// );
// if(ZdcEmapMapCurFocusMrkId != null) ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapCurFocusMrkId);
// ZdcEmapMapCurFocusMrkId = ZdcEmapMapUserLyr.addMarker(mrk);
// mrk.setTopZIndex(3);
//店舗アイコンを表示する
if(nflg == 1) tmp = ZdcEmapIconImg["@NEW"];
else tmp = "";
// add 2011/08/10 H.Osamoto [
// アイコン位置を指定する場合は通常のnewアイコン表示処理を行わない
if (tooltip_w && tooltip_h) {
tmp = "";
}
// add 2011/08/10 H.Osamoto ]
if (ZdcEmapIconImg[icnno] == null) icnno = "@TP"; // 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, 1, 'detail'); }
// );
if (mode == "nomsgbox") {
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,
null
);
} else {
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, 1, 'detail'); }
);
}
if(ZdcEmapMapShopDetailMrkId != null) ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapShopDetailMrkId);
ZdcEmapMapShopDetailMrkId = ZdcEmapMapUserLyr.addMarker(mrk);
// add 2011/08/10 H.osamoto [
if (nflg == 1) {
var tooltip = new ZdcTooltip();
var tooltipHTML = '
';
tooltip.setZdcTooltip(mrk.Point, tooltipHTML, tooltip_w, tooltip_h, new ZdcPixel(tooltip_offset_x, tooltip_offset_y), 4);
tooltip.mrkid = mrk.id;
ZdcEvent.addListener(tooltip, "mouseclicktooltip", function() { ZdcEmapShopMsg(this.mrkid, 1, 'detail'); });
ZdcEmapMapUserLyr.addZdcTooltip(tooltip);
mrk.toolid = tooltip.id;
ZdcEmapMapUserLyr.visibleZdcTooltipById(mrk.toolid);
}
// add 2011/08/10 H.osamoto ]
if (mode == '') { ZdcEmapShopMsg(null, 1, 'detail');
ZdcEmapMapObj.reflashMap();
}
ZdcEmapMapObj.saveMapLocation();
}
function ZdcEmapMaplinkInit(lat,lon,icnno,lvl,parm_nm) {
var mrk,tmp;
if (lvl && lvl != 0) {
ZdcEmapMapObj.setMapScale(lvl);
} else if(14 > 0) {
ZdcEmapMapObj.setMapScale(14);
}
if (icnno == '') icnno = '@SHOP';
//店舗アイコンを表示する
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],"",
null,icnno,null,
function() { ZdcEmapShopMsgMaplink(parm_nm); }
);
if(ZdcEmapMapShopDetailMrkId != null) ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapShopDetailMrkId);
ZdcEmapMapShopDetailMrkId = ZdcEmapMapUserLyr.addMarker(mrk);
ZdcEmapShopMsgMaplink(parm_nm);
ZdcEmapMapObj.reflashMap();
ZdcEmapMapObj.saveMapLocation();
}
function ZdcEmapMakeMrk(id,lat,lon,
sizew,sizeh,shadowsizew,shadowsizeh,
offsetx,offsety,shdoffsetx,shdoffsety,msgoffsetx,msgoffsety,
image,shadowimage,
data1,data2,nflg,
mouseclickmarker
,lvl
) {
var p,mrk,item;
var icon = new ZdcIcon();
//アイコンの作成
icon.size = new ZdcSize(sizew, sizeh);
icon.offset = new ZdcPixel(offsetx, offsety);
if (image.substr(image.length-4, 4) == ".gif") {
icon.image = image;
} else {
dd = new Date();
ts = dd.getTime();
if (image.indexOf('?') < 0) {
icon.image = image+"?dummy="+ts+".gif";
} else {
icon.image = image+"&dummy="+ts+".gif";
}
}
if(shadowimage) {
icon.shadowsize = new ZdcSize(shadowsizew, shadowsizeh);
icon.shdoffset = new ZdcPixel(shdoffsetx,shdoffsety);
icon.shadowimage = shadowimage;
}
icon.msgoffset = new ZdcPixel(msgoffsetx,msgoffsety);
//マーカーの作成
p = new ZdcPoint(lon, lat, 2);
mrk = new ZdcMarker(p, icon);
//マーカーの基本情報
mrk.id = id;
mrk.data1 = data1;
mrk.data2 = data2;
mrk.nflg = nflg;
if (lvl) mrk.lvl = lvl;
mrk.Point = p;
mrk.mouseclickmarker = mouseclickmarker;
//マーカークリック時のイベント登録
if(mrk.mouseclickmarker) ZdcEvent.addListener(mrk, "mouseclickmarker", mrk.mouseclickmarker);
return mrk;
}
//フキダシ表示
function ZdcEmapShopMsg(id, link, maptype, overlap) {
// set default value for overlap parameter
overlap = typeof overlap !== 'undefined' ? overlap : '';
ZdcEmapReadOn();
ZdcEmapShopMsgClose();
// //アイコンを前面に出す
// if(id != null) ZdcEmapMapFrontShopMrk(id);
// else ZdcEmapMapFrontShopDetail();
//デザイン
ZdcEmapMsg.setImage('https://www.e-map.ne.jp/smt/lawson/img/msg/0002.png',new ZdcSize(242,95),
'https://www.e-map.ne.jp/smt/lawson/img/msg/0002-t.png',new ZdcSize(194,67),
'https://www.e-map.ne.jp/smt/lawson/img/msg/0002-x.png',new ZdcSize(13,13),
'https://www.e-map.ne.jp/smt/lawson/img/msg/0002-s.png',new ZdcSize(13,13),
null);
ZdcEmapMsg.setDocPosition(0,0,11,8,11,224,55,0);
ZdcEmapMsg.setDocOffset(-110,-90);
ZdcEmapMsg.setTextClass('UserMsgWindowTextStyle');
if(id != null) var obj = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapShopMrkId[id]);
else var obj = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapShopDetailMrkId);
//フキダシを表示させる
if( overlap == 1) {
var kidprm = "";
for (var i = 0; i < IconGrp.length; i++) {
var grpKid = IconGrp[i].split(',');
if( grpKid.length > 1) {
if( grpKid.indexOf( obj.data1) == 0) {// choosen "clicked icon" is first.
for( var k=0; k < grpKid.length; k++ ){
if( grpKid[k] == ""){ continue; }
kidprm += "&kid" + k + "=" + grpKid[k];
}
}
} else if( grpKid.length == 1)
kidprm += "&kid=" + obj.data1;
}
var url = "http://127.0.0.1/smt/lawson/shop_msg.htm?cid=lawson&id="+id+kidprm;
} else { var url = "http://127.0.0.1/smt/lawson/shop_msg.htm?cid=lawson&id="+id+"&kid="+obj.data1;
}
//url += "&";
//url += "&p_s2=free1805file&p_f2=1"; // add 2012/01/11 Y.Matsukawa mod 2012/09/10 Y.Matsukawa
url += "&p_s2=free1805file&p_f2=1";
url += "&https_req=1"; if (link) url += "&link="+link;
if (maptype) url += "&maptype="+maptype; url += "&PARENT_HTTP_HOST=www.e-map.ne.jp"; 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);
ZdcEmapReadOff();
}, false, 2);
}
//フキダシ(Maplink用)表示
function ZdcEmapShopMsgMaplink(parm_nm) {
if (parm_nm == '') return;
ZdcEmapReadOn();
ZdcEmapShopMsgClose();
//デザイン
ZdcEmapMsg.setImage('https://www.e-map.ne.jp/smt/lawson/img/msg/0002.png',new ZdcSize(242,95),
'https://www.e-map.ne.jp/smt/lawson/img/msg/0002-t.png',new ZdcSize(194,67),
'https://www.e-map.ne.jp/smt/lawson/img/msg/0002-x.png',new ZdcSize(13,13),
'https://www.e-map.ne.jp/smt/lawson/img/msg/0002-s.png',new ZdcSize(13,13),
null);
ZdcEmapMsg.setDocPosition(0,0,11,8,11,224,55,0);
ZdcEmapMsg.setDocOffset(-110,-90);
ZdcEmapMsg.setTextClass('UserMsgWindowTextStyle');
var obj = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapShopDetailMrkId);
//フキダシを表示させる
var url = "http://127.0.0.1/smt/lawson/maplink_msg.htm?"+parm_nm;
url += "&https_req=1"; //url += "&p_s2=free1805file&p_f2=1"; // add 2012/01/11 Y.Matsukawa mod 2012/09/10 Y.Matsukawa
url += "&p_s2=free1805file&p_f2=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);
ZdcEmapReadOff();
}, false, 2);
}
function ZdcEmapShopMsgClose() {
if (ZdcEmapMapObj.getUserMsgOpenStatus()) {
ZdcEmapMapObj.closeUserMsgWindow();
}
//ZdcEmapMapFrontShopReset();
}
function ZdcEmapMapScaleToLvlSelect() {
var newLvl = ZdcEmapMapObj.getMapScale();
var e = document.getElementById( "ZdcEmapLvlSelect" );
for (var i = 0; i < e.options.length; ++i) {
if (newLvl == e.options[i].value) {
e.selectedIndex = i;
break;
}
}
}
function ZdcEmapLvlSelectChanged() {
var e = document.getElementById( "ZdcEmapLvlSelect" );
var newLvl = e.options[e.selectedIndex].value;
ZdcEmapMapObj.setMapScale(newLvl);
}
function ZdcEmapResetMapLocation() {
ZdcEmapMapObj.restoreMapLocation();
}
// +-ボタン
function ZdcEmapLvlScaleBtn(){
// var now_lvl = ZdcEmapMapObj.getMapScale();
var now_lvl = parseInt(ZdcEmapMapObj.getMapScale());
var btnp = document.getElementById( "ZdcEmapLvlBtnP" ); //(+)
var btnm = document.getElementById( "ZdcEmapLvlBtnM" ); //(−)
if( now_lvl == max_lvl ){
if(btnp.src)btnp.src = "https://www.e-map.ne.jp/smt/lawson/img/btn_plus_def.png"; //(+)
if(btnm.src)btnm.src = "https://www.e-map.ne.jp/smt/lawson/img/btn_minus_dis.png"; //(−)
} else if( now_lvl == min_lvl ){
if(btnp.src)btnp.src = "https://www.e-map.ne.jp/smt/lawson/img/btn_plus_dis.png"; //(+)
if(btnm.src)btnm.src = "https://www.e-map.ne.jp/smt/lawson/img/btn_minus_def.png"; //(−)
} else {
if(btnp.src)btnp.src = "https://www.e-map.ne.jp/smt/lawson/img/btn_plus_def.png"; //(+)
if(btnm.src)btnm.src = "https://www.e-map.ne.jp/smt/lawson/img/btn_minus_def.png"; //(−)
}
}
// +-ボタンでの地図縮尺変更
function ZdcEmapLvlScaleChanged(type){
// var now_lvl = ZdcEmapMapObj.getMapScale();
var now_lvl = parseInt(ZdcEmapMapObj.getMapScale());
if( max_lvl <= now_lvl || now_lvl >= min_lvl ){
if(type == 'p'){
if( now_lvl < min_lvl ){
now_lvl++;
}
ZdcEmapMapObj.setMapScale(now_lvl);
} else {
if( now_lvl > max_lvl ){
now_lvl--;
}
ZdcEmapMapObj.setMapScale(now_lvl);
}
} else {
if(type == 'p'){
now_lvl = min_lvl;
} else {
now_lvl = max_lvl;
}
ZdcEmapMapObj.setMapScale(now_lvl);
}
ZdcEmapLvlScaleBtn();
}
//地図移動
function ZdcEmapMapMoveBox(minlat,minlon,maxlat,maxlon,pt,noin){
var p1 = new ZdcPoint(minlon,minlat,2);
var p2 = new ZdcPoint(maxlon,maxlat,2);
var bx = new ZdcBox(p1,p2);
if(pt != null) {
var s = ZdcEmapMapObj.getMapBoxScale(bx,pt);
ZdcEmapMapObj.setMapLocation(pt);
if(noin != 1 || (noin == 1 && s < ZdcEmapMapObj.getMapScale())) ZdcEmapMapObj.setMapScale(s);
} else {
var s = ZdcEmapMapObj.getMapBoxScale(bx);
ZdcEmapMapObj.setMapLocation(bx.getBoxCenter());
if(noin != 1 || (noin == 1 && s < ZdcEmapMapObj.getMapScale())) ZdcEmapMapObj.setMapScale(s);
}
}
function ZdcEmapMapMoveBoxKanaden(minlat,minlon,maxlat,maxlon){
var p1 = new ZdcPoint(minlon,minlat,2); var p2 = new ZdcPoint(maxlon,maxlat,2); var bx = new ZdcBox(p1,p2);
var s = ZdcEmapMapObj.getMapBoxScale(bx, p1);
ZdcEmapMapObj.setMapLocation(p1);
ZdcEmapMapObj.setMapScale(s);
}
// 最寄り店舗分布表示
function ZdcEmapSearchShopStart(cond) {
ZdcEmapSearchFirst = 1;
ZdcEmapSearchCond = cond;
ZdcEmapSearchClickFlg = 1; // add 2011/06/29 Y.Matsukawa
ZdcEmapSearchShop(cond);
ZdcEmapSearchEventAdd("ZdcEmapSearchShop('"+cond+"')");
}
function ZdcEmapSearchMapIcon() {
//アイコン表示位置設定
var p = new ZdcPoint();
p = ZdcEmapMapObj.getMapLocation();
ZdcEmapIconPoint = new ZdcPoint(p.mx, p.my, 2);
//ユーザレイヤー作成
ZdcEmapIconLayer = new ZdcUserLayer();
ZdcEmapIconLayer.setLayerScale(1, 15);
//アイコン作成
ZdcEmapIcon1 = new ZdcIcon();
ZdcEmapIcon1.offset = new ZdcPixel(-5, -5);
ZdcEmapIcon1.image = 'https://www.e-map.ne.jp/smt/lawson/img/000000.gif';
//ユーザレイヤーに追加
ZdcEmapIconLayer.addMarker(new ZdcMarker(ZdcEmapIconPoint, ZdcEmapIcon1));
//地図にユーザレイヤーを追加
ZdcEmapMapObj.addUserLayer(ZdcEmapIconLayer);
}
function ZdcEmapResearchShopStart(cond, cond2) {
var jkn = "";
if (cond) jkn += cond;
if (cond2) {
if (jkn) jkn += " AND ";
jkn += "("+cond2+")";
}
ZdcEmapSearchFirst = 1;
ZdcEmapSearchPoint = null;//必ず再検索させるため
ZdcEmapSearchShop(jkn);
ZdcEmapSearchEventAdd("ZdcEmapSearchShop('"+jkn+"')");
}
function ZdcEmapSearchShop(cond) {
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) < 15 &&
Math.abs(pix1.y-pix2.y) < 15 &&
ZdcEmapSearchScale == ZdcEmapMapObj.getMapScale()) {
ZdcEmapReadOff();
return;
}
}
if(ZdcEmapSearchPoint != null && 15 == -1) {
//自動再検索しない
ZdcEmapReadOff();
return;
}
//自動検索イベント停止
ZdcEmapSearchEventStop();
//ZdcEmapShopMsgClose();
//
var opts = new ZdcNearShopOptions();
//opts.cid='lawson' mod 2012/01/19 N.Wada
opts.cid='lawson'
opts.lat = p.my;
opts.lon = p.mx;
if(ZdcEmapSearchFirst != 1) {
opts.latlon = box.miny+","+box.minx+","+box.maxy+","+box.maxx;
opts.radius = 50000;
} else {
ZdcEmapSearchFirst = 0;
opts.radius = 50000;
}
if (cond) opts.jkn = cond;
opts.pos = 1;
opts.maxCount = 30;
opts.limitCount = 30;
opts.timeout = 10000;
opts.cust = "lowsoncampaign";
ZdcEmapNearShop.opts = opts;
//アイコンを表示する
ZdcEmapNearShop.search(opts,ZdcEmapSearchShopResult);
}
//検索結果の処理
function ZdcEmapSearchShopResult(result) {
var i,item,mrk,tmp,icnt,maxlat=0,maxlon=0,minlat=999999999,minlon=999999999;
var tooltip_w,tooltip_h,tooltip_offset_x,tooltip_offset_y; // add 2011/08/10 H.Osamoto
//マーカー削除
if(ZdcEmapMapShopMrkCnt != null) {
for( i = 0;i < ZdcEmapMapShopMrkCnt;i ++) {
ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapShopMrkId[i]);
ZdcEmapMapUserLyr.clearZdcTooltip(); // add 2011/08/10 H.osamoto
ZdcEmapMapShopMrkId[i] = null;
}
}
ZdcEmapMapShopMrkCnt = 0;
//エラー処理
if(result.status != 0 && result.status != 3 && result.status != 5 && result.status != 9) {
alert("検索に失敗しました listres["+result.status+"]");
ZdcEmapSearchEventStart();
ZdcEmapReadOff();
return;
}
// add 2011/08/10 H.Osamoto [
// add 2011/08/10 H.Osamoto ]
//地図に置く
icnt = result.items.length;
if (icnt > 0) {
for (i=icnt-1; i>=0; i--) {
item = result.items[i];
if(!item.icon) break;
if(item.nflg == 1) tmp = ZdcEmapIconImg["@NEW"];
else tmp = "";
// add 2011/08/10 H.Osamoto [
// アイコン位置を指定する場合は通常のnewアイコン表示処理を行わない
if (tooltip_w && tooltip_h) {
tmp = "";
}
// 無効なアイコンIDの場合は透明アイコンに差し替え add 2012/11/15 Y.Matsukawa
if (ZdcEmapIconImg[item.icon] == null) ZdcEmapIconImg[item.icon] = ZdcEmapIconImg["@TP"];
// add 2011/08/10 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, 1, 'bunpu', ""); },
null,
null,
item.lvl
);
if (ZdcEmapMapShopMrkId[i] != null) ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapShopMrkId[i]);//念のため
ZdcEmapMapShopMrkId[i] = ZdcEmapMapUserLyr.addMarker(mrk);
// add 2011/08/10 H.osamoto [
if (item.nflg == 1) {
var tooltip = new ZdcTooltip();
var tooltipHTML = '
';
tooltip.setZdcTooltip(mrk.Point, tooltipHTML, tooltip_w, tooltip_h, new ZdcPixel(tooltip_offset_x, tooltip_offset_y), 4);
tooltip.mrkid = mrk.id;
ZdcEvent.addListener(tooltip, "mouseclicktooltip", function() { ZdcEmapShopMsg(this.mrkid, 1, 'bunpu'); });
ZdcEmapMapUserLyr.addZdcTooltip(tooltip);
mrk.toolid = tooltip.id;
ZdcEmapMapUserLyr.visibleZdcTooltipById(mrk.toolid);
}
// add 2011/08/10 H.osamoto ]
//最大最小緯度経度取得
ZdcEmapSearchRetry = 0;
if (ZdcEmapSearchRetryVCnt) {
if (i+1 <= ZdcEmapSearchRetryVCnt) {
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;
}
} else {
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];
}
ZdcEmapSearchRetryVCnt = 0; // add 2011/06/29 Y.Matsukawa [
if(ZdcEmapSearchClickFlg) {
ZdcEmapSearchClickFlg = 0;
// add 2011/06/29 Y.Matsukawa ]
//初期検索時は画面移動
if (ZdcEmapMapShopMrkCnt > 0) {
//拠点が収まる範囲に移動
ZdcEmapMapMoveBox(minlat,minlon,maxlat,maxlon,ZdcEmapMapObj.getMapLocation(),1);
} else {
//検索半径の縮尺に移動 ※位置によってgetPoint2PointDistanceの値が変わるため毎回計算している
var p = new ZdcPoint();
p = ZdcEmapMapObj.getMapLocation();
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);
}
}
} else {
if (ZdcEmapSearchRetry) {
ZdcEmapSearchRetry = 0;
ZdcEmapSearchFirst = 1;
ZdcEmapSearchClickFlg = 1;
ZdcEmapSearchPoint = null;//必ず再検索させるため
ZdcEmapSearchRetryVCnt = 0;
ZdcEmapReadOff();
ZdcEmapSearchShop(ZdcEmapSearchCond);
return;
}
}
ZdcEmapMapObj.reflashMap();
ZdcEmapSearchEventStart();
//検索位置を保持
ZdcEmapSearchPoint = ZdcEmapMapObj.getMapLocation();
ZdcEmapSearchScale = ZdcEmapMapObj.getMapScale();
ZdcEmapReadOff();
}
// 検索イベント開始
function ZdcEmapSearchEventStart() {
ZdcEmapSearchEventFlg = 1;
}
// 検索イベント停止
function ZdcEmapSearchEventStop() {
ZdcEmapSearchEventFlg = 0;
}
// フキダシを閉じる
function ZdcEmapShopMsgClose() {
if (ZdcEmapMapObj.getUserMsgOpenStatus()) {
ZdcEmapMapObj.closeUserMsgWindow();
}
}
//検索実行
function ZdcEmapSearchEventAction() {
if(!ZdcEmapSearchEventFlg) return;
//if(ZdcEmapMapObj.getUserMsgOpenStatus()) return;//フキダシ表示中は検索しない
eval(ZdcEmapSearchEventFunc);
}
//検索イベント追加
function ZdcEmapSearchEventAdd(func) {
ZdcEmapSearchEventDel();
ZdcEmapSearchEventFunc = func;
ZdcEmapSearchEventDragmapend = ZdcEvent.addListener(ZdcEmapMapObj, "dragmapend" , ZdcEmapSearchEventAction);
ZdcEmapSearchEventScrollmapend = ZdcEvent.addListener(ZdcEmapMapObj, "scrollmapend" , ZdcEmapSearchEventAction);
ZdcEmapSearchEventChangezoomend = ZdcEvent.addListener(ZdcEmapMapObj, "changezoomend", ZdcEmapSearchEventAction);
}
//検索イベント削除
function ZdcEmapSearchEventDel() {
ZdcEmapSearchEventStop();
if(ZdcEmapSearchEventDragmapend) ZdcEvent.removeListener(ZdcEmapSearchEventDragmapend);
//if(ZdcEmapSearchEventScrollmapend) ZdcEvent.removeListener(ZdcEmapSearchEventScrollmapend);
if(ZdcEmapSearchEventChangezoomend) ZdcEvent.removeListener(ZdcEmapSearchEventChangezoomend);
ZdcEmapSearchEventDragmapend = null;
//ZdcEmapSearchEventScrollmapend = null;
ZdcEmapSearchEventChangezoomend = null;
delete ZdcEmapSearchEventFunc;
}
//検索イベント開始
function ZdcEmapSearchEventStart() {
ZdcEmapSearchEventFlg = 1;
}
//検索イベント停止
function ZdcEmapSearchEventStop() {
ZdcEmapSearchEventFlg = 0;
}
var ZdcEmapReading = 0;//読み込み中・処理中フラグ
function ZdcEmapReadOn() {
ZdcEmapReading ++;
//if(ZdcEmapReading == 1) ZdcEmapMapObj.visibleZdcWait();
if(ZdcEmapReading == 1) ZdcEampVisibleWait();
}
function ZdcEmapReadOff() {
if(ZdcEmapReading <= 0) return;
ZdcEmapReading --;
//if(ZdcEmapReading == 0) ZdcEmapMapObj.hiddenZdcWait();
if(ZdcEmapReading == 0) ZdcEampHiddenWait();
}
function ZdcEampVisibleWait() {
var wait = document.getElementById("ZdcEmapWait");
if (!wait) return;
wait.style.left = (ZdcEmapWindowWidth / 2 + (-60))+'px';
wait.style.top = (ZdcEmapWindowHeight / 2 + (-15))+'px';
// wait.style.width = 121;
// wait.style.height = 31;
wait.style.display = "block";
}
function ZdcEampHiddenWait() {
var wait = document.getElementById("ZdcEmapWait");
if (!wait) return;
// wait.style.width = 0;
// wait.style.height = 0;
wait.style.display = "none";
}
//---------------------------------------------------------------------------
// Landscape(横表示/縦表示)で地図サイズを切り替えます。
// onLoad 時と、onorientationchange 時にコールされます。
//---------------------------------------------------------------------------
function ZdcEmapChangeOrientation()
{
var mapdiv = document.getElementById('ZdcEmapMap');
mapdiv.style.width = '320px';
mapdiv.style.height = '320px';
ZdcEmapWindowWidth = window.innerWidth;
ZdcEmapWindowHeight = window.innerHeight;
ZdcEmapWindowHeight = ZdcEmapWindowHeight - ZdcEmapAnyDispPx; // add 2011/08/26 H.osamoto
ZdcEmapWindowWidth = ZdcEmapWindowWidth - ZdcEmapAnyDispPy; // add 2011/12/26 K.Masuda
var mapDom = document.getElementById('ZdcEmapMap');
mapDom.style.width = ZdcEmapWindowWidth + 'px';
mapDom.style.height = ZdcEmapWindowHeight + 'px';
//if ( window.orientation == 90 || window.orientation == -90 )
//{
// // Landscape(横表示)
// ZdcEmapMapObj.removeMapScaleBar();
// ZdcEmapMapObj.resizeMapWindow( 0, 0, ZdcEmapWindowWidth, ZdcEmapWindowHeight );
// ZdcEmapMapObj.addMapScaleBar( new ZdcScaleBar( '3' ) );
//}
//else
//{
// // Portrait(縦表示)
// ZdcEmapMapObj.removeMapScaleBar();
// ZdcEmapMapObj.resizeMapWindow( 0, 0, ZdcEmapWindowWidth, ZdcEmapWindowHeight );
// ZdcEmapMapObj.addMapScaleBar( new ZdcScaleBar( '3' ) );
//}
ZdcEmapMapObj.removeMapScaleBar();
ZdcEmapMapObj.resizeMapWindow( 0, 0, ZdcEmapWindowWidth, ZdcEmapWindowHeight );
ZdcEmapMapObj.addMapScaleBar( new ZdcScaleBar( '3' ) );
}
window.onload = function()
{
ZdcEmapWindowWidth = window.innerWidth;
ZdcEmapWindowHeight = window.innerHeight;
};
function ZdcEmapMapMoveBox(minlat,minlon,maxlat,maxlon,pt,noin){
var p1 = new ZdcPoint(minlon,minlat,2);
var p2 = new ZdcPoint(maxlon,maxlat,2);
var bx = new ZdcBox(p1,p2);
if(pt != null) {
var s = ZdcEmapMapObj.getMapBoxScale(bx,pt);
ZdcEmapMapObj.setMapLocation(pt);
if(noin != 1 || (noin == 1 && s < ZdcEmapMapObj.getMapScale())) ZdcEmapMapObj.setMapScale(s);
} else {
var s = ZdcEmapMapObj.getMapBoxScale(bx);
ZdcEmapMapObj.setMapLocation(bx.getBoxCenter());
if(noin != 1 || (noin == 1 && s < ZdcEmapMapObj.getMapScale())) ZdcEmapMapObj.setMapScale(s);
}
}
var ZdcEmapRouteOptionsObj;
var ZdcEmapRouteSearchObj;
var ZdcEmapRoutePoint1 = null;
var ZdcEmapRoutePoint2 = null;
var ZdcEmapRouteFlagLayer;
var ZdcEmapRouteFlagIcon1;
var ZdcEmapRouteFlagIcon2;
var ZdcEmapRouteFlagStartMarker1;
var ZdcEmapRouteFlagStartMarker2;
var ZdcEmapRouteType = null;
var ZdcEmapLocRouteType = 1;
var ZdcEmapNekiRouteType = 1;
var ZdcEmapNpoiRouteType = 0; var ZdcEmapSearchRouteType = 1;
var ZdcEmapRouteWalkPSC = 0;
var ZdcEmapRouteWalkFloorFlg = 0;
var ZdcEmapRouteWalkDepFloor = 0;
var ZdcEmapRouteWalkDepStationFlg = 0;
var ZdcEmapRouteWalkArrFloorFlg = 0;
var ZdcEmapRouteWalkArrStationFlg = 0;
var ZdcEmapRouteWalkArrFloor = 0;
// 現在地からルート探索
function ZdcEmapLocRoute(loc_lat, loc_lon, shop_lat, shop_lon) {
if(ZdcEmapLocRouteType == 0) return;
ZdcEmapRouteType = ZdcEmapLocRouteType;
ZdcEmapShopMsgClose();
ZdcEmapRouteClear();
ZdcEmapPoiMrkClear();
ZdcEmapRoutePoint1 = new ZdcPoint(shop_lon, shop_lat, 2);
ZdcEmapRoutePoint2 = ZdcCommon.WGS2TKY(loc_lon, loc_lat);
if(ZdcEmapRouteType == 1)
ZdcEmapRouteSearchWalk(ZdcEmapRoutePoint1, ZdcEmapRoutePoint2);
if(ZdcEmapRouteType == 2)
ZdcEmapRouteSearchCar(ZdcEmapRoutePoint1, ZdcEmapRoutePoint2);
//画面の移動
ZdcEmapMapMoveBox(ZdcEmapRoutePoint1.my, ZdcEmapRoutePoint1.mx, ZdcEmapRoutePoint2.my, ZdcEmapRoutePoint2.mx);
}
// 最寄り駅アイコン表示
function ZdcEmapEki(eki_lat, eki_lon, shop_lat, shop_lon) {
var point1 = new ZdcPoint(eki_lon, eki_lat, 2);
var point2 = new ZdcPoint(shop_lon, shop_lat, 2);
// 駅アイコン表示
ZdcEmapPoiMrkClear();
var i = ZdcEmapMapPoiMrkCnt;
var mrk = ZdcEmapMakeMrk(i,eki_lat,eki_lon,
19,24,0,0,
-10,-12,0,0,0,0,
'https://www.e-map.ne.jp/smt/lawson/img/icon_eki/0000.gif',"",
"","",0,
null,
null,
null);
if (ZdcEmapMapPoiMrkId[i] != null) ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapPoiMrkId[i]);//念のため
ZdcEmapMapPoiMrkId[i] = ZdcEmapMapUserLyr.addMarker(mrk);
ZdcEmapMapPoiMrkCnt ++;
//画面の移動
ZdcEmapMapMoveBox(point1.my, point1.mx, point2.my, point2.mx);
}
// 駅からルート探索
function ZdcEmapEkiRoute(eki_lat, eki_lon, shop_lat, shop_lon) {
if(ZdcEmapNekiRouteType == 0) return;
ZdcEmapRouteType = ZdcEmapNekiRouteType;
ZdcEmapShopMsgClose();
ZdcEmapRouteClear();
ZdcEmapRoutePoint1 = new ZdcPoint(shop_lon, shop_lat, 2);
ZdcEmapRoutePoint2 = new ZdcPoint(eki_lon, eki_lat, 2);
if(ZdcEmapRouteType == 1)
ZdcEmapRouteSearchWalk(ZdcEmapRoutePoint1, ZdcEmapRoutePoint2);
if(ZdcEmapRouteType == 2)
ZdcEmapRouteSearchCar(ZdcEmapRoutePoint1, ZdcEmapRoutePoint2);
//画面の移動
ZdcEmapMapMoveBox(ZdcEmapRoutePoint1.my, ZdcEmapRoutePoint1.mx, ZdcEmapRoutePoint2.my, ZdcEmapRoutePoint2.mx);
}
function ZdcEmapPoi(poi_lat, poi_lon, poi_jnrmn, shop_lat, shop_lon) {
var point1 = new ZdcPoint(poi_lon, poi_lat, 2);
var point2 = new ZdcPoint(shop_lon, shop_lat, 2);
ZdcEmapPoiMrkClear();
var i = ZdcEmapMapPoiMrkCnt;
var mrk = ZdcEmapMakeMrk(i,poi_lat,poi_lon,
16,16,0,0,
-8,-8,0,0,0,0,
'https://www.e-map.ne.jp/smt/lawson/img/icon_poi/'+poi_jnrmn+'.gif',"",
"","",0,
null,
null,
null);
if (ZdcEmapMapPoiMrkId[i] != null) ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapPoiMrkId[i]);//念のため
ZdcEmapMapPoiMrkId[i] = ZdcEmapMapUserLyr.addMarker(mrk);
ZdcEmapMapPoiMrkCnt ++;
ZdcEmapMapMoveBox(point1.my, point1.mx, point2.my, point2.mx);
}
function ZdcEmapPoiRoute(poi_lat, poi_lon, shop_lat, shop_lon) {
if(ZdcEmapNpoiRouteType == 0) return;
ZdcEmapRouteType = ZdcEmapNpoiRouteType;
ZdcEmapShopMsgClose();
ZdcEmapRouteClear();
ZdcEmapRoutePoint1 = new ZdcPoint(poi_lon, poi_lat, 2);
ZdcEmapRoutePoint2 = new ZdcPoint(shop_lon, shop_lat, 2);
if(ZdcEmapRouteType == 1)
ZdcEmapRouteSearchWalk(ZdcEmapRoutePoint1, ZdcEmapRoutePoint2);
if(ZdcEmapRouteType == 2)
ZdcEmapRouteSearchCar(ZdcEmapRoutePoint1, ZdcEmapRoutePoint2);
ZdcEmapMapMoveBox(ZdcEmapRoutePoint1.my, ZdcEmapRoutePoint1.mx, ZdcEmapRoutePoint2.my, ZdcEmapRoutePoint2.mx);
}
function ZdcEmapShopKanaden(now_lat, now_lon, shop_lat, shop_lon) {
var point1 = new ZdcPoint(now_lon, now_lat, 2);
var point2 = new ZdcPoint(shop_lon, shop_lat, 2);
ZdcEmapPoiMrkClear();
var i = ZdcEmapMapPoiMrkCnt;
var mrk = ZdcEmapMakeMrk(i,now_lat,now_lon,
11,11,0,0,
0,0,0,0,0,0,
'',"",
"","",0,
null,
null,
null);
if (ZdcEmapMapPoiMrkId[i] != null) ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapPoiMrkId[i]);//念のため
ZdcEmapMapPoiMrkId[i] = ZdcEmapMapUserLyr.addMarker(mrk);
ZdcEmapMapPoiMrkCnt ++;
//画面の移動
ZdcEmapMapMoveBoxKanaden(point1.my, point1.mx, point2.my, point2.mx);
}
function ZdcEmapEkiKanaden(eki_lat, eki_lon, shop_lat, shop_lon) {
var point1 = new ZdcPoint(eki_lon, eki_lat, 2);
var point2 = new ZdcPoint(shop_lon, shop_lat, 2);
var i = ZdcEmapMapPoiMrkCnt;
var mrk = ZdcEmapMakeMrk(i,eki_lat,eki_lon,
19,24,0,0,
-10,-12,0,0,0,0,
'https://www.e-map.ne.jp/smt/lawson/img/icon_eki/0000.gif',"",
"","",0,
null,
null,
null);
if (ZdcEmapMapPoiMrkId[i] != null) ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapPoiMrkId[i]);//念のため
ZdcEmapMapPoiMrkId[i] = ZdcEmapMapUserLyr.addMarker(mrk);
ZdcEmapMapPoiMrkCnt ++;
//画面の移動
ZdcEmapMapMoveBoxKanaden(point2.my, point2.mx, point1.my, point1.mx);
}
function ZdcEmapPoiKanaden(poi_lat, poi_lon, poi_jnrmn, shop_lat, shop_lon) {
var point1 = new ZdcPoint(poi_lon, poi_lat, 2);
var point2 = new ZdcPoint(shop_lon, shop_lat, 2);
var i = ZdcEmapMapPoiMrkCnt;
var mrk = ZdcEmapMakeMrk(i,poi_lat,poi_lon,
19,24,0,0,
-10,-12,0,0,0,0,
'https://www.e-map.ne.jp/smt/lawson/img/icon_eki/0000.gif',"",
"","",0,
null,
null,
null);
if (ZdcEmapMapPoiMrkId[i] != null) ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapPoiMrkId[i]);//念のため
ZdcEmapMapPoiMrkId[i] = ZdcEmapMapUserLyr.addMarker(mrk);
ZdcEmapMapPoiMrkCnt ++;
ZdcEmapMapMoveBoxKanaden(point2.my, point2.mx, point1.my, point1.mx);
}
// 出発地指定ルート探索
function ZdcEmapSearchRoute(srch_lat, srch_lon, shop_lat, shop_lon) {
if(ZdcEmapSearchRouteType == 0) return;
ZdcEmapRouteType = ZdcEmapSearchRouteType;
ZdcEmapShopMsgClose();
ZdcEmapRouteClear();
ZdcEmapRoutePoint1 = new ZdcPoint(shop_lon, shop_lat, 2);
ZdcEmapRoutePoint2 = new ZdcPoint(srch_lon, srch_lat, 2);
if(ZdcEmapRouteType == 1)
ZdcEmapRouteSearchWalk(ZdcEmapRoutePoint1, ZdcEmapRoutePoint2);
if(ZdcEmapRouteType == 2)
ZdcEmapRouteSearchCar(ZdcEmapRoutePoint1, ZdcEmapRoutePoint2);
//画面の移動
ZdcEmapMapMoveBox(ZdcEmapRoutePoint1.my, ZdcEmapRoutePoint1.mx, ZdcEmapRoutePoint2.my, ZdcEmapRoutePoint2.mx);
}
// 歩行者ルート
function ZdcEmapRouteSearchWalk(p1,p2) {
ZdcEmapReadOn();
//オブジェクト作成
ZdcEmapRouteOptionsObj = new ZdcPRouteSearchOptions();
ZdcEmapRouteSearchObj = new ZdcPRouteSearch();
ZdcEmapRouteOptionsObj.showMarker = false;
ZdcEmapRouteOptionsObj.pointFlg = 2;
ZdcEmapRouteSearchObj.timeout = 5000;
ZdcEvent.addListener(ZdcEmapRouteSearchObj, 'end', ZdcEmapRouteSearchEndWalk);
ZdcEmapMapObj.addPRouteSearch(ZdcEmapRouteSearchObj);
//デザイン指定
//ZdcEmapRouteSearchObj.routeWidth = 5; // 2011/08/24 K.Masuda
ZdcEmapRouteSearchObj.routeWidth = "5";
ZdcEmapRouteSearchObj.routeOpacity = "0.5";
ZdcEmapRouteSearchObj.routeColor = "#0000ff";
//位置指定
ZdcEmapRouteOptionsObj.arrivalPoint.point = p1;
ZdcEmapRouteOptionsObj.departurePoint.point = p2;
//検索条件指定
//共通
ZdcEmapRouteOptionsObj.psc = ZdcEmapRouteWalkPSC;
ZdcEmapRouteOptionsObj.floorFlg = ZdcEmapRouteWalkFloorFlg;
//到着点(出発点)
ZdcEmapRouteOptionsObj.arrivalPoint.floorFlg = ZdcEmapRouteWalkArrFloorFlg;
ZdcEmapRouteOptionsObj.arrivalPoint.stationFlg = ZdcEmapRouteWalkArrStationFlg;
ZdcEmapRouteOptionsObj.arrivalPoint.floor = ZdcEmapRouteWalkArrFloor;
//出発点(拠点)
ZdcEmapRouteOptionsObj.departurePoint.stationFlg = ZdcEmapRouteWalkDepStationFlg;
ZdcEmapRouteOptionsObj.departurePoint.floor = ZdcEmapRouteWalkDepFloor;
//検索開始
ZdcEmapRouteSearchObj.search(ZdcEmapRouteOptionsObj);
}
function ZdcEmapRouteSearchEndWalk() {
ZdcEmapReadOff();
var result = this.getResult();
if(result && (result.status !== 0)) {
//エラー処理
if(ZdcEmapRouteType == 1) {
//失敗だった場合自動車で再検索する
ZdcEmapRouteSearchCar(ZdcEmapRoutePoint1,ZdcEmapRoutePoint2);
} else {
// alert('ルート探索に失敗しました。 [' + result.status + ']'); // mod 2015/03/09 H.Osamoto
alert('ルート探索に失敗しました。');
}
return;
}
//スタート/ゴールのアイコンを描画
ZdcEmapRouteFlag();
//ルート距離表示
var ZdcEmapRouteDistance = document.getElementById("ZdcEmapRouteDistance");
if (ZdcEmapRouteDistance) {
distance = result.distance;
if (distance < 1000) {
distance = distance+' m';
} else {
distance = distance / 100;
distance = Math.round(distance);
distance = distance / 10;
distance += ' km';
}
ZdcEmapRouteDistance.innerHTML = distance;
}
}
// 自動車検索
function ZdcEmapRouteSearchCar(p1,p2) {
ZdcEmapReadOn();
//オブジェクト作成
ZdcEmapRouteOptionsObj = new ZdcRouteSearchOptions();
ZdcEmapRouteSearchObj = new ZdcRouteSearch();
ZdcEmapRouteOptionsObj.showMarker = false;
ZdcEmapRouteOptionsObj.pointFlg = 2;
ZdcEmapRouteSearchObj.timeout = 5000;
ZdcEvent.addListener(ZdcEmapRouteSearchObj, 'end', ZdcEmapRouteSearchEndCar);
ZdcEmapMapObj.addRouteSearch(ZdcEmapRouteSearchObj);
//デザイン指定
//ZdcEmapRouteSearchObj.routeWidth = 5; // 2011/08/24 K.Masuda
ZdcEmapRouteSearchObj.routeWidth = "5";
ZdcEmapRouteSearchObj.routeOpacity = "0.5";
ZdcEmapRouteSearchObj.routeColor = "#0000ff";
//位置指定
ZdcEmapRouteOptionsObj.arrivalPoint = p1;
ZdcEmapRouteOptionsObj.departurePoint = p2;
//検索開始
ZdcEmapRouteSearchObj.search(ZdcEmapRouteOptionsObj);
}
function ZdcEmapRouteSearchEndCar() {
ZdcEmapReadOff();
var result = this.getResult();
if(result && (result.status !== 0)) {
//エラー処理
// alert('ルート探索に失敗しました。 [' + result.status + ']'); mod 2015/03/09 H.Osamoto
alert('ルート探索に失敗しました。');
return;
}
//スタート/ゴールのアイコンを描画
ZdcEmapRouteFlag();
//ルート距離表示
var ZdcEmapRouteDistance = document.getElementById("ZdcEmapRouteDistance");
if (ZdcEmapRouteDistance) {
distance = result.distance;
if (distance < 1000) {
distance = distance+' m';
} else {
distance = distance / 100;
distance = Math.round(distance);
distance = distance / 10;
distance += ' km';
}
ZdcEmapRouteDistance.innerHTML = distance;
}
}
// ルート削除
function ZdcEmapRouteClear() {
if(!ZdcEmapRouteSearchObj) return;
if(ZdcEmapRouteOptionsObj.departurePoint.point) {
ZdcEmapRouteSearchObj.clearRoute();
} else {
ZdcEmapMapObj.removeRouteSearch();
}
delete ZdcEmapRouteOptionsObj;
delete ZdcEmapRouteSearchObj;
//スタート/ゴールのレイヤーを削除
if(ZdcEmapRouteFlagLayer) ZdcEmapRouteFlagLayer.clearMarker();
ZdcEmapMapObj.removeUserLayer(ZdcEmapRouteFlagLayer);
delete ZdcEmapRouteFlagIcon1;
delete ZdcEmapRouteFlagIcon2;
}
//ルート開始/終了地点のアイコンを描画
function ZdcEmapRouteFlag() {
//ユーザレイヤー作成
ZdcEmapRouteFlagLayer = new ZdcUserLayer();
ZdcEmapRouteFlagLayer.setLayerScale(1, 15);
//ZdcEmapRouteFlagLayer.setLayerType('manual');
//アイコン作成
ZdcEmapRouteFlagIcon1 = new ZdcIcon();
ZdcEmapRouteFlagIcon1.offset = new ZdcPixel(-4, -36);
ZdcEmapRouteFlagIcon1.image = 'https://www.e-map.ne.jp/smt/lawson/img/route/RouteEnd.png';
ZdcEmapRouteFlagIcon2 = new ZdcIcon();
ZdcEmapRouteFlagIcon2.offset = new ZdcPixel(-4, -36);
ZdcEmapRouteFlagIcon2.image = 'https://www.e-map.ne.jp/smt/lawson/img/route/RouteStart.png';
//ユーザレイヤーに追加
if(ZdcEmapRoutePoint1) ZdcEmapRouteFlagLayer.addMarker(new ZdcMarker(ZdcEmapRoutePoint1, ZdcEmapRouteFlagIcon1));
if(ZdcEmapRoutePoint2) ZdcEmapRouteFlagLayer.addMarker(new ZdcMarker(ZdcEmapRoutePoint2, ZdcEmapRouteFlagIcon2));
//地図にユーザレイヤーを追加
ZdcEmapMapObj.addUserLayer(ZdcEmapRouteFlagLayer);
//ルートレイヤーの上に移動
ZdcEmapRouteFlagLayer.doc.style.zIndex = "3999";
}
// 駅・施設アイコン消去
function ZdcEmapPoiMrkClear() {
var i;
for( i = 0;i < ZdcEmapMapPoiMrkCnt;i ++) {
ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapPoiMrkId[i]);//マーカー削除
ZdcEmapMapPoiMrkId[i] = null;
}
ZdcEmapMapPoiMrkCnt = 0;
}
// add 2012/02/22 H.osamoto [
// APIイベントログ出力
// (event_log.cgiを呼び出し)
function ZdcEmapEventLog(evt) {
var url = "http://127.0.0.1/cgi2/event_log.cgi";
url += "?key=40nQIP9ZlgrvBMnAdvB2nAWf9LmgiPBlidU5S3Xu5mAYfBWzTRrxEzTerxszTjngnXBioQWv8koQwzFXpRFzTm";
url += "&event="+evt;
url += "&opt=lawson";
if ("") {
url += "&freeparm=";
}
var httpReq = new ZdcEmapHttpRequest('EUC', 'EUC');
httpReq.request(url, function(reference_text,status){
}, 60000);
}
function ZdcEmapMapEventLogZoom() { ZdcEmapEventLog('mapapi_ChangeZoom'); }
function ZdcEmapMapEventLogLoc() { ZdcEmapEventLog('mapapi_ChangeLocation'); }
// add 2012/02/22 H.osamoto ]
// add 2015/11/18 Xuan Chien [
// GPS検索ログ出力
// (gps_log.cgiを呼び出し)
function ZdcEmapGpsLog(pLat, pLon) {
var url = "http://127.0.0.1/cgi2/gps_log.cgi";
url += "?cid=lawson";
url += "&lat="+pLat;
url += "&lon="+pLon;
var httpReq = new ZdcEmapHttpRequest('EUC', 'EUC');
httpReq.request(url, function(reference_text,status){
}, 60000);
}
// add 2015/11/18 Xuan Chien ]
function ZdcEmapGetCondJkn() {
var form = document.formCond;
if (!form) return '';
var jkn = '';
var chk = null;
var arr_cond = new Array();
arr_cond[0] = "";
chk = form.cond1;
if (chk && chk.checked) {
if (arr_cond[0] != "")
arr_cond[0] += " OR ";
arr_cond[0] += chk.value;
}
chk = form.cond2;
if (chk && chk.checked) {
if (arr_cond[0] != "")
arr_cond[0] += " OR ";
arr_cond[0] += chk.value;
}
chk = form.cond3;
if (chk && chk.checked) {
if (arr_cond[0] != "")
arr_cond[0] += " OR ";
arr_cond[0] += chk.value;
}
arr_cond[1] = "";
chk = form.cond4;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond5;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond6;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond7;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond9;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond10;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond11;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond12;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond13;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond14;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond15;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond16;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond17;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond18;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond19;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond28;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond31;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond32;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond34;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond35;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond36;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond37;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond38;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond39;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond40;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond41;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond42;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond43;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond44;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond45;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
chk = form.cond46;
if (chk && chk.checked) {
if (arr_cond[1] != "")
arr_cond[1] += " AND ";
arr_cond[1] += chk.value;
}
arr_cond[2] = "";
chk = form.cond20;
if (chk && chk.checked) {
if (arr_cond[2] != "")
arr_cond[2] += " AND ";
arr_cond[2] += chk.value;
}
chk = form.cond21;
if (chk && chk.checked) {
if (arr_cond[2] != "")
arr_cond[2] += " AND ";
arr_cond[2] += chk.value;
}
chk = form.cond22;
if (chk && chk.checked) {
if (arr_cond[2] != "")
arr_cond[2] += " AND ";
arr_cond[2] += chk.value;
}
chk = form.cond23;
if (chk && chk.checked) {
if (arr_cond[2] != "")
arr_cond[2] += " AND ";
arr_cond[2] += chk.value;
}
chk = form.cond24;
if (chk && chk.checked) {
if (arr_cond[2] != "")
arr_cond[2] += " AND ";
arr_cond[2] += chk.value;
}
chk = form.cond25;
if (chk && chk.checked) {
if (arr_cond[2] != "")
arr_cond[2] += " AND ";
arr_cond[2] += chk.value;
}
chk = form.cond26;
if (chk && chk.checked) {
if (arr_cond[2] != "")
arr_cond[2] += " AND ";
arr_cond[2] += chk.value;
}
chk = form.cond27;
if (chk && chk.checked) {
if (arr_cond[2] != "")
arr_cond[2] += " AND ";
arr_cond[2] += chk.value;
}
if (arr_cond.length > 0) {
for(var i=0; i < arr_cond.length; i++) {
if (arr_cond[i] && arr_cond[i] != "") {
if (jkn) jkn += " AND ";
jkn += "("+arr_cond[i]+")";
}
}
}
return jkn;
}
// For search Icon overlapping
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"]=67; D_ZOOM2PXMS_LAT["67"]=1150.326797; D_ZOOM2PXMS_LON["67"]=1411.764706;
D_ZOOM["9"]=62; D_ZOOM2PXMS_LAT["62"]=539.2156863; D_ZOOM2PXMS_LON["62"]=661.7647059;
D_ZOOM["10"]=56; D_ZOOM2PXMS_LAT["56"]=206.6993464; D_ZOOM2PXMS_LON["56"]=253.6764706;
D_ZOOM["11"]=55; D_ZOOM2PXMS_LAT["55"]=152.7777778; D_ZOOM2PXMS_LON["55"]=187.5000000;
D_ZOOM["12"]=52; D_ZOOM2PXMS_LAT["52"]=98.85620915; D_ZOOM2PXMS_LON["52"]=121.3235294;
D_ZOOM["13"]=50; D_ZOOM2PXMS_LAT["50"]=74.14215686; D_ZOOM2PXMS_LON["50"]=90.99264706;
D_ZOOM["14"]=44; D_ZOOM2PXMS_LAT["44"]=33.70098039; D_ZOOM2PXMS_LON["44"]=41.36029412;
D_ZOOM["15"]=39; D_ZOOM2PXMS_LAT["39"]=15.72712418; D_ZOOM2PXMS_LON["39"]=19.30147059;
var IconGrp = new Array();
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();
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; }
}
}
}
function ZdcEmapGetPointsByRad(latlon, rad) {
var lat_dist = Math.round((300000 / (9 * 1000)) * rad);
var lon_dist = Math.round((450000 / (11 * 1000)) * rad);
var lat_ms = latlon.my;
var lon_ms = latlon.mx;
var p1 = new ZdcPoint(lon_ms - lon_dist,lat_ms - lat_dist,2);
var p2 = new ZdcPoint(lon_ms + lon_dist,lat_ms + lat_dist,2);
return new Array(p1, p2);
}
function ZdcEmap711omniSearchShop(init_rad) {
var p = ZdcEmapMapObj.getMapLocation();
latlon = new ZdcPoint(p.mx, p.my, 2);
var latlons = ZdcEmapGetPointsByRad(latlon, init_rad)
var bx = new ZdcBox(latlons[0], latlons[1]);
var lv = ZdcEmapMapObj.getMapBoxScale( bx, p );
if(lv < 18) lv = lv + 1;//1つズームイン
ZdcEmapMapObj.setMapScale(lv);
var box = ZdcEmapMapObj.getMapBoundBox();
// 初期検索範囲にSEJ店舗が1つ以上存在するかどうか
var opts = new ZdcNearShopOptions();
opts.cid = "lawson";
opts.lat = p.my;
opts.lon = p.mx;
opts.latlon = box.miny+","+box.minx+","+box.maxy+","+box.maxx;
opts.radius = 0;
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+"]");
ZdcEmapSearchEventStart();
ZdcEmapReadOff();
return;
}
// 件数確認
var cnt = result.items.length;
if (cnt) {
// SEJ店舗ありなら地図範囲で最寄り検索
ZdcEmapSearchFirst = 0;//地図範囲を検索
ZdcEmapSearchShop(ZdcEmapSearchCond);
ZdcEmapSearchEventAdd('ZdcEmapSearchShop("' + ZdcEmapSearchCond + '")');
} else {
// 店舗なしなら既定半径の入りきる縮尺で最寄り検索
var p = ZdcEmapMapObj.getMapLocation();
latlon = new ZdcPoint(p.mx, p.my, 2);
var latlons = ZdcEmapGetPointsByRad(latlon, 0);
var bx = new ZdcBox(latlons[0], latlons[1]);
var lv = ZdcEmapMapObj.getMapBoxScale( bx, p );
ZdcEmapMapObj.setMapScale(lv);
ZdcEmapSearchFirst = 0;//地図範囲を検索
ZdcEmapSearchShop(ZdcEmapSearchCond);
ZdcEmapSearchEventAdd('ZdcEmapSearchShop("' + ZdcEmapSearchCond + '")');
}
}
// add 2020/10/08 MLAB.HieuHuynh [
function ZdcEmapInit(init_lat, init_lon, init_lv, nmapflg){
ZdcEmapWindowWidth = window.innerWidth;
ZdcEmapWindowHeight = window.innerHeight;
ZdcEmapLastOrientation = window.orientation; ZdcEmapLastOrientation = 999;
// add 2011/08/10 H.osamoto [
if (nmapflg && 0 > 0) {
ZdcEmapWindowHeight = ZdcEmapWindowHeight - 0;
ZdcEmapAnyDispPx = 0;
}
if (!nmapflg && 0 > 0) {
ZdcEmapWindowHeight = ZdcEmapWindowHeight - 0;
ZdcEmapAnyDispPx = 0;
}
// add 2011/08/10 H.osamoto ]
// add 2011/12/26 K.Masuda [
if (nmapflg && 0 > 0) {
ZdcEmapWindowWidth = ZdcEmapWindowWidth - 0;
ZdcEmapAnyDispPy = 0;
}
if (!nmapflg && 0 > 0) {
ZdcEmapWindowWidth = ZdcEmapWindowWidth - 0;
ZdcEmapAnyDispPy = 0;
}
// add 2011/12/26 K.Masuda ]
document.getElementById("ZdcEmapMap").setAttribute( 'style',
'postion:absolute; top:0px; left:0px; width:' + ZdcEmapWindowWidth + 'px; height:' + ZdcEmapWindowHeight + 'px; z-index:0;' );
if (!init_lv || init_lv == 0) {
init_lv = 14;
}
ZdcEmapMapObj = new ZdcMap(document.getElementById("ZdcEmapMap"),
new ZdcPoint(init_lon, init_lat, 2),
init_lv
, 2 // add 2011/09/01 Y.Matsukawa
);
// 地図の縮尺レベル変更イベント( changezoomend ) をハンドルする
ZdcEvent.addListener( ZdcEmapMapObj, 'changezoomend', function() {
// セレクトボックスの選択を変更する
ZdcEmapMapScaleToLvlSelect();
// ズームボタンのイメージを変更する
if(0 == '1') ZdcEmapLvlScaleBtn(); // add 2012/08/16 K.Masuda
} );
ZdcEmapMapObj.addMapScaleBar( new ZdcScaleBar( '3' ) );
ZdcEmapMapObj.reflashMap();
ZdcEmapMapObj.saveMapLocation();
ZdcEmapMapScaleToLvlSelect();
//ユーザーレイヤー
ZdcEmapMapUserLyr.setLayerScale(1,15);
ZdcEmapMapUserLyr.clearMarker();
ZdcEmapMapUserLyrId = ZdcEmapMapObj.addUserLayer(ZdcEmapMapUserLyr);
// add 2016/11/09 K.Tani [
document.getElementById("ZdcEmapMap").ontouchmove = function ( event ) {
event.preventDefault();
};
// add 2016/11/09 K.Tani ]
ZdcEvent.addListener(ZdcEmapMapObj, "clickmapnomove", function(e) {
ZdcEmapShopMsgClose();
});
// add 2012/02/22 H.osamoto [
ZdcEvent.addListener(ZdcEmapMapObj, "changezoomend", ZdcEmapMapEventLogZoom);
ZdcEvent.addListener(ZdcEmapMapObj, "dragmapend", ZdcEmapMapEventLogLoc);
// add 2012/02/22 H.osamoto ]
if(0 == '1') ZdcEmapLvlScaleBtn(); // add 2012/08/16 K.Masuda
setTimeout(ZdcEmapRefMap, 100); }
// add 2020/10/08 MLAB.HieuHuynh ]