如何用ECharts动态标记地面上的点
首先,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(选项);