// マーカー
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=kuji231017moomin&p_f2=1";		// add 2012/01/11 Y.Matsukawa		mod 2012/09/10 Y.Matsukawa
	url += "&p_s2=kuji231017moomin&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=kuji231017moomin&p_f2=1";		// add 2012/01/11 Y.Matsukawa	mod 2012/09/10 Y.Matsukawa
	url += "&p_s2=kuji231017moomin&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, '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=kuji231017moomin&p_f2=1";		// add 2012/01/11 Y.Matsukawa		mod 2012/09/10 Y.Matsukawa
	url += "&p_s2=kuji231017moomin&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=kuji231017moomin&p_f2=1";		// add 2012/01/11 Y.Matsukawa	mod 2012/09/10 Y.Matsukawa
	url += "&p_s2=kuji231017moomin&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 ]
';
				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 ]