前台界面样式

map.png

介绍

根据点的经纬度,和两点之间的联通状态,动态显示两点的状态。

.map {

height: 40rem;

}

js引用

echarts.min.js;

china.js;

world.js

js方法

/**

* ECharts地图

* @param {Object} dataPoint 点数据

* @param {Object} dataLine 线数据

* @param {Object} title 标题

*/

function MyEChartsMap(dataPoint, dataLine,title) {

// 基于准备好的dom,初始化echarts实例

var myChart = echarts.init(document.getElementById("ServerStateData"));

$("#ServerState").html(title);

var option = new Object();

//配置信息

option = {

tooltip: {

formatter: function(params) {

//这里如果不希望内容在一行显示也可以自定义css

switch(params.seriesType) {

case "scatter":

//点提示信息

return "站点名称:" + params.name + ",说明:" + params.value.toString().split(',')[2];

break;

case "lines":

//线提示信息

return params.data['fromName'] + "~" + params.data['toName'];

break;

case "map":

//面提示信息

return "区域:" + params.name + ",指数:" + params.value;

break;

}

}

},

/*地图设置*/

visualMap: {

min: 0, //最小颜色

max: 1500, //最大颜色

left: 'left',

top: 'bottom',

text: ['High', 'Low'],

seriesIndex: [1],

inRange: {

color: ['#e0ffff', '#FFFFCC'] //色彩区间

},

calculable: true

},

geo: {

map: 'china',

roam: true,

label: {

normal: {

show: true,

textStyle: {

color: 'rgba(0,0,0,0.4)'

}

}

},

itemStyle: {

normal: {

borderColor: 'rgba(0, 0, 0, 0.2)'

},

emphasis: {

areaColor: null,

shadowOffsetX: 0,

shadowOffsetY: 0,

shadowBlur: 20,

borderWidth: 0,

shadowColor: 'rgba(0, 0, 0, 0.5)'

}

}

},

/*地图设置结束*/

/*数据源*/

series: [

//点数据

{

type: 'scatter', //类型,表示点数据

coordinateSystem: 'geo',

data: convertPointData(dataPoint), //数据源

symbolSize: 8, //标记点大小

//标记样式:可使用svg图标

symbol: 'path://M512 64C306.4 64 140 230.4 140 436c0 101.6 40.8 194.4 107.2 261.6L512 960l264-263.2c66.4-67.2 107.2-159.2 107.2-261.6C884 230.4 717.6 64 512 64z m128 331.2c-4.8 62.4-54.4 112-116.8 116.8-75.2 6.4-138.4-53.6-138.4-127.2 0-70.4 57.6-128 128-128 73.6 0 133.6 63.2 127.2 138.4z',

//symbol: 'path://M877.632 456.8c14.976-14.72 20.384-32.96 14.816-49.984-5.536-17.024-20.608-28.544-41.344-31.584l-190.24-27.84c-6.976-1.024-18.464-9.472-21.6-15.904l-85.12-173.696c-9.28-18.944-24.896-29.76-42.88-29.76-17.952 0-33.6 10.816-42.816 29.76l-85.12 173.696c-3.104 6.432-14.592 14.848-21.6 15.904l-190.24 27.84c-20.704 3.04-35.776 14.56-41.344 31.584-5.568 17.024-0.16 35.232 14.816 49.984l137.696 135.232c5.088 4.992 9.536 18.816 8.32 25.92l-32.48 190.912c-3.552 20.832 2.752 38.816 17.344 49.344 7.52 5.44 16.224 8.16 25.472 8.16 8.576 0 17.6-2.336 26.56-7.04l170.176-90.176c6.048-3.2 20.448-3.2 26.528 0l170.144 90.112c18.528 9.856 37.504 9.44 52.064-1.056 14.56-10.528 20.864-28.48 17.344-49.28l-32.48-190.976c-1.28-7.104 3.2-20.928 8.32-25.92l137.664-135.232z',

//角度信息

symbolRotate: 0,

//鼠标选中说明

label: {

normal: {

formatter: '{b}', //tooltip显示,自定义参考上方例子

position: 'left', //对齐

show: false //是否一直显示

},

emphasis: {

show: true

}

},

itemStyle: {

normal: {

color: '#F06C00' //颜色信息

}

}

},

//底图数据-蓝色部分。

{

name: 'categoryA',

type: 'map',

geoIndex: 0,

data: [{

name: '北京',

value: randomValue()

}, // randomValue() 表示一个随机的颜色数据,如需固定颜色请修改为确定的数字

{

name: '天津',

value: randomValue()

}, // 颜色设置参考visualMap模块

{

name: '上海',

value: randomValue()

},

{

name: '重庆',

value: randomValue()

},

{

name: '河北',

value: randomValue()

},

{

name: '河南',

value: randomValue()

},

{

name: '云南',

value: randomValue()

},

{

name: '辽宁',

value: randomValue()

},

{

name: '黑龙江',

value: randomValue()

},

{

name: '湖南',

value: randomValue()

},

{

name: '安徽',

value: randomValue()

},

{

name: '山东',

value: randomValue()

},

{

name: '新疆',

value: randomValue()

},

{

name: '江苏',

value: randomValue()

},

{

name: '浙江',

value: randomValue()

},

{

name: '江西',

value: randomValue()

},

{

name: '湖北',

value: randomValue()

},

{

name: '广西',

value: randomValue()

},

{

name: '甘肃',

value: randomValue()

},

{

name: '山西',

value: randomValue()

},

{

name: '内蒙古',

value: randomValue()

},

{

name: '陕西',

value: randomValue()

},

{

name: '吉林',

value: randomValue()

},

{

name: '福建',

value: randomValue()

},

{

name: '贵州',

value: randomValue()

},

{

name: '广东',

value: randomValue()

},

{

name: '青海',

value: randomValue()

},

{

name: '西藏',

value: randomValue()

},

{

name: '四川',

value: randomValue()

},

{

name: '宁夏',

value: randomValue()

},

{

name: '海南',

value: randomValue()

},

{

name: '台湾',

value: randomValue()

},

{

name: '香港',

value: randomValue()

},

{

name: '澳门',

value: randomValue()

}

]

},

//线数据01 -- 正常

{

tooltip: {},

type: 'lines',

zlevel: 20,

symbol: ['none', 'arrow'],

symbolSize: 6,

//动画

effect: {

show: true,

period: 3,

trailLength: 0,

//移动点样式。可使用预制,也可使用svg自定义。

//symbol: 'path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z',

symbol: 'triangle',

symbolSize: 6

},

lineStyle: {

normal: {

type: 'solid',

color: '#a6c84c', //线条颜色

width: 1,

opacity: 0.6,

curveness: 0.2

}

},

data: convertLineData(dataLine, dataPoint, 0)

},

//线数据02 --损坏

{

tooltip: {},

type: 'lines',

zlevel: 20,

symbol: ['none', 'arrow'],

symbolSize: 6,

//动画效果--异常线路不显示动画

effect: {

show: false,

period: 3,

trailLength: 0,

//symbol: 'path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z',

symbol: 'triangle',

symbolSize: 6

},

lineStyle: {

normal: {

type: 'dashed',

color: '#FF3333', //线条颜色

width: 1,

opacity: 0.6,

curveness: 0.2

}

},

data: convertLineData(dataLine, dataPoint, 1)

}

]

};

myChart.setOption(option, true);

//绑定单击事件

myChart.on('click', function(params) {

switch(params.seriesType) {

case "lines":

//单击线

alert(params.data['fromName'] + "~" + params.data['toName']);

break;

//单击面

case 'map':

alert(params.name);

break;

//单击点

case "scatter":

alert("站点名称:" + params.name + ",说明:" + params.value.toString().split(',')[2]);

break;

}

});

}

/**

* 组合点数据

* @param {Object} data

*/

function convertPointData(data) {

var res = [];

for(item in data) {

res.push({

name: data[item].name,

value: [data[item].log, data[item].lat, data[item].remark]

});

}

return res;

}

/**

* 组合线数据

* @param {Object} dataline 线数据

* @param {Object} datapoint 点数据

* @param{Object} type 线类型(0正常,1损坏)

*/

function convertLineData(dataline, datapoint, type) {

var res0 = [];

var res1 = [];

for(var i = 0; i < dataline.length; i++) {

var fromName = dataline[i].fromName;

var toName = dataline[i].toName;

var state = dataline[i].state;

if(state == 0) {

res0.push({

fromName: fromName,

toName: toName,

coords: [SearchData(fromName, datapoint), SearchData(toName, datapoint)]

})

} else {

res1.push({

fromName: fromName,

toName: toName,

coords: [SearchData(fromName, datapoint), SearchData(toName, datapoint)]

})

}

}

if(type == 0) {

return res0;

} else {

return res1;

}

};

/**

* 在点数据中查找对应数据经纬度

* @param {Object} name

* @param {Object} datapoint

*/

function SearchData(name, datapoint) {

var value = [];

var i = 0;

while(i < datapoint.length) {

if(name == datapoint[i].name) {

value.push(datapoint[i].log, datapoint[i].lat);

break;

} else {

i++;

continue;

}

}

return value;

}

//随机颜色函数

function randomValue() {

return Math.round(Math.random() * 1000);

}

调用方法

MyEChartsMap(testPointdata, testLinedata, '服务器状态');

数据源

//点数据

var testPointdata = [{

"name": "齐齐哈尔",

"log": 123.97,

"lat": 47.33,

"remark": "备注齐齐哈尔"

},

{

"name": "赤峰",

"log": 118.87,

"lat": 42.28,

"remark": "备注赤峰"

},

{

"name": "海门",

"log": 121.15,

"lat": 31.89,

"remark": "备注海门"

},

{

"name": "成都",

"log": 104.06,

"lat": 30.67,

"remark": "备注成都"

}

]

//线数据(state代表线路是否通畅,0线路正常,1线路损坏)

