当前位置: 首页 > news >正文

百度地图 添加热区(Hotspot)

申请秘钥

代码在此

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>v3.0版本添加热区</title><style>html{height:100%}    body{height:100%;margin:0px;padding:0px}    #container{height:80%} </style><script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=你的秘钥"></script>
</head>
<body><div id="container"></div> <button id="yichu">移除热区</button><script>// 创建地图实例 var map = new BMap.Map("container");// 创建点坐标 var point = new BMap.Point(112.52784132957458,26.956741622737916); // new BMap.Point(116.404, 39.915); //// 初始化地图,设置中心点坐标和地图级别map.centerAndZoom(point, 15); map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放map.addControl(new BMap.MapTypeControl({ mapTypes: [BMAP_SATELLITE_MAP] }));// 地图类型 卫星var mark = new BMap.Marker(point);map.addOverlay(mark);var labe = new BMap.Label("Labelvv",{position:point})//map.addOverlay(labe);var datas = getHeatData();function getHeatData(cnt, max, min){cnt = cnt || 100; max = max || 100;min = min || 0;var data = [];var center ={lat:26.956741622737916,lng:112.52784132957458}; for(var i=0;i<cnt ;i++){ //遍历生成 100 条数据var r = Math.random();var angle = Math.random() * Math.PI * 2;var heatValue = Math.random() * (max - min) + min;data.push({ // 1 1 区域 长宽lat: center.lat + 1*r * Math.sin(angle),lng: center.lng + 1*r * Math.cos(angle),value: heatValue});}var ss = {max: max,min: min,data: data};console.log(ss)return ss;}var arrdian =[];for(var i=0;i<datas.data.length;i++){     var dian = new BMap.Point(datas.data[i].lng,datas.data[i].lat)arrdian.push(dian)var marks = new BMap.Marker(dian);var lab = new BMap.Label("Label"+i,{position:dian})map.addOverlay(marks);//map.addOverlay(lab);var hotSpotv = new BMap.Hotspot(dian,{text:'xx'+i,//userData: datas,//由用户填入的自定义数据 会改变位置minZoom:1,//热区生效的最小级别maxZoom:98 //热区生效的最大级别})// 地图添加热区  鼠标hover显示map.addHotspot(hotSpotv);}map.setViewport(arrdian);var hotSpot = new BMap.Hotspot(map.getCenter(),{text:'xxxxxxxxxxxxxxxxxx', //当鼠标移至某一热区上时出现的文字提示//热区响应区域距中心点的扩展偏移值。数组的四个数值分别表示上、右、下、左距离中心点的扩展偏移量。默认偏移量为[5, 5, 5, 5]offsets:[25, 25, 25, 25],        //userData: datas,//由用户填入的自定义数据 会改变位置minZoom:8,//热区生效的最小级别maxZoom:18 //热区生效的最大级别})// 地图添加热区  鼠标hover显示map.addHotspot(hotSpot);console.log(hotSpot.getPosition());//获取热区位置坐标// hotSpot.setPosition();//设置热区位置坐标// hotSpot.getText();//获取热区提示文本// hotSpot.setText("dfds");//设置热区提示文本// hotSpot.getUserData();//获取热区对应的用户数据// hotSpot.setUserData();//设置热区对应的用户数据var yichu = document.getElementById("yichu");yichu.addEventListener('click',function(){//map.removeHotspot(hotSpot);//移除某个地图热区  hover出不来 但还能获取热区位置坐标map.clearHotspots();//清空地图所有热区 hover出不来 但还能获取热区位置坐标//console.log(hotSpot.getPosition());})</script>
</body>
</html>

效果

http://www.lryc.cn/news/626877.html

相关文章:

  • Ubuntu_22.04安装文档
  • 应用在运行时,向用户索取(相机、存储)等权限,未同步告知权限申请的使用目的,不符合相关法律法规要求--教你如何解决华为市场上架难题
  • 【数据库】Oracle学习笔记整理之六:ORACLE体系结构 - 重做日志文件与归档日志文件(Redo Log Files Archive Logs)
  • Ubuntu 虚拟显示器自动控制服务设置(有无显示器的切换)
  • 机器学习数据预处理总结(复习:Pandas, 学习:preprocessing)
  • iOS 应用迭代与上架节奏管理 从测试包到正式发布的全流程实践
  • 数据预处理:机器学习中的关键步骤
  • 【iOS】NSRunLoop
  • 25_基于深度学习的行人检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
  • 解决程序无响应自动重启
  • 织梦素材站网站源码 资源付费下载交易平台源码
  • DeepSeek V3.1 完整评测分析:2025年AI编程新标杆
  • 【数据结构】快速排序算法精髓解析
  • 牛津大学xDeepMind 自然语言处理(4)
  • 【Linux仓库】进程等待【进程·捌】
  • AI on Mac, Your Way!全本地化智能代理,隐私与性能兼得
  • SQL详细语法教程(七)核心优化
  • 【C语言16天强化训练】从基础入门到进阶:Day 4
  • Android 资源替换:静态替换 vs 动态替换
  • 猫头虎开源AI分享|基于大模型和RAG的一款智能text2sql问答系统:SQLBot(SQL-RAG-QABot),可以帮你用自然语言查询数据库
  • Https之(二)TLS的DH密钥协商算法
  • FFmpeg的基本概述(二)
  • 基于 Java 和 MySQL 的精品课程网站
  • 零知开源——基于STM32F103RBT6与ADXL362三轴加速度计的体感迷宫游戏设计与实现
  • AV1视频编码器2024-2025技术进展与行业应用分析
  • 全球首款 8K 全景无人机影翎 A1 发布解读:航拍进入“先飞行后取景”时代
  • 《算法导论》第 33 章 - 计算几何学
  • 189.轮转数组
  • Linux多线程——线程池
  • Dubbo 的 Java 项目间调用的完整示例