百度地图api 为啥刚添加的标注无法删除?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度地图api 为啥刚添加的标注无法删除?相关的知识,希望对你有一定的参考价值。

动态添加的怎么不能删除?求解
//添加标注

function createDot(ico,ax,ay,content,lab)
//deleteDot(lab);
var myIcon = new BMap.Icon(mapDotSrc+ico+"dot.png", new BMap.Size(28,28));
var place = new BMap.Point(ax,ay)
var marker = new BMap.Marker(place,icon:myIcon); // 创建标注
var label = new BMap.Label(lab,offset:new BMap.Size(20,-10));
map.addOverlay(marker); // 将标注添加到地图中
marker.setLabel(label);
marker.addEventListener("click",function(e)
openInfo(content,e)
);

//删除标注
function deleteDot(la)
var allOverlay = map.getOverlays();
for (var i = 0; i < allOverlay.length -1; i++)
if(allOverlay[i].getLabel().content == la)
map.removeOverlay(allOverlay[i]);
return false;


参考技术A 问题在于
for (var i = 1; i < allOverlay.length; i++)
if(allOverlay[i].getLabel().content == la)
map.removeOverlay(allOverlay[i]);
return false;


按照我这样改就行了本回答被提问者和网友采纳

百度地图API,在地图上添加了一个标注,怎么才能让这个标注随着地图缩放而缩放呢?

把下面的代码加到您最后面的javascript里

var navigationControl = new BMap.NavigationControl(
// 靠左上角位置
anchor: BMAP_ANCHOR_TOP_LEFT,
// LARGE类型
type: BMAP_NAVIGATION_CONTROL_LARGE,
// 启用显示定位
enableGeolocation: true
);
map.addControl(navigationControl);
// 添加定位控件
var geolocationControl = new BMap.GeolocationControl();
geolocationControl.addEventListener("locationSuccess", function(e)
// 定位成功事件
var address = \'\';
address += e.addressComponent.province;
address += e.addressComponent.city;
address += e.addressComponent.district;
address += e.addressComponent.street;
address += e.addressComponent.streetNumber;
alert("当前定位地址为:" + address);
);
geolocationControl.addEventListener("locationError",function(e)
// 定位失败事件
alert(e.message);
);
map.addControl(geolocationControl);

此代码时控制地图缩放的代码
参考技术A 一直就那么大的 不会缩放本回答被提问者采纳

以上是关于百度地图api 为啥刚添加的标注无法删除?的主要内容,如果未能解决你的问题,请参考以下文章

百度地图API-标注点添加标签

如何在百度地图API 中 标注自己的地点啊?

百度地图Api详解之地图标注

百度地图API,在地图上添加了一个标注,怎么才能让这个标注随着地图缩放而缩放呢?

百度地图api不能为每个标注添加自己的事件处理吗?

百度地图API详解之地图标注