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腳本文件的初始化編碼

主站蜘蛛池模板: www.91在线播放| 熟妇丰满人妻| h视频在线观看网站| 欧美日韩成人| 国产69精品久久久久孕妇大杂乱| 国产日韩丝袜一二三区| 国产爽爽视频| 亚洲无线国产观看| 亚洲无码精品在线播放| 播五月综合| 国产激情无码一区二区APP| 直接黄91麻豆网站| 伊人精品视频免费在线| 国产成人亚洲无码淙合青草| 国产网站黄| 毛片一级在线| 99精品热视频这里只有精品7 | 国产AV毛片| 久久免费成人| 亚洲人成成无码网WWW| 国产精品人成在线播放| 国产乱人免费视频| 免费午夜无码18禁无码影院| 黄色片中文字幕| 亚洲综合九九| 国产91特黄特色A级毛片| 蜜桃视频一区二区| 亚洲av无码牛牛影视在线二区| 91丨九色丨首页在线播放| 99视频有精品视频免费观看| 日韩精品成人在线| 尤物精品视频一区二区三区| 成人亚洲国产| 亚洲91精品视频| 在线观看精品自拍视频| 麻豆国产精品一二三在线观看| 成人第一页| AV不卡在线永久免费观看| 国产浮力第一页永久地址 | 色首页AV在线| 国产Av无码精品色午夜| 国产激情无码一区二区APP| 亚洲人成网站在线播放2019| 精品国产免费第一区二区三区日韩| 亚洲an第二区国产精品| 成人无码区免费视频网站蜜臀| 亚洲午夜国产片在线观看| 欧美一级黄片一区2区| 色噜噜久久| 第一页亚洲| 精品无码国产一区二区三区AV| 国产真实乱人视频| 91青青草视频| 久久人妻xunleige无码| 久久精品最新免费国产成人| 久久国产精品麻豆系列| 精品国产电影久久九九| 浮力影院国产第一页| 又猛又黄又爽无遮挡的视频网站| 无遮挡国产高潮视频免费观看 | 国产区在线看| 亚洲成人精品在线| 亚洲水蜜桃久久综合网站| 亚洲精品少妇熟女| 亚洲天堂777| 亚洲精品图区| 亚洲午夜国产精品无卡| 亚洲婷婷在线视频| 免费一级成人毛片| 国内精品伊人久久久久7777人 | 99久视频| 伊人久久综在合线亚洲2019| 亚洲系列无码专区偷窥无码| 国产三级国产精品国产普男人| 伊人久久大香线蕉成人综合网| av无码久久精品| 呦系列视频一区二区三区| 中文字幕亚洲综久久2021| 国产三级视频网站| 天天色综网| 成人在线视频一区| 免费观看三级毛片|