首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

百度地圖 API:隱藏覆蓋物標簽文字而保留覆蓋物本體

     編輯:程式設計綜合問答

需求

地圖上已添加覆蓋物(如 Marker、Polygon),並附帶文字標簽(Label),現需僅隱藏文字,保留覆蓋物幾何圖形。

解決方案

百度地圖 JS API v3.0+ 中,覆蓋物與標簽通常是分離對象:

  1. 若使用 Marker + Label:
    var marker = new BMap.Marker(point);
    var label = new BMap.Label("建京大廈", {offset: new BMap.Size(20, -10)});
    marker.setLabel(label);
    map.addOverlay(marker);
    
    // 隱藏標簽
    marker.setLabel(null); // 或 label.hide() 若保留 label 對象
    
  2. 若使用自定義覆蓋物 ComplexCustomOverlay:
    在 draw() 方法中控制文字 DOM 元素的 style.display = 'none'。
  3. 批量操作:遍歷 map.getOverlays(),判斷類型後調用上述方法。

注意

部分老版本 API 將文字作為覆蓋物屬性繪製,無法單獨隱藏,需升級 API 或重構為分離標簽模式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved