求助js,,,,,,,,,,

 <img width="36px" height="36px" src="chizi.png"onClick="ceju()" />
    <img id="kaiguan1" width="36px" height="36px" style="position:absolute;top:0px;right:0px;display:none;" src="kaiguan.png"onClick="cejua()"/>
        function ceju(){
var a=document.getElementById('kaiguan1');
 if(a.style.display=='none'){
a.style.display='table'
var myDis = new BMapLib.DistanceTool(map);
map.addEventListener("click",function(){
 myDis.open();
});}}
function cejua(){ 
var a=document.getElementById('kaiguan1');
if(a.style.display=='table'){
a.style.display='none'
var myDis = new BMapLib.DistanceTool(map);
map.addEventListener("click",function(){
myDis.close();
});}}

为甚么close();不了??

给你的map添加一次click事件就好,你这样没调用一次ceju/cejua就多添加一次click事件导致累积起来了

好好看百度的示例
http://developer.baidu.com/map/index.php?title=jspopular/guide/tool

表示没用过这个东西,你检查问题是close方法无效还是根本没有执行close方法?