leaflet 风场流线效果 超级无敌简单!!包教包会(Vue和原生js版本)

leaflet 风场流线效果 超级无敌简单!!包教包会(Vue和原生js版本)

概述:利用leaflet官网提供的插件 leaflet-velocity.js ,实现风场流线效果,经测试响应速度、数据流畅程度都比第三方插件要好。

在这里插入图片描述

html+js

  1. html页面引入leaflet-velocity.js
  2. 填写参数
options ={
    displayValues: true,
    displayOptions: {
       velocityType: '海面风',
       displayPosition: 'bottomright',
       displayEmptyString: 'No wind data'
    },
    // 以下为控制参数,后面为默认值
    minVelocity: 0,  // 粒子最小速度( m/s )
    maxVelocity: 10,  // 粒子最大速度( m/s )
    velocityScale: 0.05,  // 风速的比例 ( 粒子的小尾巴长度 )
    particleAge: 90,  // 粒子在再生之前绘制的最大帧数
    lineWidth: 1,  // 绘制粒子的线宽
    particleMultiplier: 1 / 300,  // 粒子计数标量( 粒子密度 )
    frameRate: 15,  // 每秒所需的帧数
    colorScale: [],  // 定义自己的 hex / rgb 颜色数组 ( 粒子颜色 )
}
  1. 得到数据文件并调取生成流线方法
$.getJSON("wind.json",
   function (data) {
        options['data']=data;
        L.velocityLayer(options).addTo(map)
  });

这里是一个实现传送门,自己写的一个demo 风场流线-js demo


Vue

  1. npm引入leaflet
  2. 手动引入 leaflet-velocity.js
  3. 同上,写options
  4. 利用数据生成流线
 L.velocityLayer(
    Object.assign(this.options, {data: data}))
    .addTo(viewer)
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值