欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue結(jié)合leaflet實現(xiàn)熱力圖

 更新時間:2023年06月26日 14:59:45   作者:努力搬磚的giser  
本文主要介紹了vue實現(xiàn)熱力圖,結(jié)合leaflet.heat插件可以很容易的做出熱力圖,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧

本文介紹了Web端使用 Leaflet開發(fā)庫展示熱力圖方法 (底圖來源:天地圖),結(jié)合leaflet.heat插件可以很容易的做出熱力圖,通過調(diào)整其配置參數(shù)可以優(yōu)化熱力圖的顯示,以達到最佳的可視化效果,顯示效果如下圖所示。

開發(fā)環(huán)境

  • Vue開發(fā)庫:3.2.37 & Leaflet開發(fā)庫:1.9.3
  • Leaflet主要插件:leaflet.heat

代碼簡介

插件簡介與安裝

Leaflet.heat是 一個小巧,簡單,快速的Leaflet熱圖插件。

官方文檔 https://github.com/Leaflet/Leaflet.heat

# 插件安裝
npm i leaflet.heat
# 引入熱力圖插件
import 'leaflet.heat'

使用簡介

let heatDataList = []
// 構(gòu)造熱力圖數(shù)據(jù)
HeatData.features.forEach((v) => {
    // 緯度、經(jīng)度、閾值
    let group = [v.properties.lat, v.properties.lon, v.properties.valve]
    heatDataList.push(group)
})
// 生成熱力圖圖層,并添加到地圖中
let heat = L.heatLayer(heatDataList, {
    radius: 12, 
    minOpacity: 0.2,
    gradient: { // 自定義漸變顏色,區(qū)間為 0~1 之間(也可以不指定顏色,使用默認顏色)
      '0.2': "#00f",
      '0.3': "#0ff",
      '0.5': "#0f0",
      '0.7': "#ff0",
      '1': "#f00"
    }
}).addTo(map);

此外,Leaflet.heat插件還提供了幾個別的方法:

方法說明
setOptions(options)設置新的熱力圖heatmap屬性并重新繪制
addLatLng(latlng)向熱力圖heatmap動態(tài)添加數(shù)據(jù)并重新繪制
setLatLngs(latlngs)重置熱力圖heatmap數(shù)據(jù)并重新繪制
redraw()重繪熱力圖

詳細源碼(Vue3)

<template>
? <div class="app-contain">
? ? <!-- leaflet 地圖容器 -->
? ? <div id="myMap"></div>
? </div>
</template>
<script setup>
// 引入熱力圖數(shù)據(jù)點狀geojson
import HeatData from '/@/assets/mapData/heatData.json'
// 引入樣式
import { onMounted } from 'vue'
import L from 'leaflet';
import 'leaflet/dist/leaflet.css'
// 熱力圖
import 'leaflet.heat'
// 天地圖TK
let tdtKey = 'YOURS_TK'
const initMap = () => {
? // 影像地圖
? const sourceMap = L.tileLayer(`https://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}`)
? // 天地圖注記
? const tiandituText = L.tileLayer(`http://t0.tianditu.gov.cn/cia_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=${tdtKey}`)
? const layers = L.layerGroup([sourceMap, tiandituText])
? let map = L.map('myMap', { ?//需綁定地圖容器div的id
? ? center: [25.67052, 121.99804], //初始地圖中心
? ? zoom: 12, //初始縮放等級
? ? maxZoom: 20,
? ? minZoom: 2,
? ? zoomControl: true, //縮放組件
? ? attributionControl: false, //去掉右下角logol
? ? scrollWheelZoom: true, //默認開啟鼠標滾輪縮放
? ? // 限制顯示地理范圍
? ? maxBounds: L.latLngBounds(L.latLng(-90, -180), L.latLng(90, 180)),
? ? layers: [layers] // 圖層
? })
? // 添加比例尺要素顯示
? L.control.scale({ maxWidth: 200, metric: true, imperial: false }).addTo(map)
? /** 熱力圖 */
? let heatDataList = []
? HeatData.features.forEach((v) => {
? ? let group = [v.properties.lat, v.properties.lon, v.properties.valve]
? ? heatDataList.push(group)
? })
? // 生成熱力圖圖層,并添加到地圖中
? let heat = L.heatLayer(heatDataList, {
? ? radius: 12, minOpacity: 0.2,
? ? /*
? ? gradient: { // 自定義漸變顏色,區(qū)間為 0~1 之間
? ? ? '0.2': "#00f",
? ? ? '0.3': "#0ff",
? ? ? '0.5': "#0f0",
? ? ? '0.7': "#ff0",
? ? ? '1': "#f00"
? ? }
? ? ?*/
? }).addTo(map);
}
onMounted(() => {
? initMap()
})
</script>
<style scoped>
#myMap {
? width: 92vw;
? height: 92vh;
}
</style>

