我在C#调用JS进行百度地图定位,其中C#不断传入经纬度,然后js进行标注,在更新标注时我采用删除重复的标注然后再标注过来的数据。这是js代码functionDrawPoint(){varArray=[];vartotal_num=3;for(vari=0;i{ Array.push(window.external.Getpoints(i));}varpoint=newBMap.Point(Array[0],Array[1]);deletePoint(Array[2]);trans(Array[0],Array[1]);}translateCallback=functionaddaddess(point){varArray=[];vartotal_num=3;for(vari=0;iArray.push(window.external.Getpoints(i)); }varCarnum=Array[2];varmarker=newBMap.Marker(point);map.addOverlay(marker);varlabel=newBMap.Label(Carnum,{"offset":newBMap.Size(9,-15)});marker.setLabel(label);map.setZoom(14);}functiontrans(x,y){varBDPoint=newBMap.Point(x,y);BMap.Convertor.translate(BDPoint,0,translateCallback);//真实经纬度转成百度坐标}functiondeletePoint(num){varallOverlay=map.getOverlays();for(vari=1;i if(allOverlay[i].getLabel().content==num){map.removeOverlay(allOverlay[i]);returnfalse;}}}在运行的时候第一个点可以标注,到第二个点时就有可能会出现getLabel().content,可是我用alert("marker的名称是"+allOverlay[i].getLabel().content);显示数据是对的。搞不懂这是为什么,求大神指导。
RISEBY
POPMUISE
相关分类