echarts地圖 json資料 和 後套動態資料載入
阿新 • • 發佈:2019-02-08
$(function () {
zbw();
});
var contentzbw= "../../static/assets/js/map/"
function zbw() {
var myChart = echarts.init(document.getElementById("henanmap"));
echarts.util.mapData.params.params.河南 = {
getGeoJson: function (callback) {
$.getJSON('../../static/assets/js/map/mapJson/hn.json' , function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
var cityindx='河南';
var curIndx = 0;
var mapType = [
'河南' ,
// 18市
'安陽市', '鶴壁市', '濮陽市', '新鄉市', '焦作市',
'三門峽市', '洛陽市', '鄭州市', '開封市', '許昌市',
'平頂山市', '漯河市', '周口市', '南陽市', '駐馬店市',
'信陽市', '商丘市', '濟源市',
'項城市','二七區','新鄭市','新密市',
'登封市','鞏義市','上街區','滎陽市',
'惠濟區','金水區','中原區','管城回族區'
,'中牟縣'
];
echarts.util.mapData.params.params.鄭州市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'zzs' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.安陽市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'ays' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.鶴壁市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'hbs' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.濮陽市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'pys' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.新鄉市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'xxs' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.焦作市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'jzs' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.三門峽市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'smss' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.洛陽市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'lys' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.開封市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'kfs' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.許昌市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'xcs' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.平頂山市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'pdss' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.漯河市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'lhs' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.周口市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'zks' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.南陽市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'nys' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.駐馬店市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'zmds' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.信陽市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'xys' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.商丘市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'sqs' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
echarts.util.mapData.params.params.濟源市 = {
getGeoJson: function (callback) {
$.getJSON(contentzbw+'mapJson/' + 'jys' + '.json', function (data) {
// 壓縮後的地圖資料必須使用 decode 函式轉換
callback(echarts.util.mapData.params.decode(data));
});
}
};
var datas=[];
// 同步執行
$.ajaxSettings.async = false;
// 載入資料
$.getJSON('../../datas/gethomemap', function (json) {
datas = json.datas;
datas1=json.datas1;
datas2=json.datas2;
});
var option = {
title: {
x: 'center',
text: '全省18個市',
subtext: '河南'
},
tooltip: {
trigger: 'item',
show : true,
showDelay:500,
formatter: '{b}<br/>{a}:{c}'
},
legend: {
orient: 'vertical',
x: 'left',
data: ['微博資料量','關注人數','資訊量息量']
},
dataRange: {
min: 0,
max: 1000,
color: ['#1e90ff', '#f0ffff'],
text: ['高', '低'], // 文字,預設為數值文字
calculable: true
},
toolbox: {
show: true,
orient : 'vertical',
x: 'right',
y: 'center',
feature : {
mark : {show: true},
dataView : {show: true, readOnly: false},
restore : {show: true},
saveAsImage : {show: true}
}
},
roamController: {
show: true,
x: 'right',
mapTypeControl: {
'河南': true,
'鄭州市':true
}
},
series: [
{
name: '微博資料量',
type: 'map',
mapType: '河南',
selectedMode: 'single',
roam: false,
itemStyle: {
normal: { label: { show: true} },
emphasis: { label: { show: true} }
},
data: datas
},
{
name: '關注人數',
type: 'map',
mapType: '河南',
itemStyle: {
normal: { label: { show: true} },
emphasis: { label: { show: true} }
},
data: datas1
},
{
name: '資訊量息量',
type: 'map',
mapType: '河南',
itemStyle: {
normal: { label: { show: true} },
emphasis: { label: { show: true} }
},
data:datas2
}
]
};
myChart.setOption(option);
var len = mapType.length;
var mt = mapType[curIndx % len];
myChart.on(echarts.config.EVENT.MAP_SELECTED, function (param) {
len = mapType.length;
if (mt == '河南') {
// 河南選擇指定的市區
var selected = param.selected;
for (var i in selected) {
if (selected[i]) {
mt = i;
while (len--) {
if (mapType[len] == mt) {
curIndx = len;
}
}
break;
}
}
if (mt == '濟源市') {
mt='河南|濟源市'
}
cityindx=mt;
option.series[0].mapType = mt;
option.series[1].mapType = mt;
option.series[2].mapType = mt;
option.title.subtext = mt;
myChart.setOption(option, true);
}
else {
//選擇市內的區
var selected = param.selected;
for (var i in selected) {
if (selected[i]) {
mt = i;
break;
}
}
if(cityindx==mt){
mt='河南'
curIndx = 0
option.series[0].mapType = mt;
option.series[1].mapType = mt;
option.series[2].mapType = mt;
option.title.subtext = mt;
myChart.setOption(option, true);
}
cityindx=mt;
}
});
}
package com.jeefw.controller.sys;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.jeefw.core.Constant;
import com.jeefw.core.JavaEEFrameworkBaseController;
import com.jeefw.model.sys.DictLeixing;
@Controller
@RequestMapping(“/datas”)
public class DatasController extends JavaEEFrameworkBaseController implements Constant{
//表圖的動態資料
@RequestMapping("/gethomemap")
public void dogetDatas(HttpServletRequest request,HttpServletResponse response) throws IOException{
String mapname[]= {"信陽市","南陽市","駐馬店市","周口市","商丘市","三門峽市","新鄉市","鄭州市","安陽市","開封市",
"焦作市","許昌市","濮陽市","漯河市","鶴壁市","項城市","鞏義市","上街區","登封市","新密市",
"二七區","金水區","中原區","管城回族區","惠濟區","中牟縣","滎陽市","濟源市","平頂山市","洛陽市",
"濟源市","新鄭市"};
Map<String, Object> datas =new HashMap<String, Object>();
Map<String, Object> result = new HashMap<String, Object>();
List<Object> results = new ArrayList<Object>(); ;
for (int i = 0; i <31 ; i++) {
result = new HashMap<String, Object>();
result.put("name", mapname[i]);
result.put("value", 500+i*10);
results.add(result);
}
datas.put("datas", results);//微博資訊
datas.put("datas1", results);//資料1
datas.put("datas2", results);//資料2
System.out.println("測試::"+datas);
writeJSON(response, datas);
}
}