到此這篇關(guān)于vue結(jié)合leaflet實現(xiàn)熱力圖的文章就介紹到這了,更多相關(guān)vue leaflet熱力圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue做一個簡單的隨機點名冊

    Vue做一個簡單的隨機點名冊

    這篇文章主要介紹的是如何用Vue做一個簡單的隨機點名冊,主要是做個簡單的點名器,不做樣式,需要的朋友可以參考一下,希望對你有所幫助
    2021-12-12
  • Vue前端登錄token信息驗證功能實現(xiàn)

    Vue前端登錄token信息驗證功能實現(xiàn)

    最近公司新啟動了個項目,用的是vue框架在做,下面這篇文章主要給大家介紹了關(guān)于vue實現(xiàn)token登錄驗證的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • vue實現(xiàn)隨機驗證碼功能(完整代碼)

    vue實現(xiàn)隨機驗證碼功能(完整代碼)

    驗證碼功能在我們的身邊用處極廣,今天小編給大家分享基于vue實現(xiàn)隨機驗證碼功能,感興趣的朋友跟隨小編一起看看吧
    2019-12-12
  • 手摸手教你實現(xiàn)Vue3 Reactivity

    手摸手教你實現(xiàn)Vue3 Reactivity

    本文主要介紹了手摸手教你實現(xiàn)Vue3 Reactivity,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • vue 組件間的通信之子組件向父組件傳值的方式

    vue 組件間的通信之子組件向父組件傳值的方式

    這篇文章主要介紹了vue 組件間的通信之子組件向父組件傳值的方式總結(jié),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • vue 實現(xiàn)拖拽動態(tài)生成組件的需求

    vue 實現(xiàn)拖拽動態(tài)生成組件的需求

    這篇文章主要介紹了vue 如何實現(xiàn)拖拽動態(tài)生成組件的需求,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下
    2021-05-05
  • 項目nginx部署到非根目錄下vue配置方案

    項目nginx部署到非根目錄下vue配置方案

    這篇文章主要介紹了項目nginx部署到非根目錄下vue配置方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • vue.js實例對象+組件樹的詳細介紹

    vue.js實例對象+組件樹的詳細介紹

    這篇文章主要介紹了vue.js實例對象+組件樹的相關(guān)資料,需要的朋友可以參考下
    2017-10-10
  • ant-design-vue 實現(xiàn)表格內(nèi)部字段驗證功能

    ant-design-vue 實現(xiàn)表格內(nèi)部字段驗證功能

    這篇文章主要介紹了ant-design-vue 實現(xiàn)表格內(nèi)部字段驗證功能,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • 一文搞懂Vue里的過渡和動畫

    一文搞懂Vue里的過渡和動畫

    在Vue中,過渡和動畫是一種用于在組件之間添加平滑過渡效果和動畫效果的高級用法,Vue提供了一些內(nèi)置的過渡和動畫功能,同時也支持自定義過渡和動畫效果,本文就給大家介紹一些Vue中過渡和動畫的高級用法,需要的朋友可以參考下
    2023-06-06

最新評論