[LBS学习笔记 1]高德数据可视化初体验

简介: 换了新工作,虽然还是java开发,但是之前搞做在线教育的,现在做地图相关的事。因此,花了些时间学了空间索引相关的内容,后期会写关于空间索引相关的内容,这期写地理数据可视化相关的内容。

高德数据可视化初体验

背景

换了新工作,虽然还是java开发,但是之前搞做在线教育的,现在做地图相关的事。因此,花了些时间学了空间索引相关的内容,后期会写关于空间索引相关的内容,这期写地理数据可视化相关的内容。

准备

1.高德开发平台账号

高德开放平台:https://lbs.amap.com/

申请账号并在应用管理创建需要的key,如图

1_1.png

2.学习高德JS API文档

这里我主要关注多边形的展示,所以贴一下矢量图形的链接,有需要的可自行看其他内容
https://lbs.amap.com/api/jsapi-v2/guide/overlays/vector-overlay

然后,楼主又花了点时间在B站上学了JS基本语法相关的内容,然后就可以动手做了

开发

后端接口

接口主要提供国内的行政区划数据,即省市区的编码和多边形围栏数据,在网上google找了一个可以用的数据https://github.com/Civitasv/DataV_GeoJSON,将区级别的json数据解析出来,导入数据库里,这样我们就有了基础数据。

然后提供一个接口,可以返回多边形边界数据

    @GetMapping("/queryByAdcode")
    @CrossOrigin
    public ShapeListDTO queryByAdcode(@RequestParam("adcode") Integer adcode) {
   
   
        log.info("queryByAdcode,adcode:{}", adcode);
        return cityService.queryByAdcode(adcode);
    }


//返回对象数据结构
@Data
public class ShapeListDTO {
   
   
    private Integer total;
    private List<String> shape;
}

前端

前端通过ajax请求后端接口获取数据,然后调高德JS API方法将多边形边界数据在页面上渲染即可

直接贴代码:

<!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">
    <link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css"/>
    <title>地图显示</title>
    <style>
        html,
        body,
        #container {
    
    
            width: 100%;
            height: 100%;
        }
    </style>
</head>
<body>
<div id="container"></div>
<!-- 加载地图JSAPI脚本 -->
<script src="https://webapi.amap.com/maps?v=2.0&key=【你申请的key】"></script>
<script>
    var req = new XMLHttpRequest();
    req.open("GET", "http://127.0.0.1:8080/queryByAdcode?adcode=110000")
    req.onload = function () {
    
    
            if (req.responseText == '') {
    
    
                errorMsg.style.display = 'block'
            } else {
    
    
                console.log(req.responseText)
                var map = new AMap.Map('container', {
    
    
                    viewMode: '3D', // 默认使用 2D 模式,如果希望使用带有俯仰角的 3D 模式,请设置 viewMode: '3D',
                    zoom: 11, //初始化地图层级
                    center: [116.397428, 39.90923], //初始化地图中心点
                });

                var resp = JSON.parse(req.responseText);
                var total = resp.total;
                var shapes = resp.shape;
                for (var i = 0; i < total; i++) {
    
    
                    var poly = shapes[i];
                    var points = poly.split(",");
                    var list = [];
                    for (var j = 0; j < points.length; j++) {
    
    
                        var pp = points[j].split(" ");
                        list.push(pp);
                    }
                    var polygon1 = new AMap.Polygon({
    
    
                        path: list,          //设置线覆盖物路径
                        fillColor: '#42cee0', // 多边形填充颜色
                        borderWeight: 2, // 线条宽度,默认为 1
                        strokeColor: 'red', // 线条颜色
                    });
                    map.add(polygon1);
                }
            }
    }
    req.send();

</script>
</body>
</html>

效果图

1_2.png

代码

我的代码仓库地址,这里只有后端代码:https://github.com/longbig/LBS-learn

相关文章
|
2月前
|
数据可视化 数据挖掘 新能源
2024年五大备受瞩目的数据可视化工具推荐
在当今数据驱动的时代,数据可视化工具已成为各行各业不可或缺的助手。这些工具不仅能够帮助用户更好地理解和分析数据,还能将数据转化为洞察,从而支持更明智的决策。以下是2024年五大备受瞩目的数据可视化工具推荐,每款工具都有其独特的优势和适用场景。
|
4月前
|
数据可视化
动漫形象平台 Echarts数据可视化大屏
动漫形象平台 Echarts数据可视化大屏
|
4月前
|
数据可视化
Echarts数据可视化大屏开发| 大数据分析平台
Echarts数据可视化大屏开发| 大数据分析平台
|
4月前
|
数据可视化 前端开发
大厂都在用的可视化大屏,你拿下了吗?
大厂都在用的可视化大屏,你拿下了吗?
|
数据可视化 安全 Cloud Native
AntV 你的保姆级数据可视化解决方案
AntV 你的保姆级数据可视化解决方案
791 0
|
监控 数据可视化
漏刻有时LOCKDATA数据可视化核心框架常见问题集锦
漏刻有时LOCKDATA数据可视化核心框架常见问题集锦
79 0
|
数据可视化 BI
FineReport 数据可视化平台设计笔记
FineReport如何添加控件(自己安装插件)?
210 0
FineReport 数据可视化平台设计笔记
|
监控 数据可视化 数据挖掘
【ImagineDesign】数据可视化大屏设计经验分享
【ImagineDesign】数据可视化大屏设计经验分享
269 0
【ImagineDesign】数据可视化大屏设计经验分享
|
SQL 数据可视化 JavaScript
Superset 0.37 发布——颜值最高的数据可视化平台
Superset 0.37 发布——颜值最高的数据可视化平台
744 0
Superset 0.37 发布——颜值最高的数据可视化平台
|
数据可视化 安全 数据挖掘
NBI可视化平台快速入门教程(四)数据可视化编辑器介绍
NBI可视化平台快速入门教程(四)数据可视化编辑器介绍 NBI大数据可视化分析平台作为新一代自助式、探索式分析工具,在产品设计理念上始终从用户的角度出发,一直围绕简单、易用,强调交互分析为目的的新型产品。我们将数据分析的各环节(数据准备、自服务数据建模、探索式分析、权限管控)融入到系统当中,让企业有序的、安全的管理数据和分析数据。
NBI可视化平台快速入门教程(四)数据可视化编辑器介绍