百度出了一个lite移动版地图api,记录一下自己遇到的坑。
当前还是推荐先看官网api
// 海量point生成器
function generatePointArr (log, lat, index, obj) {
log = parseFloat(log);
lat = parseFloat(lat);
var mpt = new BMap.Point(log, lat);
var massFeature = new BMap.MassFeature(mpt, {
data: obj,
icon: new BMap.Icon("/etc/designs/gtja/mobile/themes/images/map_maker.png", new BMap.Size(50,78))
});
pointArr.push(massFeature);
}
// 添加覆盖物,以第一个点为中心点
function addMarker() {
branchMap.panTo(pointArr[0].point);
branchMap.addMassFeatures(pointArr);
}
// 清除覆盖物
function removeMarker() {
branchMap.removeMassFeatures(pointArr);
pointArr = []; // 看此处
}
官方提供的removeMassFeatures
方法,只是隐藏当前视图的marker,在绘制下一次海量marker时可以通过 pointArr = []
来清空当前marker数组,removeMassageFeature
不会清空数组内容。