基于高德地图API可视化PM2.5指数
- 帮憨憨室友做创新实践作业
- 用JavaScript不一定要学JavaScript系列
- 文末有完整源码和数据集的链接
获取高德地图API
请自行百度
编写head
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>2018年12月1日-PM2.5情况</title> <style> html, body, #container { margin: 0; padding: 0; width: 100%; height: 100%; } </style> </head>
|
编写body
调用API
1 2 3
| <script src="//a.amap.com/Loca/static/dist/jquery.min.js"></script> <script src="https://webapi.amap.com/maps?v=1.4.15&key=你的key"></script> <script src="//webapi.amap.com/loca?v=1.3.2&key=你的key"></script>
|
导入csv数据集
1
| $.get('china5a2.csv', function (data)
|
设置地图参数
1 2 3 4 5 6 7 8
| var map = new AMap.Map('container', { mapStyle: 'amap://styles/db9efe6a1745ac24b7269b862f359536', zoom: 4, center: [107.4976, 32.1697], features: ['bg', 'road'], }
|
给定经纬度和PM2.5指数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| layer.setData(data, { lnglat: function (obj) { var value = obj.value; var lnglat = [value['经度'], value['纬度']]; return lnglat; }, type: 'csv' });
layer.setOptions({ style: { radius: function (obj) { var value = obj.value; var lnglat = value['pm25'] * 0.1; return lnglat*0.2; }, color: 'red', borderColor: 'red', borderWidth: 1, opacity: 1, } });
|
效果图
使用鼠标滚轮可以放大缩小,放大后细节很多,但由于数据集有些大,看起来会与点卡
源码链接
https://github.com/Chaos-xBug/map_pm2.5
有用就给个star吧