如何清除地图上面前一次的驾车路线
来源:8-2 驾驶导航
立志成为大佬的咸鱼
2019-11-17 17:21:30
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>练习</title>
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.11&key=e22196035aaa10db3b0b6eb1ab64619e&plugin=AMap.Driving"></script>
<style type="text/css">
#container{
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
}
.amap-icon img{
width: 25px;
height: 30px;
}
#panel{
width: 300px;
background: white;
position: absolute;
right: 0;
top:30px;
}
</style>
</head>
<body>
<div id="container"></div>
<div id="panel">
<input type="text">
<div id="panel-content"></div>
</div>
<script type="text/javascript">
var panelContent=document.getElementById('panel-content');
var map = new AMap.Map('container');
var num=0,array=[],driver;
map.on('click',function(event){
num++;
//结果为单数时
if(num%2==1){
array=[event.lnglat.lng,event.lnglat.lat];
}else{
panelContent.innerHTML="";
if(driver){
driver.clear();
}
var lng=event.lnglat.lng;
var lat=event.lnglat.lat;
driver=new AMap.Driving({
map:map,
panel:'panel-content' //显示在哪个元素里面 必须是ID
}).search(new AMap.LngLat(array[0],array[1]),new AMap.LngLat(lng,lat),function(status,data){
console.log(data);
});
}
});
// var driver=new AMap.Driving({
// map:map,
// panel:'panel-content' //显示在哪个元素里面 必须是ID
// }).search([
// {
// keyword:'凯德广场', //起始点
// city:'绵阳' //起始点城市 可以不写 但是不写是在全国范围内找 如果有同名的就GG
// },
// {
// keyword:'七曲山大庙', //目的地
// city:'绵阳' //目的地城市 可以不写 但是不写是在全国范围内找 如果有同名的就GG
// }
// ],function(status,data){
// console.log(data);
// });
</script>
</body>
</html>
如图所示 我点击了好几次 但是这几天驾车路线都显示在了地图上面 有没有什么办法可以在我显示第二条驾驶路线时就把地图上的头一次驾车路线清除掉
1回答
同学你好,search方法没有返回值,所以driver变量一直是undefined,没有值,也无法清除。
参考修改:
new AMap.Driving()是有返回值的,将返回值赋值给driver,再让driver去调search,上面就可以判断了。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题