Qt編寫地圖綜合應(yīng)用之繪制雨量分布_第1頁
Qt編寫地圖綜合應(yīng)用之繪制雨量分布_第2頁
Qt編寫地圖綜合應(yīng)用之繪制雨量分布_第3頁
Qt編寫地圖綜合應(yīng)用之繪制雨量分布_第4頁
Qt編寫地圖綜合應(yīng)用之繪制雨量分布_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第Qt編寫地圖綜合應(yīng)用之繪制雨量分布目錄一、前言二、功能特點三、體驗地址四、效果圖五、相關(guān)代碼

一、前言

雨量分布圖是在區(qū)域地圖基礎(chǔ)上,針對區(qū)域中的每個最小單位區(qū)域比如縣城點位不同顏色顯示,最開始做這個封裝的時候,并沒有提供單獨設(shè)置每個點顏色的接口,后面經(jīng)過幾個客戶的強烈建議,咬咬牙把每個點都可以單獨設(shè)置不同顏色的接口加進去,這樣就更加符合實際的需求,比如這個點到了報警階段則紅色顯示,正常階段則綠色顯示,如果沒有設(shè)置過顏色,就取值默認的顏色,全部不設(shè)置顏色則全部取默認的顏色。每個點的顏色值和對應(yīng)點的經(jīng)緯度坐標一樣,隊列集合設(shè)置下去。

二、功能特點

同時支持閃爍點圖、遷徙圖、區(qū)域地圖、世界地圖、儀表盤等。

可以設(shè)置標題、提示信息、背景顏色、文字顏色、線條顏色、區(qū)域顏色等各種顏色。

可設(shè)置城市的名稱、值、經(jīng)緯度集合。

可設(shè)置地圖的放大倍數(shù)、是否允許鼠標滾輪縮放。

內(nèi)置世界地圖、全國地圖、省份地圖、地區(qū)地圖,可以精確到縣,所有地圖全部離線使用。

內(nèi)置了各省市json數(shù)據(jù)文件轉(zhuǎn)js文件功能,如有數(shù)據(jù)更新自行轉(zhuǎn)換即可,支持單個文件轉(zhuǎn)換和一鍵轉(zhuǎn)換所有文件。

內(nèi)置了從json文件或者js文件獲取該區(qū)域的所有名稱和經(jīng)緯度信息集合的功能,可以通過該方法獲取到信息用來顯示。

依賴瀏覽器組件顯示地圖,提供的demo支持webkit/webengine/miniblink/ie多種方式加載網(wǎng)頁。

采用miniblink瀏覽器內(nèi)核打通了Qt5.6及后續(xù)版本+mingw編譯器缺少瀏覽器模塊的遺憾,使得整個項目支持所有Qt版本,親測4.7到6.2等任意版本。

閃爍點遷徙圖等設(shè)置的點支持單獨設(shè)置顏色。

提供接口直接獲取點擊的點相關(guān)信息,方便程序聯(lián)動處理。

拓展性極強,可以依葫蘆畫瓢自行增加各種精美的echarts組件,做出牛逼的效果。

內(nèi)置的儀表盤組件提供交互功能,demo演示中包含了對應(yīng)的代碼。

函數(shù)接口友好和統(tǒng)一,使用簡單方便,就一個類。

支持任意Qt版本、任意系統(tǒng)、任意編譯器。

三、體驗地址

體驗地址:/s/1ZxG-oyUKe286LPMPxOrO2A提取碼:o05q文件名:bin_map.zip

國內(nèi)站點:/feiyangqingyun

國際站點:/feiyangqingyun

四、效果圖

五、相關(guān)代碼

voidfrmEcharts::initMap()

//主動設(shè)置下echart控件的高度

echart-setHeight(ui-widget-height());

QStringListcityName,cityValue,cityPoint,cityColor,cityTip;

cityName"上海""北京""成都""武漢""廈門""廣州";

cityPoint"121.48,31.22""116.46,39.92""104.06,30.67""114.31,30.52""118.1,24.46""113.23,23.16";

echart-setCityName(cityName);

echart-setCityPoint(cityPoint);

echart-setZoom(1.0);

//全國地圖是china世界地圖可以換成world

echart-setMapJsName("china");

echart-setMapAreaName("china");

