小編給大家分享一下Qt如何實現(xiàn)地址經(jīng)緯度互轉(zhuǎn),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比開原網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式開原網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋開原地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。
地址和經(jīng)緯度互相轉(zhuǎn)換的功能也經(jīng)常用到,比如上次的路線方案查詢的功能,之前官網(wǎng)是提供了直接輸入出發(fā)地點和目的地的中文漢字,就可以查詢到最優(yōu)的路線,后面只支持輸入出發(fā)地點和目的地的經(jīng)緯度坐標了,這個就有點繞了,讓用戶輸入什么經(jīng)緯度坐標,那是個什么鬼?沒有幾個用戶搞得懂的,所以就需要先將用戶輸入的出發(fā)地點和目的地的中文漢字先查詢到對應的經(jīng)緯度坐標,然后再傳入路線查詢的JS函數(shù)中查詢結果即可,為什么突然關閉了這個地址經(jīng)緯度自動轉(zhuǎn)換的功能呢?我去后臺看了下,原來這項功能變成收費模塊了。
地址經(jīng)緯度互換的功能只有在線地圖有,因為需要去服務器查詢對應的數(shù)據(jù),拿到返回的數(shù)據(jù),百度地圖中需要用到BMap.Geocoder來實現(xiàn)這兩個功能的互換,他內(nèi)置了getPoint函數(shù)負責將地址轉(zhuǎn)換為經(jīng)緯度坐標,getLocation函數(shù)負責將經(jīng)緯度坐標轉(zhuǎn)為地址,于是將這兩個功能封裝成JS函數(shù),每次需要的時候直接調(diào)用即可。
同時支持在線地圖和離線地圖兩種模式。
同時支持webkit內(nèi)核、webengine內(nèi)核、IE內(nèi)核。
支持設置多個標注點,信息包括名稱、地址、經(jīng)緯度。
可設置地圖是否可單擊、拖動、鼠標滾輪縮放。
可設置協(xié)議版本、秘鑰、主題樣式、中心坐標、中心城市、地理編碼位置等。
可設置地圖縮放比例和級別,縮略圖、比例尺、路況信息等控件的可見。
支持地圖交互,比如鼠標按下獲取對應位置的經(jīng)緯度。
支持查詢路線,可設置起點位置、終點位置、路線模式、路線方式、路線方案(最少時間、最少換乘、最少步行、不乘地鐵、最短距離、避開高速)。
可顯示點線面工具,可直接在地圖上劃線、點、矩形、圓形等。
可設置行政區(qū)劃,指定某個城市區(qū)域繪制圖層,在線地圖自動輸出行政區(qū)劃邊界點集合到js文件給離線地圖使用。
可靜態(tài)或者動態(tài)添加多個覆蓋物。支持點、折線、多邊形、矩形、圓形、弧線、點聚合等。
函數(shù)接口友好和統(tǒng)一,使用簡單方便,就一個類。
支持js動態(tài)交互添加點、刪除點、清空點、重置點,不需要刷新頁面。
支持任意Qt版本、任意系統(tǒng)、任意編譯器。
void MapBaiDu::addGeocoder(QStringList &list) { //地址解析成坐標+坐標解析成地址 list << QString(" var geo = new BMap.Geocoder();"); list << QString(" function getPointByAddr(addr) {"); list << QString(" geo.getPoint(addr, function(result) {"); list << QString(" if (result) {"); list << QString(" window.%1('geocoder', result.lng + \",\" + result.lat);").arg(callFun); list << QString(" }"); list << QString(" });"); list << QString(" }"); list << QString(" function getAddrByPoint(point) {"); list << QString(" var list = point.split(',');"); list << QString(" var pot = new BMap.Point(list[0], list[1]);"); list << QString(" geo.getLocation(pot, function(result) {"); list << QString(" if (result) {"); list << QString(" window.%1('geocoder', result.address);").arg(callFun); list << QString(" }"); list << QString(" });"); list << QString(" }"); } void frmMapBaiDu::on_btnAddrToPoint_clicked() { QString addr = ui->txtAddr->text().trimmed(); runJs(QString("getPointByAddr('%1')").arg(addr)); } void frmMapBaiDu::on_btnPointToAddr_clicked() { QString point = ui->txtPoint->text().trimmed(); runJs(QString("getAddrByPoint('%1')").arg(point)); }
以上是“Qt如何實現(xiàn)地址經(jīng)緯度互轉(zhuǎn)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站標題:Qt如何實現(xiàn)地址經(jīng)緯度互轉(zhuǎn)
網(wǎng)站路徑:http://jinyejixie.com/article6/ipegog.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、App開發(fā)、營銷型網(wǎng)站建設、用戶體驗、微信公眾號、網(wǎng)頁設計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)