百度地图结合echarts地图运历图

关于各省显示车辆发车数量

引入部分

<script src="~/Scripts/Echarts/Js/esl.js"></script>
<script src="~/Scripts/Echarts/Js/echarts.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=8GrVRotzGKj3xzIRu07hCzx2"></script>

html部分

<div class="panel panel-defult papanel-body-5" data-sortable-id="index-1"><div class="panel-heading"><div class="panel-heading-btn"><a href="javascript:;" data-click="panel-collapse"><i class="fa fa-angle-down fa-2x defult"></i></a></div><h4 class="panel-title">运力统计图</h4></div><div class="panel-body"><div id="main"></div></div></div>

main 元素用于显示地图。

js部分

 //加载运力图
// 路径配置
(function () {require.config({paths: {echarts: '../../Scripts/Echarts/Js'},packages: [{name: 'BMap',location: '../../Scripts/Echarts/Js/chart',main: 'main'}]});require(['echarts','BMap','echarts/chart/map'],function (echarts, BMapExtension) {var bMapExt = new BMapExtension(document.getElementById('main'), BMap, echarts, {enableMapClick: false});var map = bMapExt.getMap();var container = bMapExt.getEchartsContainer();var startPoint = {x: 104.114129,y: 37.550339};var point = new BMap.Point(startPoint.x, startPoint.y);map.centerAndZoom(point, 5);map.enableScrollWheelZoom(true);// 地图自定义样式AjaxToWebAPIGet({}, "TransportStatistics/TransportStatistics", function (data) {if (data.Success) {data = data.DataValue;//加载运力图loadTrasportCapacityChart(data, bMapExt, container);}                });});
})();

处理data数据

function loadTrasportCapacityChart(data, bMapExt, container)
{//所有发车城市的经纬度var geoCoord = {};//保存echarts lengendvar legendData = [];//保存echarts seriesvar seriesData = [];var legendSelected = {};var endCityAllArr = [];for (var i = 0; i < data.length; i++) {if (i > 0) {legendSelected[data[i].StartCity_Name] = false;}//发车城市以及经纬度(格式{'上海': [121.4648,31.2891]})var LatAndLngFache = [];LatAndLngFache.push(data[i].StartCity_BLngLat.split(',')[0]);LatAndLngFache.push(data[i].StartCity_BLngLat.split(',')[1]);geoCoord[data[i].StartCity_Name] = LatAndLngFache;//发车城市legendData.push(data[i].StartCity_Name);var objStartCity = {};var arr = [];objStartCity.name = data[i].StartCity_Name;var myarr = [];var endCityArr = [];for (var j = 0; j < data[i].DetailInfo_List.length; j++) {//到达城市以及经纬度(格式{'上海': [121.4648,31.2891]})var LatAndLngDaoda = [];LatAndLngDaoda.push(data[i].DetailInfo_List[j].EndCity_BLngLat.split(',')[0]);LatAndLngDaoda.push(data[i].DetailInfo_List[j].EndCity_BLngLat.split(',')[1]);geoCoord[data[i].DetailInfo_List[j].EndCity_Name] = LatAndLngDaoda;//存储格式([[[{ name: '北京' }, { name: '上海', value: 95 }]],[{ name: '北京' }, { name: '上海', value: 95 }]]])var objEndCity = {};objEndCity.name = data[i].DetailInfo_List[j].EndCity_Name;objEndCity.value = data[i].DetailInfo_List[j].count;var a = [];a.push(objStartCity);a.push(objEndCity);myarr.push(a);//存储格式[[{ name: '上海', value: 95 },{ name: '上海', value: 95 },{ name: '上海', value: 95 }]]endCityArr.push(objEndCity);}seriesData.push(myarr);endCityAllArr.push(endCityArr);}//获取显示的城市数量var cityAllCount = legendData.length;var serise = [];//将所有数据合并成一组然后后面再用for循环拆分,减少代码量for (var i = 0; i < cityAllCount; i++) {//这一步是因为第一个城市里面要存储geoCoordif (i == 0) {serise.push({name: legendData[0],type: 'map',mapType: 'none',data: [],geoCoord: geoCoord,markLine: {smooth: true,effect: {show: true,scaleSize: 1,period: 30,color: '#fff',shadowBlur: 10},itemStyle: {normal: {borderWidth: 1,lineStyle: {type: 'solid',shadowBlur: 10}}},data: seriesData[0]},markPoint: {symbol: 'emptyCircle',symbolSize: function (v) {return 10 + v / 10},effect: {show: true,shadowBlur: 0},itemStyle: {normal: {label: { show: false }}},data: endCityAllArr[0]}});}else {serise.push({name: legendData[i],type: 'map',mapType: 'none',data: [],markLine: {smooth: true,effect: {show: true,scaleSize: 1,period: 30,color: '#fff',shadowBlur: 10},itemStyle: {normal: {borderWidth: 1,lineStyle: {type: 'solid',shadowBlur: 10}}},data: seriesData[i]},markPoint: {symbol: 'emptyCircle',symbolSize: function (v) {return 10 + v / 10},effect: {show: true,shadowBlur: 0},itemStyle: {normal: {label: { show: false }}},data: endCityAllArr[i]}});}}option = {color: ['#ec9233', '#0cb9e2'],title: {subtext: '',x: 'center',textStyle: {color: '#fff'}},tooltip: {trigger: 'item'},legend: {orient: 'vertical',x: 'left',data: legendData,selectedMode: 'single',selected: legendSelected,textStyle: {color: '#999'}},dataRange: {min: 0,max: 100,calculable: true,color: ['#ff3333', 'orange', 'yellow', 'lime', 'aqua'],textStyle: {color: '#fff'}},series: serise};var myChart = bMapExt.initECharts(container);bMapExt.setOption(option);
}

获取到的data数据

[{"StartCity_Name":"上海市","StartCity_BLngLat":"121.48789948569473,31.24916171001514","Company_Oid":"610020","total":3,"DetailInfo_List":[{"EndCity_Name":"重庆市","EndCity_BLngLat":"106.53063501341296,29.54460610888615","count":9},{"EndCity_Name":"成都市","EndCity_BLngLat":"104.06792346330406,30.679942845419565","count":4},{"EndCity_Name":"武汉市","EndCity_BLngLat":"114.31620010268132,30.58108412692075","count":2}]},{"StartCity_Name":"重庆市","StartCity_BLngLat":"106.53063501341296,29.54460610888615","Company_Oid":"610020","total":2,"DetailInfo_List":[{"EndCity_Name":"上海市","EndCity_BLngLat":"121.48789948569473,31.24916171001514","count":5},{"EndCity_Name":"武汉市","EndCity_BLngLat":"114.31620010268132,30.58108412692075","count":1}]},{"StartCity_Name":"成都市","StartCity_BLngLat":"104.06792346330406,30.679942845419565","Company_Oid":"610020","total":1,"DetailInfo_List":[{"EndCity_Name":"上海市","EndCity_BLngLat":"121.48789948569473,31.24916171001514","count":3}]},{"StartCity_Name":"武汉市","StartCity_BLngLat":"114.31620010268132,30.58108412692075","Company_Oid":"610020","total":1,"DetailInfo_List":[{"EndCity_Name":"成都市","EndCity_BLngLat":"104.06792346330406,30.679942845419565","count":1}]}]

数据是我们商量好的,首先服务端会给我们多个发车城市的名称、经纬度,每个城市下一级又会包含发往不同地方的经纬度以及数量。

处理之后的数据

  1. 发车城市经纬度 geoCoord: {"上海市":["121.48789948569473","31.24916171001514"],"重庆市":["106.53063501341296","29.54460610888615"],"成都市":["104.06792346330406","30.679942845419565"],"武汉市":["114.31620010268132","30.58108412692075"]}
  2. 地图option lengend参数 legendData:["上海市", "重庆市", "成都市", "武汉市"]
  3. 地图option series参数 seriesData:[[[{"name":"上海市"},{"name":"重庆市","value":9}],[{"name":"上海市"},{"name":"成都市","value":4}],[{"name":"上海市"},{"name":"武汉市","value":2}]],[[{"name":"重庆市"},{"name":"上海市","value":5}],[{"name":"重庆市"},{"name":"武汉市","value":1}]],[[{"name":"成都市"},{"name":"上海市","value":3}]],[[{"name":"武汉市"},{"name":"成都市","value":1}]]]
  4. 目的地城市经纬度 endCityAllArr: [[{"name":"重庆市","value":9},{"name":"成都市","value":4},{"name":"武汉市","value":2}],[{"name":"上海市","value":5},{"name":"武汉市","value":1}],[{"name":"上海市","value":3}],[{"name":"成都市","value":1}]]

  5. 与服务端交互获取服务端给的数据存在data里,然后将data数据传递到loadTrasportCapacityChart。然后数据组织成http://echarts.baidu.com/echarts2/extension/BMap/doc/BMap.html 里面的样子

  6. 最后就显示成了我们想要的结果
  7. 函数可能写的比较长没做优化,主要是介绍流程O(∩_∩)O!

百度地图结合echarts地图运历图相关推荐

  1. html海南地图插件,Echarts 地图(map)插件之 鼠标HOVER和tooltip自定义数据

    在项目开发中,有需要用到地图的地方,百度的echarts地图插件就是个不错的选择, 这里总结一下地图自定义鼠标HOVER时的事件和自定义tooltip数据: 一.鼠标HOVER时的事件: 参照官方文档 ...

  2. 最新中国省市区县geoJSON格式地图数据Echarts地图数据

    最新全国省市区县geoJSON格式的地图数据,可直接用于echarts地图展示: https://github.com/lyhmyd1211/GeoMapData_CN 全国地图: china.jso ...

  3. 百度推出的echarts,制表折线图柱状图饼图等的超级工具(转)

    一.简介: 1.绘制数据图表,有了它,想要网页上绘制个折线图.柱状图,从此easy. 2.使用这个百度的echarts.js插件,是通过把图片绘制在canvas上在显示在页面上. 官网对echarts ...

  4. 百度推出的echarts,制表折线图柱状图饼图等的超级工具

    一.简介: 1.绘制数据图表,有了它,想要网页上绘制个折线图.柱状图,从此easy. 2.使用这个百度的echarts.js插件,是通过把图片绘制在canvas上在显示在页面上. 官网对echarts ...

  5. echarts地图学习(使用geoJson数据绘制地图)

    参考文档 使用echarts完成中国省市区县镇地图展示 echarts地图(中国地图展示各省数据) echarts实现中国地图区域分布图 vue + echarts 利用echarts中的map地图中 ...

  6. 百度地图结合echarts实现飞线

    百度地图结合echarts实现飞线 目前很流行的地图轨迹飞线图,咱也来实现一个,使用百度地图和echarts图表实现,示例如下,(其实百度地图api有一个位置数据可视化MapV GL也可实现,需要的小 ...

  7. echarts地图文字重叠解决方案_ECharts 和百度地图的叠加示例(下)

    前言 汇总了几个 ECharts 地图和百度地图在可视化展示时的综合示例. 主要是在 ECharts 地图和百度地图上叠加展示一些数字.图片.其它图表和轨迹动画. 另外因为每个示例的代码配置项比较繁琐 ...

  8. echarts实现中国地图,山西地图,图表面积图配置项

    文章目录 1.vue引入echars 2.建立echars基本框架 3.中国地图 4.山西地图为例,展示点击获取城市名称并保存在data中,方便使用 6.图表面积图(大小,线条颜色,面积颜色,百分比显 ...

  9. 在echarts中使用百度地图,卫星地图

    在echarts中使用百度地图,卫星地图 <!-- 首先引入百度地图 --> <script src="https://cdnjs.cloudflare.com/ajax/ ...

最新文章

  1. dom vue 加载完 执行_前端面试题——Vue
  2. 【网络流24题】最小路径覆盖问题
  3. Tensorflow基础入门十大操作总结
  4. R语言merge函数左连接dataframe数据(Left (outer) join in R)、左连接必须将参数all设置(all.x = TRUE)、默认merge函数通过公共列名合并数据集
  5. 改变UITextField PlaceHolder的字体和颜色,不影响正常输入
  6. Mysql数据库常用操作整理
  7. mysql中文时好时坏_mysql索引的问题,时好时坏
  8. 几年前的代码发现一个BUG: 整数相除结果不能默认转换为浮点数
  9. VTK:旋转球体用法实战
  10. 由VMWorld2010想到的Social Media宣传
  11. python基础:python循环、三元运算、字典、文件操作
  12. GetConsoleTitle 函数--获取控制台窗口标题
  13. Java中的break和continue关键字使用总结
  14. [教程]控制反转(IoC)与依赖注入(DI)
  15. 两万字详解MongoDB从入门到精通
  16. 谈谈自己学习Linux的心得
  17. 百度快排(百度下拉)刷词原理是什么?
  18. Wormhole for mac(在Mac上控制iOS和Android设备)
  19. sparkSql 随机打散分配
  20. SQlServer的日期相减(间隔)dateadd ,datediff 函数

热门文章

  1. Hugging face预训练模型下载和使用
  2. 软件测试“老司机”的经验总结,看完你会感谢我的
  3. 计算机专业转正述职报告,计算机专业述职报告
  4. 基于高通AR SDK的Demo总结(一)——常规3D模型的行为脚本
  5. js生成n个和为固定sum的随机整数
  6. 2016学c语言用的软件下载,|C/C++程序设计学习与实验系统下载c2016版 - 欧普软件下载...
  7. 动态新增表字段_G347枞阳段货运车辆超限超载动态检测监控卡点 进入调试阶段...
  8. 公钥生成命令_ECDSA密钥对生成以及在Token中的应用
  9. visio多树枝直角加箭头_零基础国画教程:树枝基本画法详解,简单易学,小白也能学会!...
  10. 【职场进阶】对教培行业新人,你有什么忠告?