1. 程式人生 > >【百度地圖】JS實現 百度地圖窗體InfoBox開啟當前窗體時關閉上一個窗體

【百度地圖】JS實現 百度地圖窗體InfoBox開啟當前窗體時關閉上一個窗體

在地圖中如果存在多個label或marker,當我們點選其中一個label開啟其資訊窗體時,為了能清除的展示資訊,我們往往希望只打開當前的內容窗體,百度地圖api上沒有介紹相關的方法,親測以下方法可行:

  window.lastInfoBox = null;//定義上一個窗體為lastInfoBox;
//建立地圖窗體
myLabel.clcik(function(){
  var info="<div style='height: 120px;'>  <div class='user-map-info-header'>車輛資訊</div>" +
                    "<div class='one-info-content'>" +
                    "<p><span>車 牌 號:</span><span>1111</span></p><p><span>聯絡電話:</span><span>2222222</span></p></div>" +
                    "<div class='info-triangle'></div></div>";
 var infoBox = new BMapLib.InfoBox(window.map,info,{
                    boxStyle:{
                        width: "240px",
                        Height: "180px",
                        marginBottom: "75px",
                        marginleft:"6px",
                        backgroundColor:"white"
                    },
                    closeIconMargin: "12px 8px 4px 4px",
                    closeIconUrl: "Images/Map/back.png",
                    enableAutoPan: false,
                    align: INFOBOX_AT_TOP
                });
				if(lastInfoBox){
				//判斷上一個窗體是否存在,若存在則執行close
                    lastInfoBox.close();
                }
                lastInfoBox = infoBox;
                infoBox.open(point);
})

這裡寫圖片描述