網上搜索了一下,發現沒能找到類似的效果,查百度地圖API也沒能找到,可能是我沒找到,於是自己用一種方式實現了。在此記錄一下。首先需要給marker設置一個點擊事件。在點擊事件里調用marker的getLabel方法,判斷marker有沒有Label,第一次點擊的時候,控制台打印的是null,這個時候需要生成一個Label放到marker上。接着點擊marker判斷,此時Label不是null,按照百度地圖的API設置了css的dispaly為none。此時Label消失了。再次點擊,本想marker.getLabel還是null,但是打印結果發現不是null了。說明Label只是隱藏了,對象還在。試了好幾種方法,最后通過打印label對象找到了控制顯示隱藏的屬性labelObj.z.kp.display。這樣在不是第一次點擊marker的時候,Label初始化了的時候就用該屬性控制顯示隱藏就可以了。
代碼截圖:
打印出的Label對象截圖:
實現效果