基于高德地图API — 绘制热力图初尝试

2023-11-05

初次了解高德地图,并尝试在地图的基础上绘制热力图。

官方传送链接高德开放平台

前提准备

  1. 点击注册开发者账号
  2. 登录成功后,点击左侧菜单栏「应用管理」,如图所示,点击「添加」获取API,「服务平台」一项请选择「 Web 端 ( JSAPI ) 」
    在这里插入图片描述

在这里插入图片描述

回到页面

引入文件:

  1. 引入官方CSS文件,也可以下载在本地引入
  2. 引入官方APIhttps://webapi.amap.com/maps?v=2.0&key=你的key值
  3. 引入官方热力图数据,如果你自己有后台的热力图数据,可以不引入这个

创建底图

  1. 创建一个容器,创建地图实例,通过AMap.Map创建底图,配置属性
  2. 剩下的JS代码加载地图、加载热力图

以下是源码,涉及数据隐私所有数据都已修改。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>new</title>
    <link rel="stylesheet" href="./demo-center.css">
    <script src="https://webapi.amap.com/maps?v=2.0&key=你的key值"></script>
    <script src="https://a.amap.com/jsapi_demos/static/resource/heatmapData.js"></script>
</head>

<body>
    <div id="container" style="width: 800px;height: 600px;"></div>

    <script>
        var points = [
            {
                "GROUP_ID": "57510",
                "GRID_ID": "120.590",
                "LNG": "120.599",
                "LAT": "30.122",
                "COUNT": 1
            },
            {
                "GROUP_ID": "5710",
                "GRID_ID": "120.892",
                "LNG": "120.899",
                "LAT": "29.507",
                "COUNT": 1
            },
            {
                "GROUP_ID": "5751",
                "GRID_ID": "120.583",
                "LNG": "120.586",
                "LAT": "30.099",
                "COUNT": 1
            },
            {
                "GROUP_ID": "5751",
                "GRID_ID": "120.67",
                "LNG": "120.617",
                "LAT": "30.047",
                "COUNT": 1
            },
            {
                "GROUP_ID": "57514",
                "GRID_ID": "120.93",
                "LNG": "120.590",
                "LAT": "30.118",
                "COUNT": 1
            },
            {
                "GROUP_ID": "5754",
                "GRID_ID": "120.98",
                "LNG": "120.598",
                "LAT": "30.108",
                "COUNT": 1
            },
            {
                "GROUP_ID": "57054",
                "GRID_ID": "120.24",
                "LNG": "120.604",
                "LAT": "30.024",
                "COUNT": 1
            }
        ]
        
        // 先转换大小写,再把多余的数据删去
        points.forEach((item) => {
            for (var key in item) {
                var lowerkey = key.toLowerCase();
                //赋给新的属性名,删除旧的
                item[lowerkey] = item[key];
                delete item[key];
            }
            delete item.group_id;
            delete item.grid_id;
        })
        console.log(points);

        var map = new AMap.Map("container", {
            // 地图的缩放等级
            zoom: 10,
            // 开启地图时的中心点
            center: [120.5, 30.22],
            // 是否监控地图容器尺寸变化
            resizeEnable: true
        });
        // console.log(map);

        var heatmap;
        map.plugin(["AMap.HeatMap"], function () {
            //初始化heatmap对象
            heatmap = new AMap.HeatMap(map, {
                radius: 15, //给定半径
                opacity: [0, 0.8]
                // gradient:{
                // 0.2: 'blue',
                // 0.25: 'rgb(117,211,248)',
                // 0.3: 'rgb(0, 255, 0)',
                // 0.35: '#ffea00',
                // 0.7: 'red'
                //  }
            });
            console.log(heatmap);

            // 设置数据集,这个数据是绍兴周围部分地区
            heatmap.setDataSet({
                data: points,
                // max最大数值,红色显示
                // 因为给的热力值较小,max之前设置的是100,只能增大热力值才会有效果
                max: 0
            });
        });


    </script>
</body>

</html>

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于高德地图API — 绘制热力图初尝试 的相关文章

