Qt編寫地圖綜合應用之如何繪制覆蓋物折線

蝸牛 互聯網技術資訊 2021-12-25 126 0

這篇文章給大家分享的是有關Qt編寫地圖綜合應用之如何繪制覆蓋物折線的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

一、前言

折線圖目前應用最廣的也是用來繪制各種軌跡,折線圖其實就是后面動態軌跡圖、飛機航線圖的前身,公用的一個方法addPolyline,折線圖可以設置顏色、粗細、透明度等屬性,如果開啟了懸浮繪圖工具欄,也可以直接單擊工具欄中的折線圖繪制工具,直接動態繪制。

二、功能特點

同時支持在線地圖和離線地圖兩種模式。

同時支持webkit內核、webengine內核、miniblink內核、IE內核。

支持設置多個標注點,信息包括名稱、地址、經緯度。

可設置地圖是否可單擊、拖動、鼠標滾輪縮放。

可設置協議版本、秘鑰、主題樣式、中心坐標、中心城市、地理編碼位置等。

可設置地圖縮放比例和級別,縮略圖、比例尺、路況信息等控件的可見。

支持地圖交互,比如鼠標按下獲取對應位置的經緯度。

支持查詢路線,可設置起點位置、終點位置、路線模式、路線方式、路線方案(最少時間、最少換乘、最少步行、不乘地鐵、最短距離、避開高速)。

可顯示點線面工具,可直接在地圖上劃線、點、矩形、圓形等。

可設置行政區劃,指定某個城市區域繪制圖層,在線地圖自動輸出行政區劃邊界點集合到js文件給離線地圖使用。

可靜態或者動態添加多個覆蓋物。支持點、折線、多邊形、矩形、圓形、弧線、點聚合等。

提供函數接口處理經緯度解析成地址和地址解析成經緯度坐標。

提供的demo直接可以單獨選點執行對應的處理比如路線查詢。

可以拿到路線查詢到的點坐標信息集合,比如用于機器人坐標導航等。

封裝了豐富的函數比如刪除指定點和所有點,刪除指定覆蓋物和所有覆蓋物等。

標注點彈框信息可以自定義內容,標準html格式。

標注點單擊事件可選 0-不處理 1-自己彈框 2-發送信號。

標注點可設置動畫效果 0-不處理 1-跳動 2-墜落

標注點可設置本地圖片文件等。

函數接口友好和統一,使用簡單方便,就一個類。

支持js動態交互添加點、刪除點、清空點、重置點,不需要刷新頁面。

支持任意Qt版本、任意系統、任意編譯器。

三、效果圖

Qt編寫地圖綜合應用之如何繪制覆蓋物折線  qt 第1張

四、相關代碼?

void?MapBaiDu::addPolyline(QStringList?&list)
{
????//動態添加折線
????list?<<?QString("??function?addPolyline(points,?color,?weight,?opacity)?{");
????list?<<?QString("????var?pts?=?getPoints(points);");
????list?<<?QString("????var?property?=?getProperty(color,?weight,?opacity);");
????list?<<?QString("????var?polyline?=?new?%1.Polyline(pts,?property);").arg(mapFlag);
????list?<<?QString("????map.addOverlay(polyline);");
????list?<<?QString("??}");
}

void?frmMapBaiDu::on_btnDrawRoute_clicked()
{
????if?(routeDatas.count()?==?0)?{
????????QUIHelper::showMessageBoxError("請先單擊查詢路線獲取路線的坐標點集合!");
????????return;
????}

????//清空之前的軌跡點
????runJs("deleteOverlay('Polyline')");

????//將收到的路徑點集合分線段繪制
????foreach?(QStringList?data,?routeDatas)?{
????????QString?points?=?data.join("|");
????????QString?js?=?QString("addPolyline('%1',?'#ff0000')").arg(points);
????????runJs(js);
????}
}

感謝各位的閱讀!關于“Qt編寫地圖綜合應用之如何繪制覆蓋物折線”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:niceseo99@gmail.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

評論

日本韩欧美一级A片在线观看