程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> jsp使用ECharts動態在地圖上標識點

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

編輯:關於JSP

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved