jsp使用ECharts動態在地圖上標識點_JSP編程

來源:互聯網
上載者:User

ECharts可以很方便的在網頁上繪製地圖,圖表,並且可以提供下載映像,放大,縮小,拖動等功能,今天主要說一下它的地圖類型(type:'map')是如何?的。

首先在ECharts地圖的座標需要我們儲存在一個geoCoord屬性裡,它是一個JS的字典對象,由鍵/值對組成,鍵表示點的名稱,值則表達它的座標,由經緯度組成,它是一個數組,如[136.00,32.00]它就表示了一個座標.

地圖類型的圖表需要關注的元素

title:標題,顯示這個地圖所表示的名稱

title: {          text: '清大雲點亮中國',          subtext: 'Tsingda.Cloud',          sublink: 'http://www.eee114.com',          x: 'center',          y: 'top',          textStyle: {            color: '#fff'          }        }

toolbox:工具列,顯示一些顯示的工具,放大,縮小,查看資料集,下載映像等。

toolbox: {          show: true,          feature: {            mark: { show: true },            dataView: { show: true, readOnly: false },            restore: { show: true },            saveAsImage: { show: true }          }        }

egend:表徵圖顯示,當series有多個地圖時,這個值用到顯示多個地圖的表徵圖,可以是橫向顯示和縱向顯示

legend: {          x: 'left',          y: 'top',          data: ['線上', '離線'],//線上和離線對應的是series的名字          selectedMode: false,//選中懸浮          textStyle: {            color: '#fff'          }        }

series:地圖顯示,用來疊放顯示地圖,你可以定義多個,它們之間的關係是第一個在最上面,以此類推.

series: [          //預設          {            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:點標識,用來標識地圖上的後,這些點通常是被儲存在一個geoCoord對象上,這個對象是一個字典,這在文章開頭已經介紹過.

markPoint: {//動態標記          large: true,//這個選項,懸浮自動失效          symbolSize: 2,          itemStyle: {            normal: {              shadowBlur: 2,              shadowColor: 'rgba(37, 140, 249, 0.8)',              color: onColor            }          },          data: []        }

markPoint裡的data對象是這個地圖上需要顯示的點,它是一個字元型數組,用來儲存geoCoord裡的鍵!

setOption:將地圖對象添加到指定的地圖對象上

 var myChart = echarts.init(document.getElementById('main')); var option={}; myChart.setOption(option);

動態構建地圖上的點標識markPoint

大概的思路是將要標記的點動態付給geoCoord和markPoint的data對象上,這樣就可以動態在地圖上標示點了

$.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);

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.