999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

QT+Leaflet調用電子地圖的實現方法

2020-09-16 06:43:43李恩寧楊雙董曉寧梁山清葛紅志
計算機與網絡 2020年14期

李恩寧 楊雙 董曉寧 梁山清 葛紅志

摘要:在人防、公共安全及應急救援等領域,客戶的系統平臺對于電子地圖的使用要求是不能聯網,致使單機版電子地圖開發出現實現方法復雜、成本高等問題。在深入分析QT使用自帶的QGIS類庫和QT調用MapInfo插件的基礎上,總結出一種簡便、可復用和免費的實現方法。通過QT4.8圖形化開發工具實現了電子地圖軟件系統具有的所有基本功能,包括地圖加載、縮放、漫游及標記顯示等,為今后做進一步研究奠定了基礎。

關鍵詞:QT;Leaflet;電子地圖;單機版

中圖分類號:TP18文獻標志碼:A文章編號:1008-1739(2020)14-58-4

0引言

近年來,地理信息系統[1-2]的應用日趨廣泛,可以通過各種途徑接觸到電子地圖[3-5],例如Google地圖、Google Earth及百度地圖等網頁形式的電子地圖。人防、公共安全、應急救援等多個領域的系統平臺建設對電子地圖的需求越來越多,而往往這些領域不能聯網,需要單機運行。

目前市面上的超圖等地圖廠家,對于PC端電子地圖的開發都是需要付費的,用戶需要花大量費用購買一套地圖開發庫及地圖數據,這對于客戶來說,是一筆不小的開銷。

在探究各種電子地圖實現方法的基礎上,提出使用QT[6]結合Leaflet實現PC端單機版電子地圖的開發,主要包括地圖的基本操作[7-8],如放大、縮小及平移等,地圖顯示目標位置及地圖標注等功能,能夠滿足用戶對于地圖開發的常用功能需求。

1 Leaflet

Leaflet[9-11]是一個為建設移動設備友好的互動地圖,而開發的開源的JavaScript庫,是由Vladimir Agafonkin帶領一個專業貢獻者團隊開發的,雖然代碼僅有33 KB,但它具有開發在線地圖的大部分功能。

Leaflet設計堅持簡便、高性能和可用性好的理念,在所有主要桌面和移動平臺能高效運作。在現代瀏覽器上會利用HTML5和CSS3的優勢,同時也支持舊的瀏覽器訪問,支持插件擴展,有一個友好、易于使用的API文檔和一個簡單的、可讀的源代碼,是開源輕量級的JavaScript地圖庫,支持WMS、WFS、PostGIS等多源空間數據格式,具有跨平臺、易拓展及兼容性好等優勢。

2 QT

QT[12]是1991年由QT Company開發的跨平臺C++圖形用戶界面應用程序開發框架,既可用于開發GUI程序,也可用于開發非GUI程序,比如控制臺工具和服務器。QT是面向對象的框架,使用特殊的代碼生成擴展以及一些宏,提供了一個完整的GUI程序解決方案及上百個功能強大的窗口部件,支持可視化開發,并且易于使用,生成的代碼簡潔而優雅。

QGIS是開源的桌面地理信息系統軟件,是基于QT平臺使用C++開發出來的GIS軟件,主要特點是支持多種GIS數據文件格式、集成或支持其他開源GIS。GRASS、PostGIS和MapServer支持從WMS和WFS服務器獲取數據及通過插件支持功能擴展。QGIS的優點是開源、免費、輕巧、跨平臺及支持多種數據格式與插件庫,缺點是功能弱小、穩定性差。

QGIS+QT進行二次開發,環境的搭建非常復雜,需要到官網下載QGIS源碼進行編譯,下載過程漫長,并且會下載很多依賴的庫,特別耗時,對于項目周期短、項目任務緊急的情況,顯然這種技術方式不可取,即使下載下來,使用過程中還會有問題。

