echarts 3D地圖為區(qū)域自定義顏色的解決方法
問(wèn)題
根據(jù)項(xiàng)目需求,我們要將下面省級(jí)地圖中的個(gè)別市進(jìn)行高亮(不同顏色)展示

延伸
首先跟大家介紹這個(gè)地圖的展示方式:
- 采用的是Vue框架中運(yùn)用echarts
- 地圖采用的是geo3D和scatter3D
當(dāng)然他的實(shí)現(xiàn)很簡(jiǎn)單
首先我們要初始化echarts
let echartsMap = this.$echarts.init(this.$refs.echartsMap);
注冊(cè)地圖
this.$echarts.registerMap('河南', dataGeoLocation);
//后面的dataGeoLocation是我們下載下載的地圖json文件然后引入到當(dāng)前
//組件中進(jìn)行使用的,前面的河南則是我們要注冊(cè)的地圖
設(shè)置option對(duì)象
這里面的配置是根據(jù)自己的項(xiàng)目需求而來(lái)的 自己可以看文檔都有詳細(xì)的介紹
this.echartsDataMap = {
visualMap: {
min: 0,
max: 500,
show: false,
inRange: {
color: ['#eac736', '#6EAFE3'].reverse()
},
},
globeRadius: 100,
globeOuterRadius: 100,
geo3D: {
map: mapName,
viewControl: {
center: [0, 0, 0],
alpha: 100,//上下旋轉(zhuǎn)角度
beta: 10,//左右旋轉(zhuǎn)角度
animation: true,//是否動(dòng)畫(huà)顯示
animationDurationUpdate: 1000,//動(dòng)畫(huà)時(shí)間
distance: 130,//視角到主題距離
minBeta: -9999,//最小(左)旋轉(zhuǎn)度數(shù)
maxBeta: 9999,//最多(右)旋轉(zhuǎn)角度
autoRotate: false,
autoRotateDirection: 'cw',
autoRotateSpeed: 10,
},
splitArea:{
areaStyle:{
color:'red',
}
},
light: {
main: {
intensity: 1.2,
// color: 'transparent',
color: '#0D3867',
shadowQuality: 'ultra',
shadow: true,
alpha: 150,
beta: 200
},
ambient: {
intensity: 1,//環(huán)境光強(qiáng)度
},
ambientCubemap: {
diffuseIntensity: 1,
texture: ''
}
},
groundPlane: {
show: false
},
postEffect: {
enable: false
},
itemStyle: {
color: '#175096',
borderColor: 'rgb(62,215,213)',
opacity: 0.8,//透明度
borderWidth: 1
},
label: {
show: false
},
emphasis: {
label: {
show: false
},
itemStyle: {
}
},
silent: false, // 不響應(yīng)和觸發(fā)鼠標(biāo)事件
},
series: [
{
type: 'scatter3D',
coordinateSystem: 'geo3D',
data: this.areaName
symbol: 'circle',
symbolSize: 0,
silent: false, // 不響應(yīng)和觸發(fā)鼠標(biāo)事件
itemStyle: {
borderColor: '#fff',
borderWidth: 1
},
label: {
distance: 30,
show: true,
formatter: '',
position: 'bottom',
bottom: '100',
textStyle: {
color: '#fff',
marginTop: 40,
fontSize: 16,
// fontWeight:'bold',
backgroundColor: 'transparent',
}
}
},
{
type: 'scatter3D',
coordinateSystem: 'geo3D',
data: pinArr,
color: '#6EAFE3',
symbol: 'pin',
symbolSize: 56,
symbolOffset: ['100%','50%','0'],
silent: false, // 不響應(yīng)和觸發(fā)鼠標(biāo)事件
itemStyle: {
textAlign: 'center',
borderColor: '#6EAFE3',
backgroundColor: '#6EAFE3',
borderWidth: 0
},
zlevel: -10,
label: {
show: true,
distance: -45,
// left:-10,
position: 'bottom',
formatter: (data) => {
return data.value[3] + ' ';
},
textStyle: {
color: '#333',
backgroundColor: 'transparent'
}
}
},
]
};
將option實(shí)例到我們的echarts上
echartsMap.setOption(this.echartsDataMap);
解決問(wèn)題
回頭我們來(lái)看文章開(kāi)頭的問(wèn)題,在百度上找到了很多方式,經(jīng)過(guò)嘗試好像沒(méi)有什么效果,其實(shí)能夠解決我也是根據(jù)網(wǎng)上提供的辦法進(jìn)行改進(jìn)后就實(shí)現(xiàn)了


這是我在眾多方式中找到的比較靠譜的一種方式,這里他說(shuō)的是再geo中去添加regions即可,其實(shí)是這樣的 但是我添加后沒(méi)有效果,原因就是我的是geo3D而他的是geo,但是問(wèn)題不大,經(jīng)過(guò)我在三的嘗試最終發(fā)現(xiàn)原來(lái)他們兩個(gè)中僅僅是寫(xiě)法不一樣
regions: [
{
name: '鄭州市', /
itemStyle: {
color: 'green'
}
},{
name: '南陽(yáng)市',
itemStyle: {
color: 'green'
}
},{
name: '商丘市',
itemStyle: {
color: 'green'
}
}]
我們只需要更正一下color的設(shè)置形式然后添加到我們的geo3D中就可以了

總結(jié)
到此這篇關(guān)于echarts 3D地圖為區(qū)域自定義顏色的文章就介紹到這了,更多相關(guān)echarts 3D地圖自定義顏色內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS+CSS實(shí)現(xiàn)彈出全屏灰黑色透明遮罩效果的方法
這篇文章主要介紹了JS+CSS實(shí)現(xiàn)彈出全屏灰黑色透明遮罩效果的方法,詳細(xì)分析了彈出遮罩層效果的實(shí)現(xiàn)方法以及完整的實(shí)例代碼,需要的朋友可以參考下2014-12-12
淺談js中的延遲執(zhí)行和定時(shí)執(zhí)行
下面小編就為大家?guī)?lái)一篇淺談js中的延遲執(zhí)行和定時(shí)執(zhí)行。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
原生JavaScript實(shí)現(xiàn)合并多個(gè)數(shù)組示例
這篇文章主要介紹了原生的JavaScript及jquery實(shí)現(xiàn)合并多個(gè)數(shù)組,很簡(jiǎn)單,很實(shí)用,大家可以看看2014-09-09
JS使用 cryptojs加密解密(對(duì)稱加密庫(kù))的問(wèn)題
js 加密解密可以使用 crypto-js,這是一個(gè)對(duì)稱加密的庫(kù), 可以使用 AES DES 但沒(méi)有 rsa 等非對(duì)稱加密的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2023-11-11
MVVM框架下實(shí)現(xiàn)分頁(yè)功能示例
分頁(yè)這種組件,幾乎每一種框架都有這樣的組件,這篇文章主要介紹了MVVM框架下實(shí)現(xiàn)分頁(yè)功能示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
JavaScript實(shí)現(xiàn)職責(zé)鏈模式概述
這篇文章主要介紹了JavaScript實(shí)現(xiàn)職責(zé)鏈模式概述,詳細(xì)的介紹了什么是職責(zé)鏈模式和實(shí)現(xiàn)方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
php實(shí)例分享之實(shí)現(xiàn)顯示網(wǎng)站運(yùn)行時(shí)間
這篇文章主要介紹了php實(shí)現(xiàn)顯示網(wǎng)站運(yùn)行時(shí)間,需要的朋友可以參考下2014-05-05

