如何用ECharts动态标记地面上的点

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

首先,ECharts地图的坐标需要存储在一个geoCoord属性中,这个属性是JS的一个字典对象,由键/值对组成。键表示点的名称,而值表示点的坐标,由纬度和经度组成。它是一个数组,比如[136.00,32.00],代表一个坐标。

地图类型图中需要注意的要素。

Title: Title,显示此地图所代表的名称。

标题:{

正文:“白云照亮中国”,

潜台词:‘青大。云',

子链接: '',

x:'中心',

y:'顶部',

textStyle: {

颜色:' #fff '

}

}

工具箱:工具栏,显示一些显示的工具,如放大、缩小、查看数据集、下载图片等。

工具箱:{

秀:真的,

功能:{

马克:{ show: true },

dataView: { show: true,readOnly: false },

还原:{ show: true },

saveAsImage: { show: true }

}

}

图例:图标显示。当系列有多个地图时,该值用于显示多个地图的图标,可以水平和垂直显示。

图例:{

x:'左',

y:'顶部',

数据:['online ',' offline'],//Online和offline对应系列的名称。

SelectedMode: false,//选择浮动。

textStyle: {

颜色:' #fff '

}

}

系列:地图显示,用于将地图显示在彼此之上。您可以定义多个地图,第一个在顶部,依此类推。

系列:[

//默认

{

名称,'底部模板',

类型:“地图”,

地图类型:“中国”,

数据:provinceMap,

geoCoord:来源,

项目样式:{

正常:{

颜色:bgColor,

borderColor: "#eee ",

标签:{

秀:真的,

textStyle: {

颜色:" #fff "

}

}

},强调:{ color: "rgba(128,128,128,0.5)" }

},

}]

MarkPoint:点标识用于标识地图上的点。这些点通常存储在一个geoCoord对象中,这个对象是一个字典,在文章的开头已经介绍过。

标记点:{//动态标签

Large: true,//这个选项,暂停会自动失效。

symbolSize: 2,

项目样式:{

正常:{

暗影模糊:2,

阴影颜色:' rgba(37,140,249,0.8)',

颜色:onColor

}

},

数据:[]

}

markPoint中的数据对象是需要在此地图上显示的点。这是一个字符数组,用来存储geoCoord中的键!

SetOption:将地图对象添加到指定的地图对象。

var myChart = echarts . init(document . getelementbyid(' main '));

var option = { };

myChart.setOption(选项);

在地图上动态构建点标记。

总的思路是把要标注的点动态的支付给geoCoord和markPoint的数据对象,这样就可以在地图上动态的标注点。

$.get("/map/GetOffMap ",function (data) {

for(变量i in data) {

选项.系列[0]。geoCoord[data[i].经度+ "_" +数据[i]。latitude] = [parseFloat(data[i].经度)、parseFloat(data[i])。纬度)];

option . series[1]. markpoint . data . push({ name:data[I].经度+ "_" +数据[i]。纬度});

}

myChart.setOption(选项);