var testLinedata = [{

"fromName": "齐齐哈尔",

"toName": "赤峰",

"state": 0

},

{

"fromName": "齐齐哈尔",

"toName": "海门",

"state": 1

},

{

"fromName": "海门",

"toName": "赤峰",

"state": 0

},

{

"fromName": "赤峰",

"toName": "海门",

"state": 0

},

{

"fromName": "齐齐哈尔",

"toName": "成都",

"state": 0

}

]

echarts地图上的标签为图片_ECharts中地图的使用相关推荐

  1. echarts地图上的标签为图片_百度地图标记点中添加Echarts图表

    html { height: 100% } body { height: 100%; margin: 0px; padding: 0px } #container { height: 100% } v ...

  2. echarts地图上的标签为图片_PyEcharts——地图-数据可视化

    注意事项:notebook用的浏览器一定要是谷歌浏览器 说明:这些包都正常安装了,但是notebook中无法显示地图,但是保存的网页中可以显示,当时用的是360急速浏览器. 我以为重新启动了noteb ...

  3. 在图片上做标签,图片可放大缩小

    最近有个功能需要标记出没张图里脸部,并且点击大图后,图片可以缩放,标记也会跟着移动.有点类似地图tag 眼见为实,先上一张效果图: 由于最近项目已经完成差不多,在这段时间里把觉得有质量的功能拿出来和小 ...

  4. android百度地图覆盖物异步加载图片,Android 百度地图marker中图片不显示的解决方法(推荐)...

    目的: 根据提供的多个经纬度,显示所在地的marker样式,如下: 问题: 1.发现marker中在线加载的图片无法显示出来: 2.获取多个对象后,却只显示出了一个marker: 以下为官网实现方法: ...

  5. java地图上标记_绘制点标记-在地图上绘制-开发指南-Android 地图SDK | 高德地图API...

    点标记用来在地图上标记任何位置,例如用户位置.车辆位置.店铺位置等一切带有位置属性的事物. 地图 SDK 提供的点标记功能包含两大部分,一部分是点(俗称 Marker).另一部分是浮于点上方的信息窗体 ...

  6. 地图上绘制任意角度的椭圆_地图上的总椭圆

    地图上绘制任意角度的椭圆 或者,如何选择下班后去海滩的最佳方式 (Or, how to choose the best way to walk to the beach after work) It ...

  7. qgis在地图上画导航线_在Laravel中的航线

    qgis在地图上画导航线 For further process we need to know something about it, 为了进一步处理,我们需要了解一些有关它的信息, The rou ...

  8. 地图上分成一块一块区域 高德地图_在谷歌地图上绘制行政区域轮廓【结合高德地图的API】...

    实现思路: 1.利用高德地图行政区域API获得坐标列表 2.将坐标列表绘制在谷歌地图上[因为高德地图和国内的谷歌地图都是采用GCJ02坐标系,所有误差很小,可以不进行坐标误差转换] 注意点: 1.用百 ...

  9. 百度地图在地图上添加多个点,并调整地图层级及中心点至合适位置大小

    项目中有个输入关键字,把搜索结果在地图上标点的需求,需要将搜索到的结果标在地图中,如果有的点不在当前地图视野中,需要将地图移动到合适的中心点,并且调整到合适层级. 分享一下其中比较关键点的函数. /* ...

最新文章

  1. ajax怎么设置好友,好友按ajax新消息通知
  2. 数据标准化处理,data.mean和data.std
  3. IT行业热点商业模式随笔第七章——商业模式创新规律
  4. Java基础提升篇:理解String 及 String.intern() 在实际中的应用
  5. Android之java.lang.OutOfMemoryError: Failed to allocate a ** byte allocation with **free bytes and 2M
  6. 【java】6个延时队列的实现方案
  7. spring test---restful与文件上传
  8. 浏览器的“sleep”
  9. python数据格式化后导入数据库_MySQL导入格式化数据
  10. 红米3s进不了recovery_红米手机3S/3X刷recovery教程及第三方recovery下载
  11. Typora下载链接
  12. Google Ads关键词不展示原因及解决方案
  13. vs2012 wp8 应用调试时报错 指定的通信资源(端口) 已由另一个应用程序使
  14. 迈普交换机_配置手册_IS420
  15. 大陆资金港股打新股亲身体验全流程
  16. 【CIPS 2016】(17章)文字识别 (研究进展、现状趋势)
  17. SVN-服务器及pc端SVN搭建
  18. CTO问我,为什么需要API网关?
  19. 风场可视化:绘制轨迹
  20. 计算机控制的节能路灯系统,路灯与PLC自动控制系统

热门文章

  1. 代码表白小特效 一个比一个浪漫 !!!快收藏!!
  2. matlab读取wav,播放wav,绘制语音波形图
  3. typescript (简写Ts)
  4. TTL电平和RS232电平
  5. 针对应用程序的专为Windows XP设计徽标
  6. 使用server版的哈工大LTP进行NLP任务(Java实现)
  7. 如何旋转BlackBerry BB10模拟器
  8. 丢鸡蛋 [Python3]
  9. 06-一些键鼠和页面操作
  10. HP-SuperDome MP收集日志