[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

相关文章
|
25天前
|
数据可视化 数据挖掘 新能源
2024年五大备受瞩目的数据可视化工具推荐
在当今数据驱动的时代,数据可视化工具已成为各行各业不可或缺的助手。这些工具不仅能够帮助用户更好地理解和分析数据,还能将数据转化为洞察,从而支持更明智的决策。以下是2024年五大备受瞩目的数据可视化工具推荐,每款工具都有其独特的优势和适用场景。
|
3月前
|
数据可视化
Echarts数据可视化大屏开发| 大数据分析平台
Echarts数据可视化大屏开发| 大数据分析平台
|
3月前
|
数据可视化
动漫形象平台 Echarts数据可视化大屏
动漫形象平台 Echarts数据可视化大屏
|
5月前
|
数据可视化 搜索推荐 atlas
DataV Atlas深度解析与实战应用:打造个性化地理信息可视化
阿里云DataV的Atlas功能专注于地理信息可视化,提供范围选择、边界生成和层级展示等工具,助用户轻松创建专业地图应用。通过代码示例展示了如何用Geo组件展示中国省份销售数据,强调了数据安全和性能优化的重要性。DataV Atlas简化了复杂地理信息的展示,提升了数据洞察的直观性和美感。【6月更文挑战第19天】
559 3
|
数据可视化 安全 Cloud Native
AntV 你的保姆级数据可视化解决方案
AntV 你的保姆级数据可视化解决方案
764 0
|
数据可视化 BI
FineReport 数据可视化平台设计笔记
FineReport如何添加控件(自己安装插件)?
199 0
FineReport 数据可视化平台设计笔记
|
SQL 数据可视化 JavaScript
Superset 0.37 发布——颜值最高的数据可视化平台
Superset 0.37 发布——颜值最高的数据可视化平台
731 0
Superset 0.37 发布——颜值最高的数据可视化平台
|
监控 数据可视化 数据挖掘
【ImagineDesign】数据可视化大屏设计经验分享
【ImagineDesign】数据可视化大屏设计经验分享
261 0
【ImagineDesign】数据可视化大屏设计经验分享
|
数据可视化
NBI可视化平台快速入门教程(一)数据准备
NBI可视化平台快速入门教程(一)数据准备
NBI可视化平台快速入门教程(一)数据准备
|
开发框架 数据可视化 算法
惊艳!人人都能玩转酷炫的数据可视化,高德LOCA 2.0全新升级,轻松实现海量数据渲染
“一图胜千言”,大数据时代来临,数据与人们生活密切相关。复杂难懂且体量庞大的数据给人的感觉总是冷冰冰的,让人难以获取到重点信息,也找不出规律和特征,数据价值发挥不出来。空间数据可视化就是为了解决这些问题,用通俗易懂的图形符号还原数据,表达多纬度数据信息,让你的数据“活”起来!
714 0
惊艳!人人都能玩转酷炫的数据可视化,高德LOCA 2.0全新升级,轻松实现海量数据渲染