MapInfo[13-15]是個功能強大、操作簡便的桌面地圖信息系統,具有圖形的輸入與編輯、圖形的查詢與顯示、數據庫操作、空間分析和圖形的輸出等基本操作。不僅是一個可獨立運行的軟件系統,還可通過ActiveX組件方式集成到用戶程序中,為用戶程序提供電子地圖顯示和編輯功能。MapInfo的聯機幫助只提到了如何使用VB/VC++集成MapInfo,并沒有介紹QT中的使用方法。而且MapInfo的地圖格式是MIF,雖然網上能夠下載到,但是不全,而且不能保證是最新的,要得到最新的地圖數據需要花錢購買。

3 QT+Leaflet開發設計

3.1環境搭建

第1步:從QT官網下載并安裝qt-opensource-windowsx86-5.9.6.exe。在安裝過程中,選擇安裝組件時,要選msvc2015 32-bit/msvc2015 64-bit;

第2步:下載Visual Studio 2015,并按照過程逐步安裝;

第3步:從Leaflet官網下載最新的庫;

第4步:運行QT,自動檢測出來的構建套件為msvc2015-32bit,如果不是,則配置,如圖1所示。

3.2設計實現

3.2.1 QT初始化編碼實現

主要代碼流程如下:

①在.pro文件中,加入webengine類:QT+=webengine;

②工程代碼中編寫與LeafletMenu.html通信類bridge,并在bridge.h中定義與LeafletMenu.html交互的信號和槽函數。

3.2.2 LeafletMenu.html腳本文件的初始化編碼

主站蜘蛛池模板: 白浆免费视频国产精品视频| 亚洲国产综合精品一区| 欧美一区二区福利视频| 国产高清不卡视频| 日韩av在线直播| 亚洲成人网在线播放| 欧美亚洲网| 黄色在线不卡| 久久精品aⅴ无码中文字幕 | 国产成人高清在线精品| 一级香蕉人体视频| 青青草原国产av福利网站| 老色鬼久久亚洲AV综合| 国产一在线观看| AV在线天堂进入| 自慰网址在线观看| 51国产偷自视频区视频手机观看| 丁香五月婷婷激情基地| 欧美国产日韩另类| 国产高清在线观看91精品| 亚洲欧美精品日韩欧美| 91久久天天躁狠狠躁夜夜| 九色最新网址| 国产精品19p| 亚洲精品无码久久毛片波多野吉| 欧美成人区| 久久香蕉国产线看观看式| 国产色网站| 99热线精品大全在线观看| 乱系列中文字幕在线视频| 亚洲日本中文字幕天堂网| 视频一区视频二区日韩专区| 国产在线小视频| 国产污视频在线观看| 免费一级全黄少妇性色生活片| 一本视频精品中文字幕| 免费国产在线精品一区| 国产新AV天堂| 女人18一级毛片免费观看| 香蕉伊思人视频| 色综合五月| 国产成人精品2021欧美日韩| 91精品综合| 在线观看精品国产入口| 91精品国产自产91精品资源| 久久婷婷国产综合尤物精品| 久久免费视频6| 制服丝袜一区二区三区在线| 成人国产精品2021| 日韩中文字幕亚洲无线码| 一级爆乳无码av| 一本综合久久| 欧美色丁香| 久久精品免费看一| 欧美精品啪啪| 在线免费不卡视频| 国产乱人伦精品一区二区| 亚洲精品无码在线播放网站| 极品国产一区二区三区| 在线观看av永久| 天堂成人在线视频| 国产综合在线观看视频| 亚洲第一av网站| www欧美在线观看| 色色中文字幕| 久久综合亚洲色一区二区三区| 国产呦视频免费视频在线观看| 波多野结衣一二三| 波多野结衣第一页| 国产二级毛片| 日韩国产一区二区三区无码| 亚洲三级视频在线观看| 67194在线午夜亚洲| 亚洲人在线| 1769国产精品视频免费观看| 99热精品久久| 欧美影院久久| 无码福利日韩神码福利片| 欧美啪啪精品| 国产欧美高清| 国产原创第一页在线观看| 亚洲欧美成人综合|