日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
用好Echart5繪制地圖,讓可視化大屏描邊酷炫

可視化我們已不再陌生,地圖也很常用。有很多公司業(yè)務(wù)范圍可能僅限于某個市區(qū),所以畫一個 china 地圖意義不大,就只需要繪制某個省份或者市區(qū)的地圖,然后統(tǒng)計各個區(qū)域的一個分布情況,具體的效果如圖所示:

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、合水網(wǎng)絡(luò)推廣、微信平臺小程序開發(fā)、合水網(wǎng)絡(luò)營銷、合水企業(yè)策劃、合水品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供合水建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

一、實(shí)現(xiàn)原理:

繪制地圖之前,我們先需要明白實(shí)現(xiàn)原理是啥樣的,然后按照具體的實(shí)現(xiàn)步驟,依次實(shí)現(xiàn)效果。如果不明白原理,每次完成的都是復(fù)制粘貼。

1、開始之前,先確認(rèn)自己的地圖需要分幾層,及其作用。

2、該效果實(shí)現(xiàn),需要三層地圖實(shí)現(xiàn)效果。

  • 一層放在最底層,設(shè)置地圖的邊框,對應(yīng)地圖里最外層的藍(lán)色地圖線。
  • 二層放在中間,實(shí)現(xiàn)基本的地圖層,顯示對應(yīng)各個區(qū)域的名稱。
  • 三層放在最外層,實(shí)現(xiàn)數(shù)據(jù)標(biāo)記,對應(yīng)地圖里圓圈和數(shù)據(jù)。

3、拖動或縮放的時候出現(xiàn)錯位,使其同步縮放和拖動。

二、Echarts 使用五部曲:

1、下載并引入 echarts

Echarts 已更新到了 5.0 版本,安裝完記得檢查下自己的版本是否是 5.0 。

npm install echarts --save

下載地圖的 json 數(shù)據(jù)。

可以下載中國以及各個省、市、區(qū)地圖數(shù)據(jù)。免費(fèi)的文件下載地址:

http://datav.aliyun.com/portal/school/atlas/area_selector#&lat=30.332329214580188&lng=106.72278672066881&zoom=3.5。

下載對應(yīng)的省份或者市區(qū)的地圖數(shù)據(jù)。

引入:

import * as echarts from "echarts"
import chinaJSON from '../../assets/json/china.json'

2、準(zhǔn)備容器

給元素定義寬高確定的容器用來裝地圖。

3、實(shí)例化 echarts 對象

import * as echarts from 'echarts'
import xianJSON from '../../assets/json/xian.json'
const xian = ref()
var myChart = echarts.init(xian.value)
// 創(chuàng)建了一個 myChart 對象

如果是繪制的地圖,需要先引入和注冊地圖:

echarts.registerMap('xa', xianJSON)

4、指定配置項和數(shù)據(jù)

var option = {
// 存放需要繪制圖片類型,以及樣式設(shè)置
}

5、給 echarts 對象設(shè)置配置項

myChart.setOption(option)

三、具體實(shí)現(xiàn)步驟

步驟1:繪制基本地圖層,顯示各個區(qū)域。

具體代碼為:


步驟2:底層繪制一個地圖層,設(shè)置地圖外層邊框。

添加 series 屬性,再繪制一個地圖層,利用 z 放到最底層。

series: [
//繪制一個新地圖
{
type: 'map',
map: 'xa',
zoom: 1,
roam: true,
center: [109.00853, 34.11078],
z: -1, // 置于底層
itemStyle: {
normal: {
areaColor: '#2e488f',
borderColor: '#0074ff',
borderWidth: 5,//設(shè)置外層邊框線粗細(xì)
},
},
},
],

步驟3:添加分布的數(shù)據(jù)點(diǎn)標(biāo)記。

給 series 中再添加一個配置項:

{
type: 'effectScatter', // 特效散點(diǎn)圖
coordinateSystem: 'geo',
symbol: 'circle',
// symbolSize 設(shè)置標(biāo)記點(diǎn)的大小,
//把大小限制再 30 - 50 之間
symbolSize: function (val) {
return 30 + (val[2] / 100) * 20
},
colorBy: 'series',
//顯示name并設(shè)置樣式
label: {
show: true,
formatter: function (data) {
return data.value[2]
},
color: '#080b1a',
fontSize: '16',
offset: [0, 0],
align: 'center',
},
//漣漪效果設(shè)置
rippleEffect: {
color: '#32479d',
number: 3,
period: 4,
scale: 2,
brushType: 'stroke',
},
itemStyle: {
normal: {
color: '#00e6ff',
borderColor: '#32479d',
borderWidth: 2,
},
},
data: [
{ name: '藍(lán)田', value: [109.423479, 34.181634, 50] },
{ name: '長安區(qū)', value: [108.923479, 34.110134, 30] },
{ name: '周至縣', value: [108.123479, 34.010134, 2] },
{ name: '鄠邑區(qū)', value: [108.573479, 34.100134, 4] },
{ name: '臨潼區(qū)', value: [109.283479, 34.510134, 3] },
{ name: '高陵區(qū)', value: [109.059479, 34.550134, 1] },
],

步驟4:處理放大縮小時不同步的問題。

捕捉 georoam 事件,上層的 geo 縮放、偏移的時候,讓下層的 map 跟著上層同步進(jìn)行。添加代碼:

myChart.on('georoam', function (params) {
var option = myChart.getOption() //獲得option對象
if (params.zoom != null && params.zoom != undefined) {
//捕捉到縮放時
option.series[0].zoom = option.geo[0].zoom //下層geo的縮放等級跟著上層的geo一起改變
option.series[0].center = option.geo[0].center //下層的geo的中心位置隨著上層geo一起改變
} else {
//捕捉到拖曳時
option.series[0].center = option.geo[0].center //下層的geo的中心位置隨著上層geo一起改變
}
myChart.setOption(option) //設(shè)置option
})

四、完整源碼



名稱欄目:用好Echart5繪制地圖,讓可視化大屏描邊酷炫
轉(zhuǎn)載來源:http://www.5511xx.com/article/dhddgep.html