if(currentText=="閃爍點圖"){

cityValue"250""220""150""180""140""170";

//設(shè)置不同的顏色

cityColor"#00FF00""#FDA356""#EB766E""""#47CAF6""#F9BE4F";

//設(shè)置不同的懸停提示

cityTip"上海=80%""北京=89%""成都=86%""武漢=78%""廈門=65%""廣州=70%";

echart-setCityValue(cityValue);

echart-setCityColor(cityColor);

echart-setCityTip(cityTip);

}elseif(currentText=="遷徙圖"){

cityValue"1""0""0""0""0""0";

//設(shè)置不同的顏色

cityColor"#00FF00""#FDA356""#EB766E""""#47CAF6""#F9BE4F";

//設(shè)置不同的懸停提示

cityTip"上海=80%""北京=89%""成都=86%""武漢=78%""廈門=65%""廣州=70%";

echart-setCityValue(cityValue);

echart-setCityColor(cityColor);

echart-setCityTip(cityTip);

}elseif(currentText=="儀表盤"){

}elseif(currentText=="世界地圖"){

cityName.clear();

cityValue.clear();

cityPoint.clear();

cityColor.clear();

cityTip.clear();

#if0

cityName"美國1""美國2""美國3""英國""德國""荷蘭""澳大利亞""溫州";

cityValue"0""0""0""0""0""0""0""1";

cityPoint"-115.652087,44.677279""-97.990682,32.358956""-119.037189,35.667425"

"-1.742162,52.468150""10.032107,50.633281""5.763934,53.181365"

"134.250655,-23.981496""120.65,28.01";

#else

cityName"北美洲""南美洲""非洲""歐洲""大洋洲""印度""中國";

cityValue"0""0""0""0""0""0""1";

cityPoint"-101.670961,41.103997""-58.842054,-11.895087""22.106051,14.099049"

"15.777381,49.971800""132.637011,-25.596128""78.475369,22.934290"

"113.651000,39.526776";

#endif

for(inti=0;icityName.count();i++){

cityColor"";

cityTipQString("銷售額占比:%1=%2%").arg(cityName.at(i)).arg(rand()%100);

echart-setCityName(cityName);

echart-setCityValue(cityValue);

echart-setCityPoint(cityPoint);

echart-setCityColor(cityColor);

echart-setCityTip(cityTip);

echart-setMapJsName("world");

echart-setMapAreaName("world");

}elseif(currentText=="區(qū)域地圖"){

cityName.clear();

cityValue.clear();

cityPoint.clear();

cityColor.clear();

cityTip.clear();

QStringdirName=ui-cboxDir-currentText();

QStringareaName=ui-cboxJson-currentText();

QStringjsName=dirName+"/"+areaName;

#if1

//根據(jù)文件獲取名稱+經(jīng)緯度集合

//QStringjsonFile=QString("%1/areajson/%2/%3.json").arg(ConfigPath).arg(dirName).arg(areaName);

//QStringListinfos=EchartJs::getInfoFromJson(jsonFile);

QStringjsFile=QString("%1/areajs/%2/%3.js").arg(ConfigPath).arg(dirName).arg(areaName);

QStringListinfos=EchartJs::getInfoFromJs(jsFile);

foreach(QStringinfo,infos){

QStringListlist=info.split("|");

cityNamelist.at(0);

cityValueQString("%1").arg((rand()%100)+100);

cityPointlist.at(1);

#else

//固定寫死

if(areaName=="上海"){

cityName"浦東新區(qū)""閔行區(qū)""金山區(qū)""奉賢區(qū)""嘉定區(qū)";

cityValue"250""100""200""150""220";

cityPoint"121.567706,31.245944""121.375972,31.111658""121.330736,30.724697""121.458472,30.912345""121.250333,31.383524";

#endif

for(inti=0;icityName.count();i++){

cityColor"";

cityTipQString("%1=%2").arg(cityName.at(i)).arg(cityValue.at(i));

echart-setCityName(cityName);

echart-setCityValue(cityValue);

echart-setCityPoint(cityPoint);

echart-setCityColor(cityColor);

echart-setCityTip(cityTip);

echart-setMapJsName(jsName);

echart-setMapAreaName(areaName);

}elseif(currentText=="雨量分布"){

cityName.clear();

cityValue.clear();

cityPoint.clear();

cityColor.clear();

cityTip.clear();

QStringdirName="江西";

QStringareaName="吉安市";

QStringjsName=dirName+"/"+areaName;

QStringjsFile=QString("%1/areajs/%2/%3.js").arg(ConfigPath).arg(dirName).arg(areaName);

QStringListinfos=EchartJs::getInfoFromJs(jsFile);

foreach(QStringinfo,infos){

QStringListlist=info.split("|");

cityNamelist.at(0);

cityValueQStr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論