首页 > 其他分享 >vue leaflet 引入热力图

vue leaflet 引入热力图

时间:2024-05-28 10:43:50浏览次数:16  
标签:vue mapData cfg 力图 heatmapLayer leaflet item heatmap js

实现效果:

 

 

安装:

  // 通过npm 安装 heatmap.js
  npm install --save heatmap.js 
  import "heatmap.js";
  import HeatmapOverlay from "@/assets/Leaflet/leaflet-heatmap.js";

代码:

// 配置
      let cfg = {
        radius: 0.05, //半径
        maxOpacity: 0.8, //最大透明度
     minOpacity:0.5,//最小透明度 scaleRadius: true,//设置热力点是否平滑过渡
     blur:0.95,//系数越高,渐变越平滑 默认是0.85 useLocalExtrema: true,//使用局部极值 latField: "lat",/纬度 lngField: "lng",//经度 valueField: "count" }; // 数据 let mapData = { data: [ { lat: '', lng: '', count: 100 }, //count值越大,颜色越深 ... ] }; this.heatmapLayer = new HeatmapOverlay(cfg); this.heatmapLayer.addTo(this.map); this.heatmapLayer.setData(mapData);

如果需要websocket实时获取数据的情况下,需要在初始化地图之后再初始化 heatmapLayer

mounted(){

  this.heatmapLayer = new HeatmapOverlay(cfg);
  this.heatmapLayer.addTo(this.map);

}

然后再websocket获取后台返回数据后在重新追加或者赋值,封装一个方法,放到 websocket.onmessage下。

getHeatData(item){
  //item 是后台返回的数据
   this.mapData.data.push(item); //将返回的item追加到数组中
   this.heatmapLayer.setData(mapData); //重新设置data
}

 

标签:vue,mapData,cfg,力图,heatmapLayer,leaflet,item,heatmap,js
From: https://www.cnblogs.com/houBlogs/p/18217388

相关文章

  • Java项目-基于springboot+vue的时间管理系统(源码+数据库+文档)​
    如需完整项目,请私信博主基于SpringBoot+Vue的时间管理系统开发语言:Java数据库:MySQL技术:SpringBoot+MyBatis+Vue.js工具:IDEA/Ecilpse、Navicat、Maven在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括时间管理系统的网络应用,在外国时间管理系统已经......
  • Java项目-基于springboot+vue的社区维修平台(源码+数据库+文档)​
    如需完整项目,请私信博主基于SpringBoot+Vue的社区维修平台开发语言:Java数据库:MySQL技术:SpringBoot+MyBatis+Vue.js工具:IDEA/Ecilpse、Navicat、Maven21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管......
  • vue首屏加载动画打包后失效
    本地环境运行时,没有问题,打包后,加载动画没有效果,尝试修改:extract:false后成功。 加载动画示例:index.html中<linkrel="stylesheet"href="static/css/loading.css"/><body><divid="app"><divid="appLoading"><d......
  • 动态渲染之vue页面向组件间传值
    ==Vue页面文件==//vue文件引入组件importceliangjulifrom"@/components/Map/celiangjuli.vue";//使用组件key:celiangMethod(任意名)<celiangjuli:celiangMethod="celiangMethod"></celiangjuli>////定义初始化valueletceliangMethod=ref();//......
  • nginx 配置 vue History模式
    解决需要加一行try_files$uri$uri//index.html;,其中/index.html是你自己的目录中的入口文件server{listen[::]:80default_server;#root/var/www/html;#Addindex.phptothelistifyouareusingPHPindexindex.htmlindex......
  • vue动态添加输入框简单案例
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title>&l......
  • 彻底搞清楚vue3的defineExpose宏函数是如何暴露方法给父组件使用
    前言众所周知,当子组件使用setup后,父组件就不能像vue2那样直接就可以访问子组件内的属性和方法。这个时候就需要在子组件内使用defineExpose宏函数来指定想要暴露出去的属性和方法。这篇文章来讲讲defineExpose宏函数是如何暴露出去这些属性和方法给父组件使用。注:本文中使用的vue......
  • Vue框架-路由
    VueRouter笔记1.路由管理安装方式一:采用单页面CDN引入方式使用.方式二:基于vite构建的前端项目工程,安装依赖:在项目根目录下,安装:npminstallvue-router@4-s检查项目根目录下package.json中的dependencies是否多出:"vue-router"依赖.路由简单使用在sr......
  • Vue+OpenLayers7入门到实战:OpenLayers实现在地图上拖拽编辑修改绘制图形
    返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7入门到实战前言本章介绍如何使用OpenLayers7在地图上拖拽编辑修改绘制图形。在前面一章中,我们已经学会了如何绘制基础的三种图形线段、圆形和多边形:《Vue+OpenLayers7入门到实战:OpenLayers图形绘制功能,OpenLayers实现在地......
  • vue项目创建(git-bash版本)
    前言        1、安装git-bash        2、安装node.js        3、npm包管理工具安装        4、安装webpack工具        5、安装vue-cli        6、创建项目        7、问题报错解决方案前言      ......