高德地图只展示某个区域的人流量,遮盖其他区域

2023-10-13 01:10

本文主要是介绍高德地图只展示某个区域的人流量,遮盖其他区域,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

思路:

用AMap.DistrictSearch搜索某个(省份、城市、县)返回它的边界坐标集合,使用这个结果,用AMap.Polygon绘制边界线和遮盖,最后使用AMap.Heatmap绘制热力图

高德地图api参考链接:

AMap.DistrictSearch:

https://lbs.amap.com/api/javascript-api/reference/search#m_AMap.DistrictSearch

AMap.Polygon

https://lbs.amap.com/api/javascript-api/reference/overlay#polygon

AMap.Heatmap

https://lbs.amap.com/api/javascript-api/reference/layer#m_AMap.Heatmap

以下是使用北京市做的例子的完整代码


<!doctype html>
<html>
<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"><title></title><style>html,body{background-image: linear-gradient(#D4EBFF, #F4F8FB);height:100%;}.wrap_map{position: relative;margin:0 auto;width:1200px;height:100%;}.map_tips{position: absolute;right:80px;bottom:50px;}.map_tips .tips_scroll{width:155px;height:13px;border-radius:7px;background-image: linear-gradient(to right,#FF0000, #FFD800,#55e12f,#2BE145,#65e96a,#BBF087);}.map_tips .tips_text{display: flex;color:#545454;font-size:12px;margin-top:15px;}.tips_text>div{flex-grow: 1;}.tips_text>div:nth-of-type(2){flex-grow:2;text-align: center;}.tips_text>div:last-child{text-align: right;}#container {width:100%;height:100%;}</style>
</head>
<body><div class="wrap_map"><div id="container"></div><div class="map_tips"><div class="tips_scroll"></div><div class="tips_text"><div>拥挤</div><div>正常</div><div>稀疏</div></div></div></div>
<script src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值&plugin=AMap.DistrictSearch,AMap.Heatmap"></script>
<script src="https://a.amap.com/jsapi_demos/static/resource/heatmapData.js"></script><!--北京市热力图数据-->
<script>// //热力图数据结构// let heatmapData = [//     {"lng":经度,"lat":纬度,"count":人数},// ];var map = new AMap.Map('container', {zoom:9,center:[116.44923,40.207714],pitch: 0,viewMode: '3D',});new AMap.DistrictSearch({extensions:'all',subdistrict:0,level: 'district'}).search('北京市',function(status,result){ // 外多边形坐标数组和内多边形坐标数组var outer = [new AMap.LngLat(-360,90,true),new AMap.LngLat(-360,-90,true),new AMap.LngLat(360,-90,true),new AMap.LngLat(360,90,true),]; // 使得遮盖填充反向var holes = result.districtList[0].boundaries // 得到该区域的边界坐标集合var pathArray = [outer];pathArray.push.apply(pathArray,holes)var polygon = new AMap.Polygon( {pathL:pathArray,//线条颜色,使用16进制颜色代码赋值。默认值为#006600strokeColor: '#6e93f9',strokeWeight: 2,fillColor: 'rgba(255,255,255)',fillOpacity: 1,strokeStyle:'dashed',strokeDasharray:[2,2]});polygon.setPath(pathArray);map.add(polygon);})//设置热力图var heatmap = new AMap.Heatmap(map, {radius: 60, //给定半径opacity: [0, 0.8],gradient:{0: '#BBF087',0.5: '#2BE145',0.75: '#FFD800',1.0: '#FF0000'}});heatmap.setDataSet({data: heatmapData,  //对应数据max: 100  //设置景区人流量最大值});map.add(heatmap)
</script>
</body>
</html>

结果:

 

这篇关于高德地图只展示某个区域的人流量,遮盖其他区域的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/199719

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

起点中文网防止网页调试的代码展示

起点中文网对爬虫非常敏感。如图,想在页面启用调试后会显示“已在调试程序中暂停”。 选择停用断点并继续运行后会造成cpu占用率升高电脑卡顿。 经简单分析网站使用了js代码用于防止调试并在强制继续运行后造成电脑卡顿,代码如下: function A(A, B) {if (null != B && "undefined" != typeof Symbol && B[Symbol.hasInstan

全英文地图/天地图和谷歌瓦片地图杂交/设备分布和轨迹回放/无需翻墙离线使用

一、前言说明 随着风云局势的剧烈变化,对我们搞软件开发的人员来说,影响也是越发明显,比如之前对美对欧的软件居多,现在慢慢的变成了对大鹅和中东以及非洲的居多,这两年明显问有没有俄语或者阿拉伯语的输入法的增多,这要是放在2019年以前,一年也遇不到一个人问这种需求场景的。 地图应用这块也是,之前的应用主要在国内,现在慢慢的多了一些外国的应用场景,这就遇到一个大问题,我们平时主要开发用的都是国内的地

YOLOv8/v10+DeepSORT多目标车辆跟踪(车辆检测/跟踪/车辆计数/测速/禁停区域/绘制进出线/绘制禁停区域/车道车辆统计)

01:YOLOv8 + DeepSort 车辆跟踪 该项目利用YOLOv8作为目标检测模型,DeepSort用于多目标跟踪。YOLOv8负责从视频帧中检测出车辆的位置,而DeepSort则负责关联这些检测结果,从而实现车辆的持续跟踪。这种组合使得系统能够在视频流中准确地识别并跟随特定车辆。 02:YOLOv8 + DeepSort 车辆跟踪 + 任意绘制进出线 在此基础上增加了用户

Imageview在百度地图中实现点击事件

1.首先第一步,需要声明的全局有关类的引用 private BMapManager mBMapMan; private MapView mMapView; private MapController mMapController; private RadioGroup radiogroup; private RadioButton normalview; private RadioBu

MMO地图传送

本篇由以下四个点讲解: 创建传送点 传送点配置 编辑器扩展:传送点数据生成 传送协议与实现 创建传送点 建碰撞器触发 //位置归零 建一个传送门cube放到要传送的位置(这个teleporter1是传出的区域 这是从另一张地图传入时的传送门 创建一个脚本TeleporterObject给每个传送cube都绑上脚本 通过脚本,让传送门在编辑器下面还能绘制出来

通过Ajax请求后台数据,返回JSONArray(JsonObject),页面(Jquery)以table的形式展示

点击“会商人员情况表”,弹出层,显示一个表格,如下图: 利用Ajax和Jquery和JSONArray和JsonObject来实现: 代码如下: 在hspersons.html中: <!DOCTYPE html><html><head><meta charset="UTF-8"><title>会商人员情况表</title><script type="text/javasc

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示; 代码如下: Demo07.jrxml <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.6.

JVM - Java内存区域

文章目录 目录 文章目录 运行时数据区域 程序计数器 栈 Java虚拟机栈 本地方法栈 栈帧的组成 局部变量表 操作数栈 帧数据 堆 方法区 直接内存 总结 运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存区域划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁时间,有的区域随着虚拟机进程的启动而一直存在,有的区域则是依赖

Ai+若依(智能售货机运营管理系统---帝可得)-人员管理-点位管理-区域管理-合作商管理----【08篇---0001:上】

项目介绍 售货机简介 帝可得是一个基于物联网概念下的智能售货机运营管理系统 物联网 物联网(IoT:Internet of Things)简单来说,就是让各种物品通过互联网连接起来,实现信息的交换和通信。 这个概念听起来可能有点抽象,但我们可以把它想象成一个超级大的社交网络。不过,这个网络里的成员不是人类,而是各种物品。比如,你的冰箱、洗衣机、甚至是你的汽车,它们都可以通过互联网互