使用的百度地图。必须先使用百度地图获取目标位置和使用百度地图获取目标位置,然后在通过百度地图的获取我和目标的位置。由于异步的原因,所以我使用了定时器解决,不过性能肯定不好,如何使用asyncawait或者promise代替定时器呢?代码片段如下://获取目标位置varmyGeo=newBMap.Geocoder();//根据中地址名查经纬度myGeo.getPoint(scope.targetname,function(point){if(point){scope.target=point;}else{toast("您选择地址没有解析到结果!");}},scope.cityname);//获取我的位置vargeolocation=newBMap.Geolocation();geolocation.getCurrentPosition(function(r){if(this.getStatus()==BMAP_STATUS_SUCCESS){//alert('您的位置:'+r.point.lng+','+r.point.lat);scope.myadd=newBMap.Point(r.point.lng,r.point.lat);//console.log(scope.myadd,"我的位置")}else{alert("定位失败");}},{enableHighAccuracy:true})//获取我和目标的位置setTimeout(function(){if(scope.myadd!=""&&scope.target!=""){varmap=newBMap.Map("l-map");map.centerAndZoom(newBMap.Point(scope.target.lng,scope.target.lat),11);varwalking=newBMap.WalkingRoute(map,{renderOptions:{map:map,panel:"r-result",autoViewport:true}});walking.search(scope.myadd,scope.target);}},1000);
侃侃尔雅
明月笑刀无情
相关分类