【百度地圖】JS實現 百度地圖窗體InfoBox開啟當前窗體時關閉上一個窗體
阿新 • • 發佈:2019-01-30
在地圖中如果存在多個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); })