Qt編寫地圖實(shí)現(xiàn)省市區(qū)域圖的示例代碼_第1頁
Qt編寫地圖實(shí)現(xiàn)省市區(qū)域圖的示例代碼_第2頁
Qt編寫地圖實(shí)現(xiàn)省市區(qū)域圖的示例代碼_第3頁
Qt編寫地圖實(shí)現(xiàn)省市區(qū)域圖的示例代碼_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

第Qt編寫地圖實(shí)現(xiàn)省市區(qū)域圖的示例代碼同時支持閃爍點(diǎn)圖、遷徙圖、區(qū)域地圖、儀表盤等。

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

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

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

內(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、ie三種方式加載網(wǎng)頁。

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

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

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

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

三、體驗(yàn)地址

體驗(yàn)地址:/s/1Ie1xGLv7tSL-9vfsv28w1Q提取碼:wf4f

文件名:bin_map.zip

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

國際站點(diǎn):/feiyangqingyun

四、效果圖

五、相關(guān)代碼

QStringListEchartJs::getInfoFromData(constQByteArraydata)

//取出對應(yīng)的城市名稱和經(jīng)緯度

//以下兩種方法測試過解析時間,json大概1S,字符串分割大概5S,json方法更快

QStringListresult;

#if(QT_VERSIONQT_VERSION_CHECK(5,0,0))

//采用qt內(nèi)置的json方法解析

QJsonParseErrorerror;

QJsonDocumentjsonDoc=QJsonDocument::fromJson(data,error);

if(error.error==QJsonParseError::NoError){

QJsonObjectrootObj=jsonDoc.object();

//qDebug()rootObj.keys();

if(rootObj.contains("features")){

QJsonArrayfeatures=rootObj.value("features").toArray();

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

QJsonValuevalue=features.at(i);

QJsonObjectsubObj=value.toObject();

if(subObj.contains("properties")){

QJsonObjectnodeObj=subObj.value("properties").toObject();

QStringListlist;

QJsonArrayarray=nodeObj.value("cp").toArray();

for(intk=0;karray.count();k++){

listQString::number(array.at(k).toDouble());

QStringname=nodeObj.value("name").toString();

QStringcp=list.join(",");

resultQString("%1|%2").arg(name).arg(cp);

#else

//采用字符串分割方法解析

QStringtemp=data;

temp=temp.mid(0,temp.length()-24);

QStringflag="properties";

intlen=temp.length();

for(inti=0;ilen;i++){

QStringstr=temp.mid(i,10);

if(str==flag){

str=temp.mid(i,100);

str=str.mid(13,str.indexOf("},")-13);

str=str.replace("}","");

//到這步數(shù)據(jù)已經(jīng)變成"cp":[121.490317,31.222771],"name":"黃浦區(qū)","childNum":1

//cpname的順序可能不一樣,所以需要分割字符串重新判斷

QStringname,cp;

QStringListlist=str.split(",");

foreach(QStrings,list){

if(s.startsWith("\"cp\"")){

cp=s.mid(6,s.length());

}elseif(s.startsWith("\"name\"")){

name=s.mid(8,s.length());

name=name.replace("\"","");

}elseif(s.startsWith("\"childNum\"")){

}else{

//經(jīng)緯度會拆分成兩部分,一部分在這里31.222771]

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論