騰訊地圖Web版解決熱力圖被輪廓覆蓋的問題

img

前言

你好,我是喵喵俠。

還記得那天傍晚,我正對著電腦調試一個騰訊地圖的熱力圖頁面。項目是一個區域人流密度可視化模塊,我加了一個淡藍色的輪廓圖層用于表示區域范圍,熱力圖放在下面用于展示人流熱度。效果一預覽,瞬間眉頭皺了起來:熱力圖幾乎被輪廓“蓋沒了”!

經過一番摸索與咨詢官方技術支持,問題終于迎刃而解。這篇文章就來分享這次踩坑經歷,告訴你該怎么正確“安排”這兩張圖層的關系。

問題復現

為了復現這個問題,我在官方demo的基礎上,寫了一個問題demo如下:

<!--* @Author: Cooper cooperx@foxmail.com* @Date: 2025-06-11 09:24:38* @LastEditors: Cooper cooperx@foxmail.com* @LastEditTime: 2025-06-11 09:38:01* @FilePath: /mapjs/qqmap.html* @Description: 這是默認設置,請設置`customMade`, 打開koroFileHeader查看配置 進行設置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>騰訊地圖熱力圖與輪廓示例</title><meta name="viewport"content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /><style type="text/css">html,body {width: 100%;height: 100%;}* {margin: 0;padding: 0;}#container {height: 90vh;width: 100vw;}#setOptions {position: absolute;top: 10px;left: 10px;z-index: 10;background: rgba(255, 255, 255, 0.9);border-radius: 8px;box-shadow: 0 2px 8px #0001;padding: 8px;}button {margin: 4px;padding: 6px 12px;border: 1px solid #555;border-radius: 4px;background: #f5f5f5;cursor: pointer;}</style><script charset="utf-8"src="https://map.qq.com/api/js?v=2.exp&libraries=visualization&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77"></script>
</head><body><div id="container"></div><div id="setOptions"><button id="show">顯示/隱藏熱力圖</button><button id="data">更新數據</button><button id="radius">改變半徑</button><button id="gradient">改變顏色</button><button id="opacity">改變透明度</button><button id="destroy">銷毀熱力圖</button><button id="toggleContour">顯示/隱藏輪廓</button></div><script>window.onload = function () {// 創建地圖var map = new qq.maps.Map(document.getElementById("container"), {center: new qq.maps.LatLng(39.9847, 116.3074),zoom: 12});// 創建熱力圖對象var heat = new qq.maps.visualization.Heat({map: map,radius: 30,});// 獲取熱力數據var data = getHeatData();heat.setData(data);// 以熱力圖中心點為中心,生成覆蓋熱力圖的輪廓function generateCircleContour(center, radius, pointsCount) {var contour = [];for (var i = 0; i < pointsCount; i++) {var angle = 2 * Math.PI * i / pointsCount;var lat = center.lat + radius * Math.sin(angle);var lng = center.lng + radius * Math.cos(angle);contour.push(new qq.maps.LatLng(lat, lng));}// 閉合多邊形contour.push(contour[0]);return contour;}var center = { lat: 39.9847, lng: 116.3074 };var radius = 0.08; // 與熱力圖點分布半徑一致var haidianPath = generateCircleContour(center, radius, 40);var contour = new qq.maps.Polygon({map: map,path: haidianPath,strokeColor: new qq.maps.Color(173, 216, 230, 0.8),fillColor: new qq.maps.Color(173, 216, 230, 0.5),});var contourVisible = true;// 按鈕事件document.getElementById("setOptions").addEventListener("click", function (e) {var target = e.target;switch (target.id) {case "show":if (heat.visible) {heat.hide();} else {heat.show();}break;case "data":data = getHeatData(200);heat.setData(data);break;case "radius":let radius = heat.getRadius();heat.setRadius(radius + 10 > 80 ? 20 : radius + 10);break;case "gradient":let gradient = heat.getGradient();gradient[1.0] = "#fff";heat.setGradient(gradient);break;case "opacity":let opacity = heat.getOpacity();opacity = [0.1, 0.8];heat.setOpacity(opacity);break;case "destroy":heat.destroy();break;case "toggleContour":contourVisible = !contourVisible;contour.setMap(contourVisible ? map : null);break;default:}});function getHeatData(cnt, max, min) {let data = [];let center = { lat: 39.9847, lng: 116.3074 };cnt = cnt || 100;max = max || 100;min = min || 0;for (let index = 0; index < cnt; index++) {let r = Math.random() * 0.08;let angle = Math.random() * Math.PI * 2;let heatValue = Math.random() * (max - min) + min;data.push({lat: center.lat + r * Math.sin(angle),lng: center.lng + r * Math.cos(angle),value: heatValue});}return { max: max, min: min, data: data };}}</script>
</body></html>

可以看到這樣效果如下圖所示,熱力圖被蓋住。

PixPin_2025-06-19_16-49-51

解決辦法

我咨詢官方給出解決辦法是,設置熱力圖的層級比輪廓大就可以了,也就是設置zIndex。

設置了層級后,效果如下,這樣就明顯多了!

PixPin_2025-06-19_17-08-10

總結

通過本文的介紹,相信你已經掌握了騰訊地圖中熱力圖被遮擋的解決技巧 —— 只需要添加 zIndex 屬性,就能輕松讓熱力圖“浮上來”

這個問題本身不復雜,但由于文檔提示不足,很容易被忽略。很多開發者第一時間想到的是換透明度、調整顏色,其實只差了一個小小的 zIndex

這種操作看似簡單,其實很多人都沒用過,寫這篇文章就是為了幫大家少走彎路。

如果你也覺得有幫助,記得點贊、收藏、關注支持我喲~我們下篇地圖踩坑筆記再見!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/84173.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/84173.shtml
英文地址,請注明出處:http://en.pswp.cn/web/84173.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【JVMGC垃圾回收場景總結】

文章目錄 CMS在并發標記階段&#xff0c;已經被標記的對象&#xff0c;又被新生代跨帶引用&#xff0c;這時JVM會怎么處理?為什么 Minor GC 會發生 STW&#xff1f;有哪些對象是在棧上分配的&#xff1f;對象在 JVM 中的內存結構為什么需要對齊填充&#xff1f;JVM 對象分配空…

3_STM32開發板使用(STM32F103ZET6)

STM32開發板使用(STM32F103ZET6) 一、概述 當前所用開發板為正點原子精英板,MCU: STM32F103ZET6。一般而言,拿到板子之后先要對板子有基礎的認識,包括對開發板上電開機、固件下載、調試方法這三個部分有基本的掌握。 二、系統開機 2.1 硬件連接 直接接電源線或Type-c線…

crackme012

crackme012 名稱值軟件名稱attackiko.exe加殼方式無保護方式serial編譯語言Delphi v1.0調試環境win10 64位使用工具x32dbg,PEid破解日期2025-06-18 -發現是 16位windows 程序環境還沒搭好先留坑

CppCon 2016 學習:I Just Wanted a Random Integer

你想要一個隨機整數&#xff0c;用于模擬隨機大小的DNA讀取片段&#xff08;reads&#xff09;&#xff0c;希望覆蓋不同長度范圍&#xff0c;也能測試邊界情況。 代碼部分是&#xff1a; #include <cstdlib> auto r std::rand() % 100;它生成一個0到99之間的隨機整數&…

MySQL層級查詢實戰:無函數實現部門父路徑

本次需要擊斃的MySQL函數 函數主要用于獲取部門的完整層級路徑&#xff0c;方便在應用程序或SQL查詢中直接調用&#xff0c;快速獲得部門的上下級關系信息。執行該函數之后簡單使用SQL可以實現數據庫中部門名稱查詢。例如下面sql select name,GetDepartmentParentNames(du.de…

Python初學者教程:如何從文本中提取IP地址

Python初學者教程:如何從文本中提取IP地址 在網絡安全和數據分析領域,經常需要從文本文件中提取IP地址。本文將引導您使用Python創建一個簡單但實用的工具,用于從文本文件提取所有IP地址并將其保存到新文件中。即使您是編程新手,也可以跟隨本教程學習Python的基礎知識! …

【Redis】Redis核心探秘:數據類型的編碼實現與高速訪問之道

&#x1f4da;?前言 &#x1f31f;&#x1f31f;&#x1f31f;精彩導讀 本次我們將全面剖析Redis的核心技術要點&#xff0c;包括其豐富的數據類型體系、高效的編碼方式以及秒級響應的性能奧秘。對于渴望深入理解Redis底層機制的技術愛好者&#xff0c;這是一次難得的學習機會…

Halcon —— 多種二維碼檢測

工業視覺實戰&#xff1a;Halcon多類型二維碼識別技術詳解 在工業自動化場景中&#xff0c;兼容多種二維碼類型是提高生產線靈活性的關鍵。本文將深入解析Halcon實現Data Matrix、QR Code和PDF417三種主流二維碼的兼容識別方案&#xff0c;并重點解釋核心算子參數。 一、多類型…

安卓vscodeAI開發實例

前言 前些天發現了一個巨牛的人工智能免費學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到網站 目錄 一、安卓開發基礎與工具鏈革新 1.1 Android Studio的局限性分析 1.2 VSCode在移動開發中的崛起 1.3 跨平臺開發工具鏈對比…

③通用搜索---解析FastAdmin中的表格列表的功能

深度解析FastAdmin中的表格列表的功能-CSDN博客文章瀏覽閱讀25次。本文將FastAdmin框架的CRUD功能配置要點進行了系統梳理。官方文檔與開發經驗相結合&#xff0c;詳細介紹了菜單顯示、TAB過濾、通用搜索、工具欄按鈕、動態統計、快速搜索等17項功能的配置方法。包括字段渲染&a…

DeepSeek 助力 Vue3 開發:打造絲滑的日歷(Calendar),日歷_項目里程碑示例(CalendarView01_22)

前言&#xff1a;哈嘍&#xff0c;大家好&#xff0c;今天給大家分享一篇文章&#xff01;并提供具體代碼幫助大家深入理解&#xff0c;徹底掌握&#xff01;創作不易&#xff0c;如果能幫助到大家或者給大家一些靈感和啟發&#xff0c;歡迎收藏關注哦 &#x1f495; 目錄 Deep…

Python爬蟲實戰:獲取Diesel電商數據并分析

1. 引言 在當今數字化時代,電商平臺積累了海量的產品和用戶數據。通過對這些數據的挖掘和分析,企業可以深入了解市場動態、消費者需求和競爭態勢,從而制定更有效的營銷策略和產品規劃。Diesel 作為知名的時尚品牌,其在電商平臺上的表現備受關注。本研究旨在通過 Python 爬…

Spring RestTemplate + MultiValueMap vs OkHttp 多值參數的處理

&#x1f4cc; Spring RestTemplate vs OkHttp&#xff1a;多值參數處理 一、MultiValueMap 與 FormBody 的差異 特性RestTemplate MultiValueMapOkHttp FormBody多值參數支持? 原生支持&#xff08;add("key", "value") 自動追加&#xff09;? 需顯…

GelSight視觸覺3D輪廓儀賦能Beomni人形機器人觸覺遙測,開啟人形機器人觸覺應用新場景

在智能制造、航空航天等領域&#xff0c;傳統機器人常面臨操作精度不足、環境適應力弱等問題。GelSight觸覺傳感技術與Beomni人形機器人的融合&#xff0c;為這些場景提供了新可能 —— 通過亞微米級觸覺感知能力&#xff0c;操作員可遠程感知物體表面細節&#xff0c;在復雜環…

python設置word的字體顏色

這個錯誤是由于python-docx的RGBColor對象沒有.rgb屬性導致的。正確的屬性訪問方式是分別獲取紅、綠(g)、藍(b)三個分量。以下是修復方案&#xff1a; 錯誤原因分析 RGBColor對象的結構如下&#xff1a; from docx.shared import RGBColorcolor RGBColor(255, 204, 51) pri…

推薦模型之GBDT-LR

一、概念 GBDT-LR模型由FaceBook&#xff08;現在的Meta&#xff09;團隊于2014年在論文《Practial Lessons from Predicting Clicks on Ads at Facebook》中提出&#xff0c;目標是用于預測FaceBook的廣告點擊量&#xff08;實際上廣告和推薦領域很多算法模型都是共用的&#…

Java實現Excel圖片URL篩選與大小檢測

Java實現Excel圖片URL篩選與大小檢測 在數據處理場景中&#xff0c;我們常需篩選Excel中的圖片URL。本文分享一個完整的Java方案&#xff0c;涵蓋從讀取圖片URL到檢測有效性、篩選大小&#xff0c;再到生成新Excel文件的全過程&#xff0c;同時講解開發與優化過程&#xff0c;…

Java 實現后端調用 Chromium 瀏覽器無頭模式截圖的方案

Java 實現后端調用 Chromium 瀏覽器無頭模式截圖的方案 1. 使用 Playwright 優點&#xff1a;功能強大、支持多瀏覽器&#xff08;Chromium/Firefox/WebKit&#xff09;、支持異步操作。實現方式&#xff1a; 利用 Playwright 創建無頭瀏覽器實例&#xff1b;使用 Java 的調度…

基于多模態文檔解析與RAG的行業知識庫構建技術指南

1. 技術背景 隨著企業非結構化數據&#xff08;掃描件、PDF、圖像等&#xff09;占比超過80%&#xff0c;傳統關鍵詞檢索已無法滿足精準問答需求。本文提出融合**計算機視覺&#xff08;CV&#xff09;與大語言模型&#xff08;LLM&#xff09;**的解決方案&#xff0c;關鍵技…

基于YOLOv11+PP-OCRv5深度學習的智能車牌檢測與識別系統python源碼+pytorch模型+評估指標曲線+精美GUI界面

【算法介紹】 智能車牌檢測與識別系統借助當下前沿的 YOLOv11 算法以及 PP-OCRv5 算法&#xff0c;能夠在復雜多樣的環境場景中&#xff0c;快速且精準地達成實時車牌檢測與識別任務。在現代交通管理領域&#xff0c;該技術意義重大&#xff0c;它能夠推動涉及車輛識別與記錄的…