解决腾讯地图标记多个点,只渲染最后一个点问题

解决方法

  1. new多个Geocoder,然后不同的点用不同的回调函数;适用于标记点不多的情况,多点标记不适用。
  2. 用setTimeout;但是多点渲染使用该方法很不现实,
  3. Geocoder及其回调函数放到for循环中,该方法适用于多点标记,具体如下。
 for (let index = 0; index < 2; index++) {
   const geocoder = new qq.maps.Geocoder();
   geocoder.setComplete(result => {
     this.completeCallback(result);
   });
   if (index === 0) {
     geocoder.getAddress(path[0]);
   } else {
     geocoder.getAddress(path[lastIndex]);
   }
 }

这里把回调函数的function转换成箭头函数了。

 completeCallback(result) {
   console.log(result);
   const start = new qq.maps.Label({
     position: result.detail.location,
     map: this.map,
     content: result.detail.address
   });
   const marker = new qq.maps.Marker({
     map: this.map,
     position: result.detail.location
   });
 }

结尾

我是圆圆,如果我的文章对你的学习成长有所帮助,欢迎 点 赞 👍 支持,您的 点 赞 👍 支持是我进行创作和分享的动力!

如果有问题可以留言评论或者私信我,我都会一一解答~笔芯🤞

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值