你的位置:首页 > Java教程

[Java教程]插件~使用ECharts动态在地图上标识点


ECharts可以很方便的在网页上绘制地图,图表,并且可以提供下载图像,放大,缩小,拖动等功能,今天主要说一下它的地图类型(type:'map')是如何实现的.

首先在ECharts地图的坐标需要我们存储在一个geoCoord属性里,它是一个JS的字典对象,由键/值对组成,键表示点的名称,值则表达它的坐标,由经纬度组成,它是一个数组,如[136.00,32.00]它就表示了一个坐标.

地图类型的图表需要关注的元素

title:标题,显示这个地图所表示的名称

   title: {          text: '清大云点亮中国',          subtext: 'Tsingda.Cloud',          sublink: 'http://www.eee114.com',          x: 'center',          y: 'top',          textStyle: {            color: '#fff'          }        }

toolbox:工具栏,显示一些显示的工具,放大,缩小,查看数据集,下载图像等

    toolbox: {          show: true,          feature: {            mark: { show: true },            dataView: { show: true, readOnly: false },            restore: { show: true },            saveAsImage: { show: true }          }        }

legend:图标显示,当series有多个地图时,这个值用到显示多个地图的图标,可以是横向显示和纵向显示

    legend: {          x: 'left',          y: 'top',          data: ['在线', '离线'],//在线和离线对应的是series的名字          selectedMode: false,//选中悬浮          textStyle: {            color: '#fff'          }        }

series:地图显示,用来叠放显示地图,你可以定义多个,它们之间的关系是第一个在最上面,以此类推.

 series: [          //默认          {            name: '底层模版',            type: 'map',            mapType: 'china',            data: provinceMap,            geoCoord: source,            itemStyle: {              normal: {                color: bgColor,                borderColor: "#eee",                label: {                  show: true,                  textStyle: {                    color: "#fff"                  }                }              }, emphasis: { color: "rgba(128, 128, 128, 0.5)" }            },          }]

markPoint:点标识,用来标识地图上的后,这些点通常是被存储在一个geoCoord对象上,这个对象是一个字典,这在文章开头已经介绍过.

 markPoint: {//动态标记          large: true,//这个选项,悬浮自动失效          symbolSize: 2,          itemStyle: {            normal: {              shadowBlur: 2,              shadowColor: 'rgba(37, 140, 249, 0.8)',              color: onColor            }          },          data: []        }

markPoint里的data对象是这个地图上需要显示的点,它是一个字符型数组,用来存储geoCoord里的键!

setOption:将地图对象添加到指定的地图对象上

 var myChart = echarts.init(document.getElementById('main'));
var option={}; myChart.setOption(option);

动态构建地图上的点标识markPoint

大概的思路是将要标记的点动态付给geoCoord和markPoint的data对象上,这样就可以动态在地图上标示点了

    $.get("/map/GetOffMap", function (data) {                   for (var i in data) {            option.series[0].geoCoord[data[i].longitude + "_" + data[i].latitude] = [parseFloat(data[i].longitude), parseFloat(data[i].latitude)];            option.series[1].markPoint.data.push({ name: data[i].longitude + "_" + data[i].latitude });          }          myChart.setOption(option);

效果如下

什么时候去北京旅游最好去北京旅游最佳路线北京旅游景点推荐北京跟团旅游报价多少北京旅游线路大全香港3日游如何安排行程比较合理? 国庆去香港旅游,跟团和自由行选哪个更好? 深圳机场到香港怎么走? 十一国庆节去香港旅游要注意什么? 厦门西山岩有什么好玩的?? 厦门宋代瓷窑遗址怎么去? 厦门西山岩开放时间是什么时候? 厦门西山岩怎么去? 深圳梧桐山在哪里?怎么去? 深圳横岗园山风景区怎么样?去那里度假好不好? 深圳羊台山有什么好玩的? 深圳大鹏古城在哪?怎么去? 三亚旅游多少钱及注意事项有哪些?_国内_康辉团购 都峤山老人优惠吗?广西容县都峤山老年票多少钱? 7月去桂林旅游好玩吗?_国内_康辉团购 都峤山风景区地址?广西容县都峤山怎么去? DUR06A Datasheet DUR06A Datasheet DUR06A-1 Datasheet DUR06A-1 Datasheet DUR06A4 Datasheet DUR06A4 Datasheet 九龙湖旅游攻略 九龙湖旅游攻略 九龙湖旅游攻略 上海崇明岛地图 上海崇明岛地图 上海崇明岛地图 溪头村攻略 溪头村攻略 溪头村攻略