bmap+echarts 百度地图绘制散点图

2023-10-14 23:30

本文主要是介绍bmap+echarts 百度地图绘制散点图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

效果图
在这里插入图片描述

一,引入插件

<script crossorigin="anonymous" integrity="sha512-UN8wX5Zf4Af6/2UJOYTYyWLHdua4SWMd1pnIxNoDCtqdaAMk1TQdvwwgoG7ShvuOS1d9jCerLNzwfvRmL7N4iA==" src="https://lib.baomitu.com/echarts/5.2.0/echarts.min.js"></script><script crossorigin="anonymous" integrity="sha512-hEU+WXzocJv+jXFWnuGS64U6IxdA13PpoxCSi9CDYWQQoc3bV22AigWDoBdfvEyRotB0wMA1TY10uQxSofhTRw==" src="https://lib.baomitu.com/echarts/5.2.0/extension/bmap.min.js"></script><script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=xxxxxxxx"></script>

bmap为echarts中集成地图

二,准备地图容器,设置大小

    <style>html, body, #container {height: 100%}</style><div id="container"></div>

三,js部分,具体见注释(数据是写死的,最好让后台传)

<script>var myChart = echarts.init(document.getElementById('container'));var data = [{name: '南通', value: 9},{name: '昆山', value: 19},{name: '连云港', value: 29},{name: '淮安', value: 39},{name: '泰州', value: 6},{name: '宿迁', value: 16},{name: '苏州', value: 26},{name: '镇江', value: 20},{name: '扬州', value: 30},{name: '常州', value: 15},{name: '南京', value: 3},{name: '徐州', value: 9},];var geoCoordMap = {'南通': [121.05, 32.08],'昆山': [120.95, 31.39],'连云港': [119.16, 34.59],'常熟': [120.74, 31.64],'淮安': [119.15, 33.5],'泰州': [119.9, 32.49],'宿迁': [118.3, 33.96],'苏州': [120.62, 31.32],'镇江': [119.44, 32.2],'扬州': [119.42, 32.39],'常州': [119.95, 31.79],'南京': [118.78, 32.04],'徐州': [117.2, 34.26],};var convertData = function (data) {var res = [];for (var i = 0; i < data.length; i++) {var geoCoord = geoCoordMap[data[i].name];console.log(geoCoord);if (geoCoord) {res.push({name: data[i].name, value: geoCoord.concat(data[i].value)});}}return res;};var option = {title: {  //标题text: '',subtext: '',  //副标题sublink: '',  //副标题链接left: 'center'  //标题位置,居中},tooltip: {formatter: function (params) {return ("城市: " + params.name + "<br>空气质量: " + params.value[2]);}},bmap: {  //百度地图的设置center: [118.78, 32.07],  //中心点zoom: 8,         //缩放       roam: true,      //漫游mapStyle: {styleJson: [{'featureType': 'land',     //调整土地颜色'elementType': 'geometry','stylers': {'color': '#081734'}},{'featureType': 'building',   //调整建筑物颜色'elementType': 'geometry','stylers': {'color': '#04406F'}},{'featureType': 'building',   //调整建筑物标签是否可视'elementType': 'labels','stylers': {'visibility': 'off'}},{'featureType': 'highway',     //调整高速道路颜色'elementType': 'geometry','stylers': {'color': '#015B99'}},{'featureType': 'highway',    //调整高速名字是否可视'elementType': 'labels','stylers': {'visibility': 'off'}},{'featureType': 'arterial',   //调整一些干道颜色'elementType': 'geometry','stylers': {'color': '#003051'}},{'featureType': 'arterial','elementType': 'labels','stylers': {'visibility': 'off'}},{'featureType': 'green','elementType': 'geometry','stylers': {'visibility': 'off'}},{'featureType': 'water','elementType': 'geometry','stylers': {'color': '#044161'}},{'featureType': 'subway',    //调整地铁颜色'elementType': 'geometry.stroke','stylers': {'color': '#003051'}},{'featureType': 'subway','elementType': 'labels','stylers': {'visibility': 'off'}},{'featureType': 'railway','elementType': 'geometry','stylers': {'visibility': 'off'}},{'featureType': 'railway','elementType': 'labels','stylers': {'visibility': 'off'}},{'featureType': 'all',     //调整所有的标签的边缘颜色'elementType': 'labels.text.stroke','stylers': {'color': '#313131'}},{'featureType': 'all',     //调整所有标签的填充颜色'elementType': 'labels.text.fill','stylers': {'color': '#FFFFFF'}},{'featureType': 'manmade','elementType': 'geometry','stylers': {'visibility': 'off'}},{'featureType': 'manmade','elementType': 'labels','stylers': {'visibility': 'off'}},{'featureType': 'local','elementType': 'geometry','stylers': {'visibility': 'off'}},{'featureType': 'local','elementType': 'labels','stylers': {'visibility': 'off'}},{'featureType': 'subway','elementType': 'geometry','stylers': {'lightness': -65}},{'featureType': 'railway','elementType': 'all','stylers': {'lightness': -40}},{'featureType': 'boundary','elementType': 'geometry','stylers': {'color': '#8b8787','weight': '1','lightness': -29}}]}},series: [{name: '空气质量',type: 'effectScatter',coordinateSystem: 'bmap',data: convertData(data.sort(function (a, b) {return b.value - a.value;})),symbolSize: function (val) {return val[2] / 2;},rippleEffect: {brushType: 'stroke'},hoverAnimation: true,label: {normal: {formatter: '{b}', position: 'right', show: true}},itemStyle: {normal: {color: '#780385', shadowBlur: 10, shadowColor: '#333'}},zlevel: 1},]};myChart.setOption(option);
</script>

获取map实例,调用事件

 var bmap = myChart.getModel().getComponent('bmap').getBMap();bmap.addEventListener("click", function(){alert("您点击了地图。");})

在此处获取了echarts中的bmap,即可完成对百度地图的一系列自定义操作。

在这里插入图片描述

这篇关于bmap+echarts 百度地图绘制散点图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

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

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

【WebGPU Unleashed】1.1 绘制三角形

一部2024新的WebGPU教程,作者Shi Yan。内容很好,翻译过来与大家共享,内容上会有改动,加上自己的理解。更多精彩内容尽在 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信号:digital_twin123 在 3D 渲染领域,三角形是最基本的绘制元素。在这里,我们将学习如何绘制单个三角形。接下来我们将制作一个简单的着色器来定义三角形内的像素

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

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

一、前言说明 随着风云局势的剧烈变化,对我们搞软件开发的人员来说,影响也是越发明显,比如之前对美对欧的软件居多,现在慢慢的变成了对大鹅和中东以及非洲的居多,这两年明显问有没有俄语或者阿拉伯语的输入法的增多,这要是放在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都绑上脚本 通过脚本,让传送门在编辑器下面还能绘制出来

使用matplotlib绘制散点图、柱状图和饼状图-学习篇

一、散点图 Python代码如下: num_points = 100x = np.random.rand(num_points) #x点位随机y = np.random.rand(num_points) #y点位随机colors = np.random.rand(num_points) #颜色随机sizes = 1000 * np.random.rand(num_points) # 大