随机推荐

  • 轻松获取在线媒体:视频下载工具推荐

    ytdl org youtube dl Stars 121 0k License Unlicense youtube dl 一个命令行程序 可以从YouTube com和其他视频网站下载视频 基于 Python 实现 你可以在Unix Wi
  • 上班之路 华为OD真题 200

    public class Main public static char map 地图 public static int t 转弯次数 public static int c 路障个数 public static int n 地图行数 p
  • Android 项目必备(十一)--> 轮询操作

    文章目录 前言 实战 前言 什么叫轮询请求 简单理解就是 App 端每隔一定的时间重复请求的操作就叫做轮询请求 比如 App 端每隔一段时间上报一次定位信息 App 端每隔一段时间拉去一次用户状态等 这些应该都是轮询请求 为何不用长连接代替
  • ibm服务器开机后显示器闪烁,IBM E50彩色显示器,开机后电源指示灯闪烁,机内有“咔嗒”声,黑屏...

    经观察发现 咔嗒 声是消磁继电器断开 闭合的声音 经测量 该继电器13V供电电压时有时无 该故障现象特别 不易判断 但从屏幕无显示这一故障现象入手 可初步判定故障范围可能在电源电路和行扫描电路 首先 不开机直观检查相关电路 未见异常 然后测
  • 由bibtex生成引用文献字符串

    word 文档写引用文献 用 mendeley 的插件生成的效果似乎一般 用法见 1 2 而且自己改格式的那个网页令人火大 可能我网速问题 用 python 写了个脚本 通过解析 bibtex 来生成 格式自编 项目页见 4 Code 目前
  • C++的函数_默认参数详解

    案例 int func int a int b 10 return a b int main func 10 return 0 注意事项 1 实现的函数中参数有默认参数 调用时如再传入 默认参数的值被替换为传入的值 func 10 20 r
  • vue报错

    启动vue项目时报如下错误 可是我的代码里并没有matched 后来才发现是路由引入错误 在 main js 文件中 上面的 import router from router 这个语句的前面 router 中的 R 必须的小写 不然就会出
  • 《substrate 快速入门与开发实战》

    视频地址 https www bilibili com video BV1C4411U7Rv substrate的升级过程 编写的runtime代码 gt 编译后 得到runtime的wasm二进制文件 gt 通过链上的治理模块发送升级ru
  • 关于nodejs中使用fluent-ffmpeg模块、ffmpeg工具的使用心得

    类人猿Blog 欢迎来到我的博客 您好 这是本人第一次写博客 请多多指教 nodejs中使用 fluent ffmpeg 详细方法和系统配置 适应于 windows和 linux 特别是在 redhat6 x中得以验证通过 简介 我们都知道
  • 对于c++中模板函数的一点体会

    何为模板函数 从字面上就可以看出来模板函数必须具备通用性 举个简单却很实用的例子 交换两个值的函数Swap 交换两个字符型void Swap char a char b 交换两个整型void Swap int a int b 交换两个浮点型
  • 【RabbitMQ教程】“Hello World”工作队列模式

    目录 前言 Hello World 工作队列模式介绍 消息模型 入门案例代码示例 自动ACK 消息确认机制 自动ACK存在的问题 演示手动ACK 前言 1 将 Hello World工作队列模式 单独抽出来细讲 目的是借助这个模式好好讲一下
  • PostgreSQL出现死锁该如何解决

    目录 什么是数据库死锁 定位死锁 死锁可能原因及解决办法 1 索引使用不当导致的死锁问题 2 不同事务之间的访问顺序问题 避免死锁的建议 附 数据库中常见的死锁原因与解决方案 总结 什么是数据库死锁 在操作系统领域当中 死锁指的是两个或者两
  • linux下飞鸽传书,ipmsg的安装(支持中文名文件传输,以及文件夹传输)

    一 下载 飞鸽 传书 http www ipmsg org archive g2ipmsg 0 9 5 tar gz 二 解压 tar zxvf g2ipmsg 0 9 5 tar gz cd g2ipmsg 0 9 5 三 修改参数 使它
  • linux 固定 ip 地址

    文章目录 查看当前ip 修改配置文件 查看当前ip ip addr ifconfig 修改配置文件 vim etc sysconfig network scripts ifcfg ens33 原来是这样的 TYPE Ethernet PRO
  • 软件测试-面试题

    1 什么是需求文档测试 测试需求中是否存在逻辑矛盾以及需求在技术上是否可以实现 2 什么是设计文档测试 测试设计是否符合全部需求以及设计是否合理 3 什么是 测试 Alpha测试 测试 是由一个用户在开发环境下进行的测试 也可以是公司内部的
  • SpringBoot 集成Redisson 提示:java.lang.ClassNotFoundException: **.redis.connection.ReactiveRedisConnec

    SpringBoot 集成Redisson 提示如下错误信息 Caused by java lang ClassNotFoundException org springframework data redis connection Reac
  • Vue安装less报错

    使用npm安装less 指定版本为5 npm install save less less loader 5 报错 npm ERR code ERESOLVE npm ERR ERESOLVE unable to resolve depen
  • 渗透测试面试题--日更(1-9day)

    day one 1 拿到一个待检测的web站 渗透测试思路 答 1 信息收集 获取域名的whois信息 获取注册者的邮箱姓名电话等 查服务器的旁站以及子域名站点 因为主站一般比较难 所以可以先看看旁站有没有通用cms或者其他漏洞 查看服务器
  • 华为OD机试真题-单词接龙-2023年OD统一考试(B卷)

    题目描述 单词接龙的规则是 可用于接龙的单词首字母必须要前一个单词的尾字母相同 当存在多个首字母相同的单词时 取长度最长的单词 如果长度也相等 则取字典序最小的单词 已经参与接龙的单词不能重复使用 现给定一组全部由小写字母组成单词数组 并指
  • 基于高德地图API — 绘制热力图初尝试

    初次了解高德地图 并尝试在地图的基础上绘制热力图 官方传送链接高德开放平台 前提准备 点击注册开发者账号 登录成功后 点击左侧菜单栏 应用管理 如图所示 点击 添加 获取API 服务平台 一项请选择 Web 端 JSAPI 回到页面 引入文