//------------------------------------------------------------- //初期設定 //------------------------------------------------------------- //地図 var ZdcEmapMapObj = null; var ZdcEmapMapUsrctl = null; var ZdcEmapMapZoomctl = null; //ユーザーレイヤー var ZdcEmapMapUserLyrId = null; //マーカー記憶 var ZdcEmapMapShopMrkId = new Array(5); var ZdcEmapMapShopMrkCnt = null; var ZdcEmapMapPoiMrkId = new Array(50); var ZdcEmapMapPoiMrkCnt = null; var ZdcEmapMapIconDist = new Array(5);var ZdcEmapMapShopDetailMrkId = null; var ZdcEmapMapCurFocusMrkId = null; var ZdcEmapMapSearchPoint = null; // add 2011/12/27 H.osamoto //吹き出し //小窓 var ZdcEmapListObj; var ZdcEmapDetailObj; var ZdcEmapCondObj; var ZdcEmapFRouteStaticObj; var ZdcEmapRouteCase = ''; //Myエリア追加用表示エリア var ZdcEmapMyareaWrapperObj; //各ボタンのイベント管理 var ZdcEmapSearchClickFlg = 0; //アイコン情報 var ZdcEmapIconImg = new Array(); var ZdcEmapIconW = new Array(); var ZdcEmapIconH = new Array(); var ZdcEmapIconOffsetX = new Array(); var ZdcEmapIconOffsetY = new Array(); // 地図緯度経度 var mappoint; var widget2,widget3; // add 2012/04/02 K.Masuda var detailflg; // add 2012/11/06 H.osamoto var printflg; // add 2012/11/06 H.osamoto ZdcEmapIconImg['@SHOP'] = 'https://ml.its-mo.com/p/en/711map/img/000000.gif';ZdcEmapIconW['@SHOP'] = 11;ZdcEmapIconH['@SHOP'] = 11;ZdcEmapIconOffsetX['@SHOP'] = -6;ZdcEmapIconOffsetY['@SHOP'] = -6;ZdcEmapIconImg['@NEW'] = 'https://ml.its-mo.com/p/en/711map/img/new.gif';ZdcEmapIconW['@NEW'] = 23;ZdcEmapIconH['@NEW'] = 10;ZdcEmapIconOffsetX['@NEW'] = -12;ZdcEmapIconOffsetY['@NEW'] = -5;ZdcEmapIconImg['@SEL'] = 'https://ml.its-mo.com/p/en/711map/img/icon_cursor/0003.gif';ZdcEmapIconW['@SEL'] = 51;ZdcEmapIconH['@SEL'] = 50;ZdcEmapIconOffsetX['@SEL'] = -26;ZdcEmapIconOffsetY['@SEL'] = -25;ZdcEmapIconImg['@SELB'] = 'https://ml.its-mo.com/p/en/711map/img/icon_cursor/0000.gif';ZdcEmapIconW['@SELB'] = 51;ZdcEmapIconH['@SELB'] = 50;ZdcEmapIconOffsetX['@SELB'] = -26;ZdcEmapIconOffsetY['@SELB'] = -25;ZdcEmapIconImg['@TP'] = 'https://ml.its-mo.com/p/en/711map/img/tp11.gif';ZdcEmapIconW['@TP'] = 11;ZdcEmapIconH['@TP'] = 11;ZdcEmapIconOffsetX['@TP'] = -6;ZdcEmapIconOffsetY['@TP'] = -6;ZdcEmapIconImg['5191'] = 'https://www.e-map.ne.jp/cgi/icon_select.cgi?cid=711map&icon_id=5191';ZdcEmapIconW['5191'] = 24;ZdcEmapIconH['5191'] = 24;ZdcEmapIconOffsetX['5191'] = -12;ZdcEmapIconOffsetY['5191'] = -12;var Zdc_smap_g_oMap = null; var Zdc_smap_g_oAjax = null; //その他 var ZdcEmapSaveCond = new Array(5);//絞込条件 ZdcEmapSaveCond[40] = '1';ZdcEmapSaveCond[41] = '1'; var QSTRING = location.search.replace(/^\?/, ''); //初期化関数 function ZdcEmapInit(init_lat, init_lon, init_lv){ if (!document.getElementById('ZdcEmapMap')) return; //地図の基本設定 ---------------------------------------- var svrurl = ""; //初期位置 if (!init_lat || !init_lon) { init_lat = 128440300; init_lon = 503173140; } if (!init_lv || init_lv == 0) { init_lv = 16; } init_lv = init_lv - 1; var map_type = ZDC.MAPTYPE_COLOR;var map_type = ZDC.MAPTYPE_ALPHABETSV2; ZdcEmapMapObj = new ZDC.Map( document.getElementById('ZdcEmapMap'), { latlon : new ZDC.LatLon(init_lat, init_lon), zoom : init_lv, mapType: map_type } ); // 地図上でのホイール操作を無効にする var ua = navigator.userAgent, we, map = document.getElementById('ZdcEmapMap'); //地図を表示するdiv要素 if (ua.match(/Gecko/) && ua.match(/(Firebird|Firefox)/)) { we = 'DOMMouseScroll'; } else { we = 'mousewheel'; } var elements = map.childNodes; for (var e = 0; e < elements.length; e++) { if (elements[e].tagName && elements[e].tagName.toLowerCase() == 'div' && !elements[e].id) { ZDC.clearListeners(elements[e], we); break; } } // 地図ダブルクリックでスクロール ZDC.addListener(ZdcEmapMapObj, ZDC.MAP_DBLCLICK, ZdcEmapMoveLatLon); ZDC.addListener(ZdcEmapMapObj, ZDC.MAP_CHG_ZOOM, ZdcEmapMapEventLogZoom); ZDC.addListener(ZdcEmapMapObj, ZDC.MAP_CHG_LATLON, ZdcEmapMapEventLogLoc); //各e-map用コントロール -------------------------------- //リスト表示部 ZdcEmapListObj = document.getElementById('ZdcEmapList'); if(!ZdcEmapListObj) ZdcEmapListObj = document.createElement('DIV');//light用ダミー //検索条件指定部 ZdcEmapCondObj = document.getElementById('ZdcEmapCond'); if(!ZdcEmapCondObj) ZdcEmapCondObj = document.createElement('DIV');//light用ダミー //出発地指定ルート固定表示 add 2013/06/03 Y.Matsukawa ZdcEmapFRouteStaticObj = document.getElementById('ZdcEmapFRouteStatic'); //その他 ----------------------------------------------- //スケールバー widgetScaleBar = new ZDC.ScaleBar(); ZdcEmapMapObj.addWidget(widgetScaleBar); //標準コントロール var widget = new ZDC.Control( { pos: { top: 10, left: 10 }, type: ZDC.CTRL_TYPE_NORMAL, close: true } ); ZdcEmapMapObj.addWidget(widget); //ユーザコントロール //createUserControl(); //地図中心マーク widget2 = new ZDC.MapCenter(); ZdcEmapMapObj.addWidget(widget2); } // ユーザコントロール function createUserControl() { /* ユーザコントロールに使用する画像 */ var imgurldir = 'img/usrcontrol/'; var control = { /* ホームポジションへ移動ボタン */ home: { /* 画像のURL */ src: imgurldir + 'home.png', /* 配置位置 */ pos:{top: 28,right: 34}, /* 画像の表示サイズ */ imgSize:{width: 22,height: 22} }, north: { src: imgurldir + 'north.png', pos: {top: 10,right: 38}, imgSize: {width: 16,height: 17} }, east: { src: imgurldir + 'east.png', pos: {top: 30,right: 18}, imgSize: {width: 16,height: 17} }, south: { src: imgurldir + 'south.png', pos: {top: 50,right: 38}, imgSize: {width: 16,height: 17} }, west: { src: imgurldir + 'west.png', pos: {top: 30,right: 58}, imgSize: {width: 16,height: 17} }, bar: { src: imgurldir + 'bar.png', pos: {top: 91,right: 38}, imgSize: {width: 17,height: 110} }, btn: { src: imgurldir + 'btn.png', pos: {top: 0,right: 1}, imgSize: {width: 15,height: 10} }, minus: { src: imgurldir + 'minus.png', pos: {top: 206,right: 38}, imgSize: {width: 16,height: 17} }, plus: { src: imgurldir + 'plus.png', pos: {top: 72,right: 38}, imgSize: {width: 16,height: 17} } }; var options = { /* つまみの上限位置(縮尺レベル変更バーのtop: -2pxの位置) */ start: -2, /* つまみの移動量 */ interval: 6 }; /* ユーザコントロールを作成 */ widget = new ZDC.UserControl(control, options); /* ユーザコントロールを追加 */ ZdcEmapMapObj.addWidget(widget); }; //------------------------------------------------------------- //地図制御 //------------------------------------------------------------- // クリック位置へ移動 function ZdcEmapMoveLatLon() { var latlon = ZdcEmapMapObj.getClickLatLon(); ZdcEmapMapObj.moveLatLon(latlon); } //地図上にカーソル表示 var ZdcEmapMapCurMrkId = null; function ZdcEmapMapCursorSet(lat, lon){ //アイコンの作成 mrk = ZdcEmapMakeMrkApi2(0, lat, lon, ZdcEmapIconW['@SELB'], ZdcEmapIconH['@SELB'],0,0, ZdcEmapIconOffsetX['@SELB'], ZdcEmapIconOffsetY['@SELB'],0,0, ZdcEmapIconImg['@SELB'], '', '', '', '', 0, null, null, null ); //if (ZdcEmapMapShopMrkId[i] != null) ZdcEmapMapObj.removeWidget(ZdcEmapMapCurMrkId); mod 2011/12/20 Y.Matsukawa if (ZdcEmapMapCurMrkId != null) ZdcEmapMapObj.removeWidget(ZdcEmapMapCurMrkId); ZdcEmapMapObj.addWidget(mrk); ZdcEmapMapCurMrkId = mrk; } //地図上のカーソル外す function ZdcEmapMapCursorRemove(){ if (ZdcEmapMapCurMrkId != null) { ZdcEmapMapObj.removeWidget(ZdcEmapMapCurMrkId); ZdcEmapMapCurMrkId = null; } //詳細表示中 ZdcEmapMapFrontShopDetail();//詳細アイコンを前面にもってくる } //地図移動 function ZdcEmapMapMove(lat, lon, lvl){ var center = new ZDC.LatLon(Number(lat), Number(lon)); ZdcEmapMapObj.moveLatLon(center); if(lvl) ZdcEmapMapObj.setZoom(lvl); } function ZdcEmapMapScroll(lat, lon){ var center = new ZDC.LatLon(lat, lon); //マップ移動 ZdcEmapMapObj.moveLatLon(center); } //地図移動 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); } } //地図移動(API2.0用) function ZdcEmapMapMoveBoxApi2(minlat,minlon,maxlat,maxlon){ var varlatlon_box = new Array(); // 地図表示縮尺取得用仮想表示エリア varlatlon_box[0] = new ZDC.LatLon(minlat, minlon); varlatlon_box[1] = new ZDC.LatLon(maxlat, maxlon); var adjust = ZdcEmapMapObj.getAdjustZoom(varlatlon_box); // 地図移動&縮尺変更 ZdcEmapMapObj.moveLatLon(adjust.latlon); ZdcEmapMapObj.setZoom(adjust.zoom); } //------------------------------------------------------------- //アイコン登録 //------------------------------------------------------------- function ZdcEmapMakeMrk(id,lat,lon, sizew,sizeh,shadowsizew,shadowsizeh, offsetx,offsety,shdoffsetx,shdoffsety,msgoffsetx,msgoffsety, image,shadowimage, data1,data2,nflg, mouseclickmarker,mouseovermarker,mouseoutmarker ,lvl ) { var p,mrk,item; var icon = new ZdcIcon(); //アイコンの作成 icon.size = new ZdcSize(sizew, sizeh); icon.offset = new ZdcPixel(offsetx, offsety); // icon.imageの末尾が「.gif」でないと、内部的にGIF以外として処理されてしまうので、末尾を無理矢理「.gif」にしています。 // GIF以外で処理されてしまうと、IEで印刷時に透過GIFが透過しません。 // タイムスタンプ値を付加しているのは、キャッシュ抑制のためです。これがないと、アイコン画像を差し替えた際に表示が崩れることがあります。(IEのみ) 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; mrk.mouseovermarker = mouseovermarker; mrk.mouseoutmarker = mouseoutmarker; //マーカークリック時のイベント登録 if(mrk.mouseclickmarker) ZdcEvent.addListener(mrk, "mouseclickmarker", mrk.mouseclickmarker); if(mrk.mouseovermarker) ZdcEvent.addListener(mrk, "mouseovermarker" , mrk.mouseovermarker); if(mrk.mouseoutmarker) ZdcEvent.addListener(mrk, "mouseoutmarker" , mrk.mouseoutmarker); // イベントなしの時はマウスカーソルを変更しない if (!mrk.mouseclickmarker && !mrk.mouseovermarker) mrk.setType('static'); return mrk; } //------------------------------------------------------------- //アイコン登録(API2.0用) //------------------------------------------------------------- var rtnhtml; function ZdcEmapMakeMrkApi2(id,lat,lon, sizew,sizeh,newsizew,newsizeh, offsetx,offsety,newoffsetx,newoffsety, image,newimage, data1,data2,message,nflg, mouseclickmarker, mouseovermarker, lvl, seq_icon ) { var mrk; var w; var h; var latlon = new ZDC.LatLon(lat, lon); var iconimage // icon.imageの末尾が「.gif」でないと、内部的にGIF以外として処理されてしまうので、末尾を無理矢理「.gif」にしています。 // GIF以外で処理されてしまうと、IEで印刷時に透過GIFが透過しません。 // タイムスタンプ値を付加しているのは、キャッシュ抑制のためです。これがないと、アイコン画像を差し替えた際に表示が崩れることがあります。(IEのみ) if (image.substr(image.length-4, 4) == ".gif") { iconimage = image; } else { dd = new Date(); ts = dd.getTime(); if (image.indexOf('?') < 0) { iconimage = image+"?dummy="+ts+".gif"; } else { iconimage = image+"&dummy="+ts+".gif"; } } // 連番アイコン(拠点アイコン画像は使わない) if (seq_icon) { if (seq_icon.img) { var divstyle = "display:table-cell;text-align:center;vertical-align:middle;"; divstyle += "width:"+seq_icon.width+"px;"; divstyle += "height:"+seq_icon.height+"px;"; divstyle += "background-image:url(img/icon_seq/"+seq_icon.img+");"; divstyle += "background-repeat:no-repeat;"; divstyle += "background-color:transparent;"; if (mouseclickmarker) divstyle += "cursor:pointer;"; var numstyle = ""; numstyle += "color:"+seq_icon.textColor+";"; numstyle += "font-weight:"+seq_icon.fontWeight+";"; numstyle += "font-size:"+seq_icon.fontSize+";"; numstyle += "font-family:"+seq_icon.fontFamily+";"; numstyle += "background-color:transparent;"; var w = seq_icon.width + (seq_icon.borderWidth * 2); var h = seq_icon.height + (seq_icon.borderWidth * 2); var ofsx = (Math.floor(w / 2)) * -1; var ofsy = (Math.floor(h / 2)) * -1; mrk = new ZDC.UserWidget(latlon, { html: '
' + ''+seq_icon.seq+'' + '
', size: new ZDC.WH(w, h), offset: new ZDC.Pixel(ofsx, ofsy), propagation: false }); } else { var divstyle = "display:table-cell;text-align:center;vertical-align:middle;"; if (seq_icon.circle) divstyle += "border-radius:50%;"; divstyle += "border:"+seq_icon.borderColor+" "+seq_icon.borderWidth+"px solid;"; divstyle += "background-color:"+seq_icon.backgroundColor+";"; divstyle += "width:"+seq_icon.width+"px;"; divstyle += "height:"+seq_icon.height+"px;"; if (mouseclickmarker) divstyle += "cursor:pointer;"; var numstyle = ""; numstyle += "color:"+seq_icon.textColor+";"; numstyle += "font-weight:"+seq_icon.fontWeight+";"; numstyle += "font-size:"+seq_icon.fontSize+";"; numstyle += "font-family:"+seq_icon.fontFamily+";"; var w = seq_icon.width + (seq_icon.borderWidth * 2); var h = seq_icon.height + (seq_icon.borderWidth * 2); var ofsx = (Math.floor(w / 2)) * -1; var ofsy = (Math.floor(h / 2)) * -1; mrk = new ZDC.UserWidget(latlon, { html: '
' + ''+seq_icon.seq+'' + '
', size: new ZDC.WH(w, h), offset: new ZDC.Pixel(ofsx, ofsy), propagation: false }); } mrk.userwidget = true; // 通常の拠点アイコン(画像) } else { // newアイコンありの場合 if (newimage) { // 拠点アイコン mrk = new ZDC.Marker(latlon,{ /* マーカのサイズに合わせて位置を調整する */ offset: new ZDC.Pixel(offsetx, offsety), contentOffset: new ZDC.Pixel(newoffsetx, newoffsety), custom: { base : { src: iconimage, imgSize: ZDC.WH(sizew, sizeh) }, content : { src: newimage, imgSize: ZDC.WH(newsizew, newsizeh) } } }); // newアイコンなしの場合 } else { // 拠点アイコン mrk = new ZDC.Marker(latlon,{ /* マーカのサイズに合わせて位置を調整する */ offset: new ZDC.Pixel(offsetx, offsety), custom: { base : { src: iconimage, imgSize: ZDC.WH(sizew, sizeh) } } }); } } //マーカーの基本情報 mrk.id = id; mrk.data1 = data1; mrk.data2 = data2; mrk.nflg = nflg; mrk.lat = lat; mrk.lon = lon; if (lvl) mrk.lvl = lvl; //クリック時のイベント登録 if (mouseclickmarker) { //吹き出しテキスト用アンカーイベント if (mrk.userwidget) { ZDC.addListener(mrk, ZDC.USERWIDGET_CLICK, mouseclickmarker); } else { ZDC.addListener(mrk, ZDC.MARKER_CLICK, mouseclickmarker); } } //マウスオーバー時のイベント登録 if (mouseovermarker) { var center = ZdcEmapMapObj.getLatLon(); var box = ZdcEmapMapObj.getLatLonBox(); var maplatlen = box.getMax().lat - box.getMin().lat; var maplonlen = box.getMax().lon - box.getMin().lon; //表示位置の調整 if (center.lat > lat) { //地図中心より下側に表示する場合 var offsetycenter1 = 10; var offsetycenter2 = 90; var offsety = -40; } else { //地図中心より上側に表示する場合 var offsetycenter1 = -10; var offsetycenter2 = -120; var offsety = 25; } if (center.lon > lon) { //地図中心より左側に表示する場合 var offsetxcenter1 = 10; var offsetxcenter2 = 102; var offsetx = 20; } else { //地図中心より右側に表示する場合 var offsetxcenter1 = -10; var offsetxcenter2 = -120; var offsetx = -170; } var mes = message.split("("); var userwidgetmoverlabel = { html: '
'+mes[0]+'
', size: new ZDC.WH(150, 60), offset: new ZDC.Pixel(offsetx, offsety) }; var latlonmover = new ZDC.LatLon(lat, lon); var userwidgetmover = new ZDC.UserWidget(latlonmover, userwidgetmoverlabel); //吹き出しテキストイベント ZdcEmapMapObj.addWidget(userwidgetmover); //マウスオーバーイベント登録 if (mrk.userwidget) { ZDC.addListener(mrk, ZDC.USERWIDGET_MOUSEOVER, mouseovermarker); } else { ZDC.addListener(mrk, ZDC.MARKER_MOUSEOVER, mouseovermarker); } } return mrk; } //------------------------------------------------------------- //吹き出し用アンカー //------------------------------------------------------------- var ZdcEmapHukidasiAnchor = null; function ZdcEmapAnchorDraw(id) { ZdcEmapTipsHideInfoInterval(); //動作判定 if(id == null) id = this.id; //駅アイコン座標取得 var icnlat = ZdcEmapMapPoiMrkId[id].lat; var icnlon = ZdcEmapMapPoiMrkId[id].lon; var center = ZdcEmapMapObj.getLatLon(); var box = ZdcEmapMapObj.getLatLonBox(); var maplatlen = box.getMax().lat - box.getMin().lat; var maplonlen = box.getMax().lon - box.getMin().lon; var s = ZdcEmapMapObj.getZoom(); if(s < 1 || s > 18) return; //オブジェクトの作成 ZdcEmapTipsMarker = ZdcEmapMapPoiMrkId[id]; if(!ZdcEmapMapObj || !ZdcEmapTipsMarker) return; //表示位置の調整 if (center.lat > icnlat) { //地図中心より下側に表示する場合 var offsetycenter1 = 3; var offsetycenter2 = 22; } else { //地図中心より上側に表示する場合 var offsetycenter1 = -3; var offsetycenter2 = -30; } if (center.lon > icnlon) { //地図中心より左側に表示する場合 var offsetxcenter1 = 3; var offsetxcenter2 = 25; } else { //地図中心より右側に表示する場合 var offsetxcenter1 = -3; var offsetxcenter2 = -30; } var mrklat1 = ZdcEmapTipsMarker.lat + (offsetycenter1 * (maplatlen / 448)); var mrklon1 = ZdcEmapTipsMarker.lon + (offsetxcenter1 * (maplonlen / 448)); var mrklat2 = ZdcEmapTipsMarker.lat + (offsetycenter2 * (maplatlen / 448)); var mrklon2 = ZdcEmapTipsMarker.lon + (offsetxcenter2 * (maplonlen / 448)); var latlons = []; latlons[0] = new ZDC.LatLon(mrklat1, mrklon1); latlons[1] = new ZDC.LatLon(mrklat2, mrklon2); /* 線を作成 */ var pl = new ZDC.Polyline(latlons, { strokeWeight: 1, fillColor: '#FF0000' }); /* 線を地図に追加 */ ZdcEmapMapObj.addWidget(pl); ZdcEmapHukidasiAnchor = pl; ZDC.addListener(ZdcEmapTipsMarker, ZDC.MARKER_MOUSEOUT, function(){pl.hidden();}); } //------------------------------------------------------------- //ルート探索 //------------------------------------------------------------- var ZdcEmapRouteOptionsObj; var ZdcEmapRouteSearchObj; var ZdcEmapRoutePoint1 = null; var ZdcEmapRoutePoint2 = null; var ZdcEmapRouteName1 = null; var ZdcEmapRouteName2 = null; var ZdcEmapRouteFlagLayer; var ZdcEmapRouteFlagIcon1; var ZdcEmapRouteFlagIcon2; var ZdcEmapRouteFlagStartMarker1; var ZdcEmapRouteFlagStartMarker2; //将来フォームで条件を変えられる用に変数化しておく var ZdcEmapRouteType = 0; var ZdcEmapRouteWalkPSC = 0; var ZdcEmapRouteWalkFloorFlg = 0; var ZdcEmapRouteWalkDepFloor = 0; var ZdcEmapRouteWalkDepStationFlg = 0; var ZdcEmapRouteWalkArrFloorFlg = 0; var ZdcEmapRouteWalkArrStationFlg = 0; var ZdcEmapRouteWalkArrFloor = 0; //検索入り口(API2.0用) function ZdcEmapRouteSearchApi2(id) { if(ZdcEmapButtonNG()) return; if(ZdcEmapRouteType == 0) return; ZdcEmapPoiRouteClear(); ZdcEmapRouteCase = 'eki'; var stationpoint = ZdcEmapMapPoiMrkId[id]; var shoppoint = ZdcEmapMapShopDetailMrkId; //パラメーターの設定 ZdcEmapRoutePoint1 = new ZDC.LatLon(stationpoint.lat, stationpoint.lon); ZdcEmapRoutePoint2 = new ZDC.LatLon(shoppoint.lat, shoppoint.lon); if(ZdcEmapRouteType == 1 || ZdcEmapRouteType == 3) ZdcEmapRouteSearchWalkApi2(stationpoint, shoppoint); if(ZdcEmapRouteType == 2) ZdcEmapRouteSearchCarApi2(stationpoint, shoppoint); //画面の移動 ZdcEmapMapMoveBoxApi2(stationpoint.lat,stationpoint.lon,shoppoint.lat,shoppoint.lon); } //検索入り口 function ZdcEmapRouteSearch(name1,mx1,my1,name2,mx2,my2) { if(ZdcEmapButtonNG()) return; if(ZdcEmapRouteType == 0) return; ZdcEmapPoiRouteClear(); //パラメーターの設定 ZdcEmapRouteName1 = name1; ZdcEmapRouteName2 = name2; var stationpoint = new ZDC.LatLon(Number(my2), Number(mx2)); var shoppoint = new ZDC.LatLon(Number(my1), Number(mx1)); ZdcEmapRoutePoint1 = stationpoint; ZdcEmapRoutePoint2 = shoppoint; if(ZdcEmapRouteType == 1 || ZdcEmapRouteType == 3) ZdcEmapRouteSearchWalkApi2(stationpoint, shoppoint); if(ZdcEmapRouteType == 2) ZdcEmapRouteSearchCarApi2(stationpoint, shoppoint); //画面の移動 ZdcEmapMapMoveBoxApi2(stationpoint.lat,stationpoint.lon,shoppoint.lat,shoppoint.lon); } // 歩行者ルート検索(API2.0用) function ZdcEmapRouteSearchWalkApi2(p1,p2) { ZdcEmapReadOn(); /* スタート地点の緯度経度 */ from = p1; /* ゴール地点の緯度経度 */ to = p2; ZDC.Search.getRouteByWalk({ from: from, to: to , station: "bothoff" },function(status, res) { if (status.code == '000') { /* 取得成功 */ ZdcEmapwriteRoute(status, res, 1); ZdcEmapDispRouteDistance(res.route.distance); } else { /* 取得失敗 */ if(ZdcEmapRouteType == 1) { //失敗だった場合自動車で再検索する ZdcEmapRouteSearchCarApi2(ZdcEmapRoutePoint1,ZdcEmapRoutePoint2); } else { alert('Searching route failed. [' + status.code + ']'); } return; } }); } // 自動車ルート検索(API2.0用) function ZdcEmapRouteSearchCarApi2(p1,p2) { //ZdcEmapReadOn(); /* スタート地点の緯度経度 */ from = p1; /* ゴール地点の緯度経度 */ to = p2; ZDC.Search.getRouteByDrive({ from: from, to: to },function(status, res) { if (status.code == '000') { /* 取得成功 */ ZdcEmapwriteRoute(status, res, 2); ZdcEmapDispRouteDistance(res.route.distance); } else { /* 取得失敗 */ alert('Searching route failed. [' + status.code + ']'); // ルート検索終了 ZdcEmapReadOff(); } }); } // ルート描画 var ZdcEmapRoutePolyline = []; var ZdcEmapRouteStartFlag; var ZdcEmapRouteEndFlag; function ZdcEmapwriteRoute(status, res, stype) { var guyde_type = { 'start': { custom: { base: { src: 'https://ml.its-mo.com/p/en/711map/img/route/RouteStart.png', imgSize: new ZDC.WH(35, 35), imgTL: new ZDC.TL(0, 0) } }, offset: ZDC.Pixel(-5, -36) }, 'end': { custom: { base: { src: 'https://ml.its-mo.com/p/en/711map/img/route/RouteEnd.png', imgSize: new ZDC.WH(35, 35), imgTL: new ZDC.TL(0, 0) } }, offset: ZDC.Pixel(-5, -36) } }; var line_property = { //歩行者用 '通常通路': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '横断歩道': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '横断通路': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '歩道橋': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '踏切内通路': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '連絡通路': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '建物内通路': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '敷地内通路': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '乗換リンク': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '通路外': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '引き込みリンク': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, //自動車用 '高速道路': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '都市高速道路': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '国道': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '主要地方道': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '都道府県道': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '一般道路(幹線)': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '一般道路(その他)': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '導入路': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '細街路(主要)': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '細街路(詳細)': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, 'フェリー航路': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, '道路外': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'}, // デフォルト add 2018/03/16 Y.Matsukawa 'default': {strokeColor: '#3000ff', strokeWeight: 5, lineOpacity: 0.6, lineStyle: 'solid'} }; /* スタートとゴールのアイコンを地図に重畳します */ ZdcEmapRouteStartFlag = new ZDC.Marker(from,guyde_type['start']); ZdcEmapRouteEndFlag = new ZDC.Marker(to,guyde_type['end']); /* スタートとゴールのウィジットが他のマーカの 下にならないようにz-indexを設定します */ ZdcEmapRouteStartFlag.setZindex(110); ZdcEmapRouteEndFlag.setZindex(110); ZdcEmapMapObj.addWidget(ZdcEmapRouteStartFlag); ZdcEmapMapObj.addWidget(ZdcEmapRouteEndFlag); var link = res.route.link; var latlons = []; for (var i=0, j=link.length; i'; ZdcEmapMapIconDist[index] = new ZDC.UserWidget(new ZDC.LatLon(lat, lon), { html: html, offset: new ZDC.Pixel(offsetx, offsety), propagation: false }); /* 地図上に表示 */ ZdcEmapMapObj.addWidget(ZdcEmapMapIconDist[index]); ZdcEmapMapIconDist[index].open(); } //歩行者検索 function ZdcEmapRouteSearchWalk(name1,p1,name2,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; ZdcEmapRouteSearchObj.routeOpacity = "0.5"; ZdcEmapRouteSearchObj.routeColor = "#0000ff"; //位置指定 ZdcEmapRouteOptionsObj.arrivalPoint.point = p1; ZdcEmapRouteOptionsObj.departurePoint.point = p2; //検索条件指定 //共通 ZdcEmapRouteOptionsObj.psc = ZdcEmapRouteWalkPSC; ZdcEmapRouteOptionsObj.floorFlg = ZdcEmapRouteWalkFloorFlg; //到着点(出発点) ZdcEmapRouteOptionsObj.arrivalPoint.name = name1; ZdcEmapRouteOptionsObj.arrivalPoint.floorFlg = ZdcEmapRouteWalkArrFloorFlg; ZdcEmapRouteOptionsObj.arrivalPoint.stationFlg = ZdcEmapRouteWalkArrStationFlg; ZdcEmapRouteOptionsObj.arrivalPoint.floor = ZdcEmapRouteWalkArrFloor; //出発点(拠点) ZdcEmapRouteOptionsObj.departurePoint.name = name2; 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(ZdcEmapRouteName1,ZdcEmapRoutePoint1,ZdcEmapRouteName2,ZdcEmapRoutePoint2); } else { alert('Searching route failed. [' + result.status + ']'); } 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(name1,p1,name2,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; 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('Searching route failed. [' + result.status + ']'); 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 ZdcEmapPoiRouteClear() { if(!ZdcEmapRoutePolyline.length) return; for (var i=0; i 18) return; //オブジェクトの作成 ZdcEmapTipsMarker = ZdcEmapMapPoiMrkId[id]; if(!ZdcEmapMapObj || !ZdcEmapTipsMarker) return; var lat = ZdcEmapTipsMarker.lat; var lon = ZdcEmapTipsMarker.lon; var center = ZdcEmapMapObj.getLatLon(); var box = ZdcEmapMapObj.getLatLonBox(); var maplatlen = box.getMax().lat - box.getMin().lat; var maplonlen = box.getMax().lon - box.getMin().lon; //表示位置の調整 if (center.lat > lat) { //地図中心より下側に表示する場合 var offsetycenter1 = 10; var offsetycenter2 = 90; var offsety = -40; } else { //地図中心より上側に表示する場合 var offsetycenter1 = -10; var offsetycenter2 = -120; var offsety = 25; } if (center.lon > lon) { //地図中心より左側に表示する場合 var offsetxcenter1 = 10; var offsetxcenter2 = 102; var offsetx = 20; } else { //地図中心より右側に表示する場合 var offsetxcenter1 = -10; var offsetxcenter2 = -120; var offsetx = -170; } var message = ZdcEmapTipsMarker.message; var mes = message.split("("); var userwidgetmoverlabel = { html: '
'+mes[0]+'
', size: new ZDC.WH(150, 60), offset: new ZDC.Pixel(offsetx, offsety) }; var latlonmover = new ZDC.LatLon(lat, lon); var userwidgetmover = new ZDC.UserWidget(latlonmover, userwidgetmoverlabel); //吹き出し表示 ZdcEmapMapObj.addWidget(userwidgetmover); ZDC.addListener(ZdcEmapTipsMarker, ZDC.MARKER_MOUSEOUT, function(){userwidgetmover.close();}); //ZdcEmapAnchorDraw(id); userwidgetmover.open(); ZdcEmapTipsShapeLayer = userwidgetmover; ZdcEmapTipsTimerID = setTimeout(ZdcEmapTipsHideInfoInterval, ZdcEmapTipsInterval); } //レイヤーを閉じる function ZdcEmapTipsClose() { //シェイプレイヤーを閉じる if(ZdcEmapTipsShapeLayer) { ZdcEmapTipsShapeLayer.close(); } if(ZdcEmapHukidasiAnchor) { ZdcEmapMapObj.removeWidget(ZdcEmapHukidasiAnchor); } ZdcEmapTipsShapeLayer = null; ZdcEmapTipsShape = null; ZdcEmapHukidasiAnchor = null; //最上位マーカーレイヤーを閉じる if(ZdcEmapTipsTopMarkerLayer) { ZdcEmapTipsTopMarkerLayer.clearMarker(); ZdcEmapMapObj.removeUserLayer(ZdcEmapTipsTopMarkerLayer); ZdcEmapTipsTopMarker.mouseclickmarker = null; } ZdcEmapTipsTopMarker = null; ZdcEmapTipsTopMarkerLayer = null; //タイマーのクリア if(ZdcEmapTipsTimerID) clearTimeout(ZdcEmapTipsTimerID); ZdcEmapTipsTimerID = null; } //強制的に簡易噴出し非表示メソッド function ZdcEmapTipsHideInfoInterval() { if(ZdcEmapTipsTimerID) clearTimeout(ZdcEmapTipsTimerID); ZdcEmapTipsTimerID = null; ZdcEmapTipsClose(); } //簡易噴出し非表示メソッド function ZdcEmapTipsHideInfo() { if(!ZdcEmapTipsIsMouseOutMarker()) return; ZdcEmapTipsClose(); } //IEでmouseoutイベントがマーカーオブジェクトの子ノードの間で発生しているかどうか function ZdcEmapTipsIsMouseOutMarker() { if(!document.all) return true; if(!ZdcEmapTipsTopMarker) return true; if(!window.event || window.event.type != "mouseout") return false; var tmp = window.event.toElement; while(tmp) { if(tmp == ZdcEmapTipsTopMarker.doc) return false; tmp = tmp.parentElement; } return true; } //------------------------------------------------------------- //その他 //------------------------------------------------------------- //HTML読み込み用ajax通信関数 function ZdcEmapHttpRequestHtml(url, func, nowaitmsg, typ) { if(!nowaitmsg) ZdcEmapReadOn();//読み込み中フラグon if(typ == undefined) typ = 1; //通信処理 // var ZdcEmapHttpRequestObj = new ZdcEmapHttpRequest('EUC', 'EUC'); // del 2014/12/24 Le Dang Son var ZdcEmapHttpRequestObj = new ZdcEmapHttpRequest('UTF8', 'UTF8'); // add 2014/12/24 Le Dang Son ZdcEmapHttpRequestObj.request(url, function(html,status) { if(status == 3) status = 0;//タイムアウトは無視 連続呼び出し時の動作が安定しないので if(status == 9) status = 0;//テンプレートが無い場合に対応 if(html == null) html = "";//nullは出さない if(status == 0) { func(html,status); } else { //エラー処理 func(html,status); } ZdcEmapReadOff();//読み込み中フラグoff //},10000); mod 2012/09/07 Y.Matsukawa },10000,typ); } //ボタン押下拒否判定 function ZdcEmapButtonNG() { if(ZdcEmapReadCheck()) return 1;//読み込み中の動作がある return 0; } //読み込み中フラグ var ZdcEmapReading = 0;//読み込み中・処理中フラグ function ZdcEmapReadOn() { ZdcEmapReading ++; } function ZdcEmapReadOff() { if(ZdcEmapReading <= 0) return; ZdcEmapReading --; } function ZdcEmapReadCheck() { if(ZdcEmapReading > 0) return 1;//読み込み中の動作がある return 0; } //指定された駅・施設アイコンを前面にもってくる function ZdcEmapMapFrontPoi(id){ // if(ZdcEmapMapPoiMrkId[id] != null) { // var mrk = ZdcEmapMapUserLyr.getMarkerById(ZdcEmapMapPoiMrkId[id]); // ZdcEmapMapUserLyr.removeMarkerById(ZdcEmapMapPoiMrkId[id]); // ZdcEmapMapPoiMrkId[id] = ZdcEmapMapUserLyr.addMarker(mrk); // //イベント当てなおし // if(mrk.mouseclickmarker) ZdcEvent.addListener(mrk, "mouseclickmarker", mrk.mouseclickmarker); // if(mrk.mouseovermarker) ZdcEvent.addListener(mrk, "mouseovermarker" , mrk.mouseovermarker); // if(mrk.mouseoutmarker) ZdcEvent.addListener(mrk, "mouseoutmarker" , mrk.mouseoutmarker); // } } //common func ZdcSetErrorStatus = function(retcd, st){ var status; if (st == undefined){ var errPart = retcd.charAt(4); var errPartStr = retcd.slice(3, 5); if( errPart == '9' ){ status = 1; //パラメータエラー }else if( retcd.substr(4,4) == '1009' ){ status = 5; //該当データなし }else if ( errPart == '2' ){ status = 6; //認証エラー }else if ( errPart == '6' || errPart == '7' || errPart == '8' || errPartStr == '15'){ status = 2; //サーバーエラー }else{ status = 9; //その他エラー } }else{ status = st; } this.retCode = retcd || ''; this.type = ''; this.status = status; this.recCount = 0; this.hitCount = 0; this.rest = false; this.items = []; } // APIイベントログ出力 // (event_log.cgiを呼び出し) function ZdcEmapEventLog(evt) { var url = "http://localhost_ml/cgi2/event_log.cgi"; url += "?key=53nQqP9BlgGvBEnALvB3nAMf9LmgqPBCidm5S5Xvu5Hsf7umi5rxSzTSrxezTangUzFhlgRnFsngSz4poRHL0YngwzFClgsnFmngOz59oR1LTj"; url += "&event="+evt; url += "&opt=711map"; url += "&lang=en"; // add 2014/12/24 Le Dang Son // add 2012/02/20 H.osamoto [ if ("") { url += "&freeparm="; } // add 2012/02/20 H.osamoto ] 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/04/02 K.Masuda [ //------------------------------------------------------------- // 地図中心点取得関数 // 引数:type 1 : 十進度形式 // 2 : ミリ秒形式 // 3 : 度分秒形式 // datum TOKYO : 日本測地系 // WGS84 : 世界測地系 // 返却:緯度経度オブジェクト //------------------------------------------------------------- function ZdcEmapGetMapCenter(type,datum){ var p; var center = ZdcEmapMapObj.getLatLon(); if( datum == 'WGS84' ){ // 世界測地系 center = ZDC.tkyTowgs(center); } if( type == 2 ){ // ミリ秒形式 msLat = ZDC.degToms(center.lat); msLon = ZDC.degToms(center.lon); p = new ZDC.LatLon(msLat,msLon); return p; } else if( type == 3 ){ // 度分秒形式 dmsLat = ZDC.degTodms(center.lat); dmsLon = ZDC.degTodms(center.lon); p = new ZDC.LatLon(dmsLat.deg+"."+dmsLat.min+"."+dmsLat.sec,dmsLon.deg+"."+dmsLon.min+"."+dmsLon.sec); return p; } else { // 十進度形式 return center; } } // add 2012/04/02 K.Masuda ] var ZdcEmapStationCircleMode = 0; var ZdcEmapStationCircleWidgets = new Array(); var ZdcEmapStationCircleRad = 1000;function ZdcEmapStationCircleStart() { ZdcEmapStationCircleMode = 1; ZdcEmapStationCircle(); } function ZdcEmapStationCircleEnd() { ZdcEmapStationCircleRemove(); ZdcEmapStationCircleMode = 0; } function ZdcEmapStationCircle() { if (!ZdcEmapStationCircleMode) return; ZdcEmapSearchEventStop(); ZdcEmapReadOn(); var ll = ZdcEmapMapObj.getLatLon(); var box = ZdcEmapMapObj.getLatLonBox(); var rad = Math.ceil(ZDC.getLatLonToLatLonDistance(box.getMax(), box.getMin()) / 2); if (rad > 10000) rad = 10000; // add 2015/01/21 Le Dang Son [ var lang = 'en'; if(lang == 'ja') lang = 'jp'; // add 2015/01/21 Le Dang Son ] var ival = { latlon: ll, radius: rad, datum: "TOKYO", limit: "0,100", // add 2015/01/20 Le Dang Son [ lang: 'mlang_' + lang, genrecode: '0011000260' // add 2015/01/20 Le Dang Son ] }; // del 2015/01/20 Le Dang Son [ //ZDC.Search.getStationByLatLon(ival, function(stt, res){ // ZdcEmapStationCircleResult(stt, res); //}); // del 2015/01/20 Le Dang Son ] // add 2015/01/20 Le Dang Son [ ZDC.Search.Ml.getPoiByLatLon(ival, function(stt, res){ ZdcEmapStationCircleResult(stt, res); }); // add 2015/01/20 Le Dang Son ] } function ZdcEmapStationCircleResult(status, result) { // エラー処理 if(status.code != "000" || status.text != "ok") { alert("Searching failed. ekires["+status.code+","+status.text+"]"); ZdcEmapSearchEventStart(); ZdcEmapReadOff(); return; } // 円描画 ZdcEmapStationCircleRemove(); var latloncheck = ""; var cnt = 0; //for(i = 0; i < result.item.length; i++) { for(i = result.item.length - 1; i >= 0; i--) { var item = result.item[i]; var ll = item.poi.latlon; var llstr = ll.lat+":"+ll.lon; if (latloncheck.indexOf(llstr) < 0) { // 同一緯度経度で複数回描画しない為 latloncheck += llstr+","; ZdcEmapStationCircleWidgets[cnt] = new ZDC.Oval({ latlon: ll, //x: < ?php echo $D_STT_CIRCLE_RAD; ? >, //y: < ?php echo $D_STT_CIRCLE_RAD; ? >},{ x: ZdcEmapStationCircleRad, y: ZdcEmapStationCircleRad},{ strokeColor: "#3366FF", strokeWeight: 1, fillColor: "#D4E7FB", fillOpacity: 0.5, lineStyle: "solid", lineOpacity: 1, propagation: true, circle: false }); ZdcEmapMapObj.addWidget(ZdcEmapStationCircleWidgets[cnt]); cnt++; } } ZdcEmapSearchEventStart(); ZdcEmapReadOff(); } function ZdcEmapStationCircleRemove() { var cnt = ZdcEmapStationCircleWidgets.length; for (i = 0; i < cnt; i++) { ZdcEmapMapObj.removeWidget(ZdcEmapStationCircleWidgets[i]); ZdcEmapStationCircleWidgets[i] = null; } ZdcEmapStationCircleWidgets = new Array(); } function ZdcEmapAddOptionalHistory(name) { var obj = null; obj = document.getElementById("history_count"); if (!obj) return; var cnt = obj.value; var his = ""; var idx = 0; for (var i = 1; i <= cnt; i++) { obj = document.getElementById("history_name_"+i); if (obj) { idx++; var nm = obj.value; var url = ""; obj = document.getElementById("history_url_"+i); if (obj) url = obj.value; if (idx > 1) his += "\t\t\t > \t\t"; his += ''+nm+''; } } his += "\t\t\t > \t\t"; his += name; obj = document.getElementById("history"); if (!obj) return; obj.innerHTML = his; }