vue-baidu-map实现区域圈线和路径的渐变色

 更新时间:2024年07月26日 09:31:30   作者:君秋漠  
这篇文章主要介绍了vue-baidu-map实现区域圈线和路径的渐变色方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue-baidu-map区域圈线和路径的渐变色

代码:

  • 圈的部分有两种写法一种是用组件直接写,一种是不用组件。
  • 这里因为我的数据是动态的,上面地图的点还有路线需要切换,但是区域的线不用切换。
  • 就采用了不是组件的写法。

圈的地区

方法一:采用画线组件bm-polyline

<bm-polyline
        :path="polylinePath"
        stroke-color="#00ccff"
        :stroke-opacity="1"
        :stroke-weight="2"
        :editing="false"
      ></bm-polyline>
 // 渐变色是在app.vue里面写的
 svg path{
    filter: drop-shadow(2px 4px 6px #00ccff);
}

方法二:自己手动添加

// 我是把这个方法单独拿出来了,使用的时候引用就好
    getArea(){
      var polyliness = []
      this.polylinePath.forEach((i) => {
        polyliness.push(new this.BMap.Point(i.lng, i.lat));
      });
      var polylinea = new this.BMap.Polyline(polyliness, {strokeColor: "#00ccff", strokeWeight: 1, strokeOpacity: 3});   //创建折线
        //参数:颜色,线的宽度,线的透明度
        this.map.addOverlay(polylinea);
        polylinea.disableMassClear();//这个是防止下面我删除线的时候它不删除
    },

路径的折线

同样我也是分出来了。

但因为它的数据是根据后台获得的,会有延迟,所以在调用它的时候需要加个延迟器

    //添加路线箭头
    getPoly(){
       //创建路线
       var sy = new this.BMap.Symbol(BMap_Symbol_SHAPE_BACKWARD_OPEN_ARROW, {
        scale: 0.6, //图标缩放大小
        strokeColor: "#24a9fa", //设置矢量图标的线填充颜色
        strokeWeight: "2", //设置线宽
      });
      var icons = new this.BMap.IconSequence(sy, "10", "30");
      this.pointList = JSON.parse(JSON.stringify(this.pointList))
     // 创建polyline对象
     var pois = [];
      this.pointList.forEach((i) => {
        pois.push(new this.BMap.Point(i.lng, i.lat));
      });
      // 插入渐变
      // let mapE = document.getElementsByClassName("bm-view")[1];
      setTimeout(()=>{
        let svgE = document.getElementsByTagName("svg")[0];
        console.log("svg",svgE)
        let def = `<defs>
        <linearGradient id="MyGradient">
          <stop offset="0%" stop-color="#2c468b" />
          <stop offset="50%" stop-color="#2f5d95" />
          <stop offset="100%" stop-color="#24a9fa" />
        </linearGradient>
      </defs>`;
      // if (svgE.length==0) {
      //     for(let i in svgE) {
      //       console.log("i",i)
            svgE.insertAdjacentHTML("afterBegin",def);
          // }
        // }
      },1000)
        
      var sj = new this.BMap.Polyline(pois, {
        enableEditing: false, //是否启用线编辑,默认为false
        enableClicking: true, //是否响应点击事件,默认为true
        icons: [icons],
        strokeWeight: "3", //折线的宽度,以像素为单位
        strokeOpacity: 0.8, //折线的透明度,取值范围0 - 1
        strokeColor: "url(#MyGradient)", //折线颜色
        // strokeColor: "red", //折线颜色
      });
      this.map.addOverlay(sj); //增加折线
    },

//调用,在需要调用的地方加上它
setTimeout(()=>{
      this.getPoly()
    },300)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue uniapp实现分段器效果

    vue uniapp实现分段器效果

    这篇文章主要为大家详细介绍了vue uniapp实现分段器效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 基于element-ui对话框el-dialog初始化的校验问题解决

    基于element-ui对话框el-dialog初始化的校验问题解决

    这篇文章主要介绍了基于element-ui对话框el-dialog初始化的校验问题解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Vue数据回显表单无法编辑的解决方案

    Vue数据回显表单无法编辑的解决方案

    这篇文章主要介绍了Vue数据回显表单无法编辑的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • vue3 v-bind="$attrs"继承组件全部属性的解决方案

    vue3 v-bind="$attrs"继承组件全部属性的解决方案

    这篇文章主要介绍了vue3 v-bind=“$attrs“ 继承组件全部属性的解决方案,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • vue cli 3.0下配置开发环境下的sourcemap问题

    vue cli 3.0下配置开发环境下的sourcemap问题

    这篇文章主要介绍了vue cli 3.0下配置开发环境下的sourcemap问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Vite多环境配置项目高定制化能力详解

    Vite多环境配置项目高定制化能力详解

    这篇文章主要为大家介绍了Vite多环境配置项目高定制化能力详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • vue中el-autocomplete支持分页上拉加载功能

    vue中el-autocomplete支持分页上拉加载功能

    最近在项目中使用了ElementUI的el-autocomplete,下面这篇文章主要介绍了vue中el-autocomplete支持分页上拉加载功能的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • vue2.0设置proxyTable使用axios进行跨域请求的方法

    vue2.0设置proxyTable使用axios进行跨域请求的方法

    这篇文章主要介绍了vue2.0设置proxyTable使用axios进行跨域请求,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 深入理解基于vue-cli的vuex配置

    深入理解基于vue-cli的vuex配置

    本篇文章主要介绍了基于vue-cli的vuex配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • vue中关于el-popover的使用

    vue中关于el-popover的使用

    这篇文章主要介绍了vue中关于el-popover的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04

最新评论