网上搜索了一下,发现没能找到类似的效果,查百度地图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对象截图:
实现效果