// javascript document
$(window).resize(function() {});
$(document).ready(function(){
//var isie = /msie/.test(navigator.useragent.tolowercase());
var ie8=!$.support.leadingwhitespace;
$("#in_slide").slide({titcell:".hd ul",maincell:".bd ul",autopage:true,effect:"fold",autoplay:true,trigger:"click",delaytime:1000,intertime:4000});
if($(".notice .bd li").length>1){
$(".notice .bd ul > style").remove();
$(".notice").slide({maincell:".bd ul", autopage:true, effect:"toploop", autoplay:true, delaytime:700, opp:false});
}
$("#picnews").slide({titcell:".hd ul",maincell:".bd ul",autopage:true,effect:"fold",autoplay:true,trigger:"click"});
var fixnavtop=550;
$(window).scroll(function () {
if ($(window).scrolltop() > fixnavtop) {
$(".fixnav").addclass("fixed");
}
else {
$(".fixnav").removeclass("fixed");
}
});
var newsboxul = $(".newsbox > ul");
$(".newsbox h3 i").click(function(){
$(this).parent().find("i").removeclass("cur");
$(this).addclass("cur");
var i = $(this).index();
$(this).parent().parent().find("ul").css('display','none');
$(this).parent().parent().find("ul").eq(i).stop(true,false).fadein();
});
$(".servicebox .sa li").hover(function(){
scli = $(".servicebox .sa li").index($(this));
$(".servicebox .sc li").eq(scli).stop(true,false).fadein("slow");
$(this).addclass("cur");
},function(){
$(".servicebox .sc li").eq(scli).stop(true,false).fadeout("fast");
$(this).removeclass("cur");
});
$(".servicebox .sc li").hover(function(){
$(this).stop(true,false).fadein("slow");
$(".servicebox .sa li").eq(scli).addclass("cur");
},function(){
$(".servicebox .sc li").stop(true,false).fadeout("slow");
$(".servicebox .sa li").removeclass("cur");
});
$(".map").append(mapbtn);//生成地图图例切换按钮
var map_l_on=true;//左侧图表区缩进。
function show_map_l(){
map_l_on=true;
$("#map_l").stop(true,false).animate({left:"0"});
$(".mapslide").stop(true,false).show().animate({left:"270px"},function(){$(".map").css({overflow:"visible"});}).addclass("on");
}
function hide_map_l(times){
map_l_on=false;
$(".map").css({overflow:"hidden"});
$("#map_l").stop(true,false).animate({left:"-270px"});
$(".mapslide").stop(true,false).animate({left:"0"}).removeclass("on");;
}
$(".mapslide").click(function(){
if(map_l_on){
hide_map_l();
}else{
show_map_l();
}
});
require.config({
paths: {
echarts: jspath
},
packages: [
{
name: 'bmap',
location: jspath,
main: 'bmap'
}
]
});
require(
[
'echarts',
'bmap',
'echarts/chart/bar',
'echarts/chart/line',
'echarts/chart/map'
],
function (echarts, bmapextension) {
if(ie8){//ie8
var map = new bmap.map("map_main");
}else{
var bmapext = new bmapextension($('#map_main')[0], bmap, echarts,{
minzoom:5,maxzoom:6,
enablemapclick: false
});
var map = bmapext.getmap();
}
//特高压线条样式
var convertlinedata = function (n) {
var mydata = linedatatgy[n];
var ldata = [];
for (var j = 0; j < mydata.length; j++) {
for (var i = 0; i < mydata[j][0].length-1; i++) {
ldata.push([{name:mydata[j][0][i]},{name:mydata[j][0][i+1],value:mydata[j][1]}]);
}
}
return ldata;
}
//特高压样式设定
var effect = {
show: true,
scalesize: require('zrender/tool/env').canvassupported ? 1 : 2,
period: 50, // 运动周期,无单位,值越大越慢
color: 'rgba(255,255,255,0.5)',
shadowcolor: 'rgba(255,255,255,1)',
shadowblur : 10
};
function itemstyle(idx) {
return {
normal: {
color:'rgba(30,144,255,0)',
borderwidth:2,
linestyle: {
type: ['solid','solid','dashed','dashed'][idx]
},
label: {
show: false,
formatter: null,
textstyle: {fontsize: 10}
}
}
}
};
option0 = {
color: linecolor_a,
legend:{
show:true,
orient: 'vertical',//vertical, horizontal
x:'right',
y:360,
padding:15,
itemgap: 6,
selectedmode:'single',
data: [{name:'在运建成交流工程',icon : 'line'}, {name:'在运建成直流工程',icon : 'line'}, {name:'核准在建交流工程',icon : 'image://'+jspath+btnicon[2]}, {name:'核准在建直流工程',icon : 'image://'+jspath+btnicon[3]}, {name:'显示全部',icon : 'bar'}],
textstyle : {
color: '#000',
fontsize:12
}
},
series : [
{
name: '在运建成交流工程',
type: 'map',
maptype: 'none',
roam: false,//scale move
hoverable: false,
clickable: false,
itemstyle:{
normal:{
bordercolor:'rgba(255,255,255,1)',
borderwidth:0.5,
label:{
show:false,
position:'right',
formatter: '{b}'
},
areastyle:{
color: 'rgba(194,204,203,0.8)'
}
},
emphasis: {
label:{show:false,position:'top'},
areastyle:{
color: 'rgba(194,204,203,1)'
}
}
},
data:[],
markline : {
symbol: ['circle', 'arrow'],
symbolsize : 0,
effect : effect,
clickable: true,
itemstyle : itemstyle(0),
smooth:true,
smoothness:0,
data : convertlinedata(0)
}
},
{
name: '在运建成直流工程',
type: 'map', maptype: 'none',
data:[],
markline : {
symbol: ['circle', 'circle'],
symbolsize : 0,
effect : effect,
clickable: true,
itemstyle : itemstyle(1),
smooth:true,
smoothness:0,
data : convertlinedata(1)
}
},
{
name: '核准在建交流工程',
type: 'map', maptype: 'none',
data:[],
markline : {
symbol: ['circle', 'circle'],
symbolsize : 0,
effect : effect,
clickable: true,
itemstyle : itemstyle(2),
smooth:true,
smoothness:0,
data : convertlinedata(2)
}
},
{
name: '核准在建直流工程',
type: 'map', maptype: 'none',
data:[],
markline : {
symbol: ['circle', 'circle'],
symbolsize : 0,
effect : effect,
clickable: true,
itemstyle : itemstyle(3),
smooth:true,
smoothness:0,
data : convertlinedata(3)
},
geocoord: geodata[0]
}
]
};
function addmarker(point2, n, j){
if(n==7){//北京总部图标变大
iconsizex=24;
iconsizey=24;
}else if(n==9 || n==10){//清洁能源
iconsizex=42;
iconsizey=24;
}else if(n==11 || n==12){//充电桩
iconsizex=7 + math.round(pointdata[n][j]['value']/2000);;
iconsizey=iconsizex;
}else{
iconsizex=20;
iconsizey=20;
}
//console.log(iconsizex);
point_a[n][j] = new bmap.marker(point2, {icon: new bmap.icon(jspath + myicon[n], new bmap.size(iconsizex, iconsizey), {imagesize:new bmap.size(iconsizex, iconsizey)} ) });
map.addoverlay(point_a[n][j]);
if(n<4){//特高压显示标签
var label = new bmap.label(pointdata[n][j]['name'],{offset:new bmap.size(20,0)});
label.setstyle({
color : linecolor_a[n],
fontsize : "12px",
backgroundcolor :"0",
border :"0",
fontweight :""});
//point_a[n][j].setlabel(label);
}else{//其他显示鼠标提示
if(n>10){//充电桩弹出信息处理
point_a[n][j].addeventlistener("mouseover", function(evt){
var pt = new bmap.point(evt.point.lng,evt.point.lat);
map.openinfowindow(infowindow,pt); //开启信息窗口
infowindow.settitle("");
infowindow.setcontent(pointdata[n][j]['name']+"
充电桩:"+pointdata[n][j]['value']+" 个");
});
}else if(n>7){//清洁能源弹出信息处理
point_a[n][j].addeventlistener("mouseover", function(evt){
var pt = new bmap.point(evt.point.lng,evt.point.lat);
map.openinfowindow(infowindow,pt); //开启信息窗口
infowindow.settitle("");
infowindow.setcontent(pointdata[n][j]['name']+"
"+pointdata[n][j]['value']);
});
}else{
point_a[n][j].addeventlistener("mouseover", function(evt){
var pt = new bmap.point(evt.point.lng,evt.point.lat);
map.openinfowindow(infowindow,pt); //开启信息窗口
infowindow.settitle("");
infowindow.setcontent(pointdata[n][j]['value']);
});
point_a[n][j].addeventlistener("click", function(evt){
showpoint(n, j)
//alert(n+"-"+j);
});
}
point_a[n][j].addeventlistener("mouseout", function(){
map.closeinfowindow(infowindow,point);
});
}
}
function creatmarker(n){
var mydata = pointdata[n];
for (var j = 0; j < mydata.length; j++) {
myname=mydata[j]['name'];
x=geodata[n][myname][0];
y=geodata[n][myname][1]
addmarker(new bmap.point(x,y),n,j);
}
}
function removemarker(n){
for (var j = 0; j < point_a.length; j++) {
for (var i = 0; i < point_a[j].length; i++) {
map.removeoverlay(point_a[j][i]);
}
}
}
function addline(pointarray,n,j){
line_a[n][j] = new bmap.polyline(pointarray, {strokecolor:linecolor_a[n], strokestyle:linestyle_a[n], strokeweight:2, strokeopacity:1,enableclicking:true});
map.addoverlay(line_a[n][j]);
line_a[n][j].addeventlistener("mouseover", function(evt){
line_a[n][j].setstrokecolor("red");
var pt = new bmap.point(evt.point.lng,evt.point.lat);
map.openinfowindow(infowindow,pt); //开启信息窗口
infowindow.settitle('');
infowindow.setcontent(hoverdata[n][j]);
});
line_a[n][j].addeventlistener("mouseout", function(){
line_a[n][j].setstrokecolor(linecolor_a[n]);
map.closeinfowindow(infowindow,point);
});
line_a[n][j].addeventlistener("click", function(evt){
var linen=0;
for(var i =0;i<=n;i++){
for(var k=0;k0){
var mychart1 = echarts.init(document.getelementbyid("map_lt"));
var mychart2 = echarts.init(document.getelementbyid("map_lc"));
var mychart3 = echarts.init(document.getelementbyid("map_lb"));
}
var startpoint = {x: 104.842143,y: 36.386702};
var point = new bmap.point(startpoint.x, startpoint.y);
map.centerandzoom(point, 5);
map.enablescrollwheelzoom(true);
map.disableinertialdragging();
map.setmapstyle({
stylejson: mapstyle
});
if(!ie8){
var container = bmapext.getechartscontainer();
var mychart = bmapext.initecharts(container);
//bmapext.setoption(option0,true);
}
$(".mapbox h3 s").click(function(){
mapli = $(".mapbox h3 s").index($(this));
$(this).parent().find("s").removeclass("cur");
$(this).addclass("cur");
$(".maptitle").text(titledata[mapli]);
$(".mapbtn").show();
$(".mapbtn li").hide().eq(mapli).show();
$(".mapbtn li a").removeclass("off");
$(".mapbtn li a:last-child").addclass("off");
$(".mapbtn li a").last().addclass("off");
//左侧柱状图显示控制
$("#map_l").css({left:"-270px"});
hide_map_l();
$(".mapslide").css({left:"0"}).removeclass("on");
mychart1.clear();
mychart2.clear();
mychart3.clear();
//删除特高压线路
//map.clearoverlays();
removeline();
removemarker();
removehighway();
//生成对应地图数据
if(!ie8){
mychart.clear();
//mychart.dispose();
}
$(".mapbtn").removeclass("mbl");
if(mapli==0){//特高压
if(!ie8){
bmapext.setoption(option0,true);
$(".mapbtn").hide();
var ecconfig = require('echarts/config');
mychart.on(ecconfig.event.legend_selected, function (param){
var selected = param.selected;
removeline();
removemarker();
if (selected['显示全部']) {
$(".mapbox h3 s.cur").click();
}else if(selected['在运建成交流工程']){
creatmarker(0);
creatline(0);
}else if(selected['在运建成直流工程']){
creatmarker(1);
creatline(1);
}else if(selected['核准在建交流工程']){
creatmarker(2);
creatline(2);
}else if(selected['核准在建直流工程']){
creatmarker(3);
creatline(3);
}
});
}
var startpoint = {x:105, y:36};
var minzoom=5;
var maxzoom=6;
var curzoom=5;
creatmarker(0);
creatmarker(1);
creatmarker(2);
creatmarker(3);
creatline(0);
creatline(1);
creatline(2);
creatline(3);
//左侧柱状图控制
show_map_l();
mychart1.setoption(convertoption(5));
mychart2.setoption(convertoption(6));
mychart3.setoption(convertoption(7));
}else if(mapli==1){//国际业务
var startpoint = {x:39.642123, y:18.15967};
var minzoom=3;
var maxzoom=4;
var curzoom=3;
creatmarker(4);
creatmarker(5);
creatmarker(6);
creatmarker(7);
hide_map_l();
$(".mapslide").hide();
$(".mapbtn").addclass("mbl");
}else if(mapli==2){//清洁能源
var startpoint = {x:105, y:36};
var minzoom=4;
var maxzoom=6;
var curzoom=5;
creatmarker(8);
creatmarker(9);
creatmarker(10);
//左侧柱状图控制
show_map_l();
mychart1.setoption(convertoption(0));
mychart2.setoption(convertoption(1));
mychart3.setoption(convertoption(2));
}else if(mapli==3){//车联网
var startpoint = {x:108, y:35};
var minzoom=4;
var maxzoom=6;
var curzoom=5;
creathighway();
$(".mapbtn li:eq(3) div").hide().eq(0).show();
$(".mapbtn li:eq(3) div s").removeclass("off");
//左侧柱状图控制
show_map_l();
mychart1.setoption(convertoption2(3));
mychart2.setoption(convertoption2(4));
mychart3.setoption(option5);
}
// 初始化地图
map.setminzoom(minzoom);
map.setmaxzoom(maxzoom);
point = new bmap.point(startpoint.x, startpoint.y);
map.centerandzoom(point, curzoom);
});
$(".mapbtn li:eq(0) a").click(function(){
removeline();
removemarker();
removehighway();
$(".mapbtn li:eq(0) a").addclass("off");
num=$(this).index();
if (num>=4) {
$(".mapbox h3 s.cur").click();
}else{
creatmarker(num);
creatline(num);
$(".mapbtn li:eq(0) a").eq(num).removeclass("off");
}
});
$(".mapbtn li:eq(1) a").click(function(){
removeline();
removemarker();
removehighway();
$(".mapbtn li:eq(1) a").addclass("off");
num=$(this).index();
if (num>=3) {
$(".mapbox h3 s.cur").click();
}else{
creatmarker(num+4);
creatmarker(7);
$(".mapbtn li:eq(1) a").eq(num).removeclass("off");
}
});
$(".mapbtn li:eq(2) a").click(function(){
removeline();
removemarker();
removehighway();
$(".mapbtn li:eq(2) a").addclass("off");
num=$(this).index();
if (num>=3) {
$(".mapbox h3 s.cur").click();
}else{
creatmarker(num+8);
$(".mapbtn li:eq(2) a").eq(num).removeclass("off");
}
});
$(".mapbtn li:eq(3) a").click(function(){
removeline();
removemarker();
removehighway();
$(".mapbtn li:eq(3) a").addclass("off");
$(this).removeclass("off");
$(".mapbtn li div s").removeclass("off");
num=$(".mapbtn li:eq(3) a").index($(this));
$(".mapbtn li:eq(3) div").hide().eq(num).show();
if (num==0) {
var startpoint = {x:108, y:35};
creathighway();
$(".maptitle").text("全国高速充电网络示意图");
}else{
var startpoint = {x:106, y:32};
creatmarker(11);
creatmarker(12);
$(".maptitle").text("全国城市充电网络示意图");
}
var point = new bmap.point(startpoint.x, startpoint.y);
var curzoom=5;
map.centerandzoom(point, curzoom);
});
$(".mapbtn li div s").click(function(){
removeline();
removemarker();
removehighway();
num=$(".mapbtn li div s").index($(this));
$(".mapbtn li div s").addclass("off");
$(this).removeclass("off");
if (num==0) {
creathighway(0);
}else if(num==1){
creathighway(1);
}else if(num==2){
creathighway(2);
}else if(num==3){
creatmarker(11);
}else if(num==4){
creatmarker(12);
}
});
//显示第一个地图数据
$(".mapbox h3 s").eq(0).click();
}
);
});