jsp使用ECharts動(dòng)態(tài)在地圖上標(biāo)識點(diǎn)
ECharts可以很方便的在網(wǎng)頁上繪制地圖,圖表,并且可以提供下載圖像,放大,縮小,拖動(dòng)等功能,今天主要說一下它的地圖類型(type:'map')是如何實(shí)現(xiàn)的。
首先在ECharts地圖的坐標(biāo)需要我們存儲(chǔ)在一個(gè)geoCoord屬性里,它是一個(gè)JS的字典對象,由鍵/值對組成,鍵表示點(diǎn)的名稱,值則表達(dá)它的坐標(biāo),由經(jīng)緯度組成,它是一個(gè)數(shù)組,如[136.00,32.00]它就表示了一個(gè)坐標(biāo).
地圖類型的圖表需要關(guān)注的元素
title:標(biāo)題,顯示這個(gè)地圖所表示的名稱
title: { text: '清大云點(diǎn)亮中國', subtext: 'Tsingda.Cloud', sublink: 'http://www.eee114.com', x: 'center', y: 'top', textStyle: { color: '#fff' } }
toolbox:工具欄,顯示一些顯示的工具,放大,縮小,查看數(shù)據(jù)集,下載圖像等。
toolbox: { show: true, feature: { mark: { show: true }, dataView: { show: true, readOnly: false }, restore: { show: true }, saveAsImage: { show: true } } }
egend:圖標(biāo)顯示,當(dāng)series有多個(gè)地圖時(shí),這個(gè)值用到顯示多個(gè)地圖的圖標(biāo),可以是橫向顯示和縱向顯示
legend: { x: 'left', y: 'top', data: ['在線', '離線'],//在線和離線對應(yīng)的是series的名字 selectedMode: false,//選中懸浮 textStyle: { color: '#fff' } }
series:地圖顯示,用來疊放顯示地圖,你可以定義多個(gè),它們之間的關(guān)系是第一個(gè)在最上面,以此類推.
series: [ //默認(rèn) { name: '底層模版', type: 'map', mapType: 'china', data: provinceMap, geoCoord: source, itemStyle: { normal: { color: bgColor, borderColor: "#eee", label: { show: true, textStyle: { color: "#fff" } } }, emphasis: { color: "rgba(128, 128, 128, 0.5)" } }, }
markPoint:點(diǎn)標(biāo)識,用來標(biāo)識地圖上的后,這些點(diǎn)通常是被存儲(chǔ)在一個(gè)geoCoord對象上,這個(gè)對象是一個(gè)字典,這在文章開頭已經(jīng)介紹過.
markPoint: {//動(dòng)態(tài)標(biāo)記 large: true,//這個(gè)選項(xiàng),懸浮自動(dòng)失效 symbolSize: 2, itemStyle: { normal: { shadowBlur: 2, shadowColor: 'rgba(37, 140, 249, 0.8)', color: onColor } }, data: [] }
markPoint里的data對象是這個(gè)地圖上需要顯示的點(diǎn),它是一個(gè)字符型數(shù)組,用來存儲(chǔ)geoCoord里的鍵!
setOption:將地圖對象添加到指定的地圖對象上
var myChart = echarts.init(document.getElementById('main')); var option={}; myChart.setOption(option);
動(dòng)態(tài)構(gòu)建地圖上的點(diǎn)標(biāo)識markPoint
大概的思路是將要標(biāo)記的點(diǎn)動(dòng)態(tài)付給geoCoord和markPoint的data對象上,這樣就可以動(dòng)態(tài)在地圖上標(biāo)示點(diǎn)了
$.get("/map/GetOffMap", function (data) { for (var i in data) { option.series[0].geoCoord[data[i].longitude + "_" + data[i].latitude] = [parseFloat(data[i].longitude), parseFloat(data[i].latitude)]; option.series[1].markPoint.data.push({ name: data[i].longitude + "_" + data[i].latitude }); } myChart.setOption(option);
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- vue.js中使用echarts實(shí)現(xiàn)數(shù)據(jù)動(dòng)態(tài)刷新功能
- 詳解vue文件中使用echarts.js的兩種方式
- echarts同一頁面中四個(gè)圖表切換的js數(shù)據(jù)交互方法示例
- 利用ECharts.js畫K線圖的方法示例
- HTML5+JS+JQuery+ECharts實(shí)現(xiàn)異步加載問題
- vue.js如何將echarts封裝為組件一鍵使用詳解
- vue.js+Echarts開發(fā)圖表放大縮小功能實(shí)例
- jsp利用echarts實(shí)現(xiàn)報(bào)表統(tǒng)計(jì)的實(shí)例
- Echarts.js無法引入問題解決方案
相關(guān)文章
jsp跳轉(zhuǎn)getRequestDispatcher()和sendRedirect()的區(qū)別
這篇文章主要介紹了jsp跳轉(zhuǎn)getRequestDispatcher()和sendRedirect()的區(qū)別,需要的朋友可以參考下2014-04-04JSP技術(shù)生成動(dòng)態(tài)web頁面
JSP技術(shù)生成動(dòng)態(tài)web頁面...2006-10-10JSP中實(shí)現(xiàn)判斷客戶端手機(jī)類型并跳轉(zhuǎn)到app下載頁面
這篇文章主要介紹了JSP中實(shí)現(xiàn)判斷客戶端手機(jī)類型并跳轉(zhuǎn)到app下載頁面,實(shí)現(xiàn)的原理,是檢測瀏覽器的 USER-AGENT 這個(gè)header,然后根據(jù)正則表達(dá)式來確定客戶端類型,需要的朋友可以參考下2014-09-09