定时器和promise_如何使用async await或者promise代替定时器呢?

博客探讨了如何使用百度地图API进行目标位置和自身位置的获取,并实现导航功能。当前代码中使用了定时器来处理异步问题,但性能不佳。文章提出疑问,如何利用async/await或Promise来替代定时器,以提高代码的性能和可读性。
摘要由CSDN通过智能技术生成

使用的百度的久请屏气实近时后求蔽风现近时后求蔽风现地图。必须先使用百度地图获取目标位置和使用百度地图获取目标位置,然后在通过百度地图的获取我和目标的位置。由于异步的原因,所以我使用了定时器解决,不过性能肯定不好,如何使用async await或者promise代替定时步累事小样间理题广些带动纯分近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画器呢?

代码片段如下遇新是直朋能到:

// 获取目标位置

var myGeo = new BMap.Geocoder();

// 根据中地址名 查经纬度

myGeo.getPoint(scope.targetname, function(point){

if (point) {

scope.target = point;

}else{

toast("您选择地址没有解析到结果!");

}

}, scope.cityname);

// 获取我的位置

var geolocation = new BMap.Geolocation();

geolocation.getCurrentPosition(function(r){

if(this.getStatus() == BMAP_STATUS_SUCCESS){

// alert('您的位置:'+r.point.lng+','+r.point.lat);

scope.myadd = new BMap.Point(r.point.lng,r.point.lat);

// console.log(scope.myadd,"我的位置")

}

else {

alert("定位失败");

}

},{enableHighAccuracy: true})

// 获取我和目标的位置

setTimeout(function(){

if(scope.myadd!=""&&scope.target!=""){

var map = new BMap.Map("l-map");

map.centerAndZoom(new BMap.Point(scope.target.lng,scope.target.lat), 11);

var walking = new BMap.WalkingRoute(map, {renderOptions: {map: map, panel: "r-result", autoViewport: true}});

walking.search(scope.myadd, scope.target);

}

}, 1000);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值