使用vue-baidu-map路线规划-行驶路线添加不同颜色 之最简单有效的方法

第一步: 在DOM中找到相关路线的svg(可以省略一二步,直接用我的也行,主要介绍思路)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xap5FsQz-1608091439359)(D:\微云同步\同步文件\Microsoft同步\文档\images\image-20201216115449764.png)]

第二步: 这里有多少条路线就有多少个 path 标签, 可以看到 path标签中 有stroke-linejoin等与我们自己使用的path标签不同的属性
第三步: 使用JQ找到这些 path 节点 (使用js还是jq随意)
  • $("[stroke-linejoin]").length 拿到path节点长度
  • stroke-opacity 这是线的透明度
  • stroke 这是线的颜色
  • 利用JQ的属性选择器加nth-child选择当个path节点
  • <baidu-map>标签上 加上tilesloaded事件(官网描述tilesloaded {type, target} 当地图所有图块完成加载时触发此事件)
  • 之前用的是setTimeout延迟执行(如果网络不好或者在设置的时间内,地图还没有加载完之前就执行,那么就不会生效),现在用 tilesloaded可以100%触发,且地图加载完就执行无延迟.
  • mapHeight 和 dShow是我自己加的 props属性 mapHeight设置地图容器高度,dShow 布尔值 如果为true才显示bm-driving模块
<template>
    <div class="index-r-t">
        <baidu-map
            :style="mapHeight"
            :center="center"
            :zoom="zoom"
            @ready="handler"
            ak="WBh1E3bk1r7QNdWyZDl19K2Vr9wXLzEf"
            :scroll-wheel-zoom="true"
            :mapStyle="mapStyle"
            class="y-hidden"
            @tilesloaded="changePathColor(dShow)"
        >
            <bm-driving
                v-if="dShow"
                :start="{ lng: 115.44, lat: 39.11 }"
                :end="{ lng: 116.84, lat: 40.02 }"
                startCity="北京"
                endCity="北京"
                :auto-viewport="true"
                :selectFirstResult="true"
                highlightModes="BMAP_HIGHLIGHT_ROUTE"
            ></bm-driving>
            <bm-driving
                v-if="dShow"
                :start="{ lng: 114.52, lat: 40.32 }"
                :end="{ lng: 114.78, lat: 40.64 }"
                startCity="张家口"
                endCity="张家口"
                :auto-viewport="true"
                :selectFirstResult="true"
            ></bm-driving>
        </baidu-map>
    </div>
</template
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DeathAndLife

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值