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

相关文章

Python使用Matplotlib和Seaborn绘制常用图表的技巧

《Python使用Matplotlib和Seaborn绘制常用图表的技巧》Python作为数据科学领域的明星语言,拥有强大且丰富的可视化库,其中最著名的莫过于Matplotlib和Seaborn,本篇... 目录1. 引言:数据可视化的力量2. 前置知识与环境准备2.1. 必备知识2.2. 安装所需库2.3

使用Python在PDF中绘制多种图形的操作示例

《使用Python在PDF中绘制多种图形的操作示例》在进行PDF自动化处理时,人们往往首先想到的是文本生成、图片嵌入或表格绘制等常规需求,然而在许多实际业务场景中,能够在PDF中灵活绘制图形同样至关重... 目录1. 环境准备2. 创建 PDF 文档与页面3. 在 PDF 中绘制不同类型的图形python

Python绘制TSP、VRP问题求解结果图全过程

《Python绘制TSP、VRP问题求解结果图全过程》本文介绍用Python绘制TSP和VRP问题的静态与动态结果图,静态图展示路径,动态图通过matplotlib.animation模块实现动画效果... 目录一、静态图二、动态图总结【代码】python绘制TSP、VRP问题求解结果图(包含静态图与动态图

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Python利用GeoPandas打造一个交互式中国地图选择器

《Python利用GeoPandas打造一个交互式中国地图选择器》在数据分析和可视化领域,地图是展示地理信息的强大工具,被将使用Python、wxPython和GeoPandas构建的交互式中国地图行... 目录技术栈概览代码结构分析1. __init__ 方法:初始化与状态管理2. init_ui 方法:

使用Python绘制3D堆叠条形图全解析

《使用Python绘制3D堆叠条形图全解析》在数据可视化的工具箱里,3D图表总能带来眼前一亮的效果,本文就来和大家聊聊如何使用Python实现绘制3D堆叠条形图,感兴趣的小伙伴可以了解下... 目录为什么选择 3D 堆叠条形图代码实现:从数据到 3D 世界的搭建核心代码逐行解析细节优化应用场景:3D 堆叠图

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

使用Vue-ECharts实现数据可视化图表功能

《使用Vue-ECharts实现数据可视化图表功能》在前端开发中,经常会遇到需要展示数据可视化的需求,比如柱状图、折线图、饼图等,这类需求不仅要求我们准确地将数据呈现出来,还需要兼顾美观与交互体验,所... 目录前言为什么选择 vue-ECharts?1. 基于 ECharts,功能强大2. 更符合 Vue

QT6中绘制UI的两种方法详解与示例代码

《QT6中绘制UI的两种方法详解与示例代码》Qt6提供了两种主要的UI绘制技术:​​QML(QtMeta-ObjectLanguage)​​和​​C++Widgets​​,这两种技术各有优势,适用于不... 目录一、QML 技术详解1.1 QML 简介1.2 QML 的核心概念1.3 QML 示例:简单按钮