百度地图历史轨迹重复的起始图标如何清除或者自定义图标

首先明确历史轨迹是要用DrivingRoute来完成
创建实例时采用

var driving = new BMap.DrivingRoute(map, {renderOptions:{map: map, autoViewport: true}});

之后再用driving.search来搜寻路线

其实问题就出在renderOptions参数上,如果采用上述的创建实例方法,参见百度给出的类参考:

服务类/RenderOptions

属性 类型 描述
map Map 展现结果的地图实例。当指定此参数后,搜索结果的标注、线路等均会自动添加到此地图上。

可以看出写了该属性以后会自动添加起始图标和绘制路线了,因此会出现大量重复图标。

解决方案:

var driving = new BMap.DrivingRoute(map);
driving.search(***,***);
driving.setSearchCompleteCallback(function(){ var pts = driving.getResults().getPlan(0).getRoute(0).getPath(); var polyline = new BMap.Polyline(pts); map.addOverlay(polyline); });

driving.getResults().getPlan(0).getRoute(0).getPath()是通过driving实例,获得一系列点的数组,由于没有采用第一种方式,因此绘制路线和添加图标需要手动完成了,当然也可以自定义起始图标了。

你可能感兴趣的:(百度地图)