本站小編為你精心準(zhǔn)備了百度地圖在衡器行業(yè)的應(yīng)用參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
[摘要]隨著“物聯(lián)網(wǎng)”的概念深入各行各業(yè),其重要的分支領(lǐng)域———“位置應(yīng)用”也在不斷發(fā)展。在衡器行業(yè)中,以稱重傳感器+稱重儀表+GPS+GPRS+電子地圖為主要組成部件的物聯(lián)網(wǎng)解決方案,已經(jīng)成功的應(yīng)用在稱重計量領(lǐng)域中。此文主要針對“百度地圖”,介紹了其在衡器物聯(lián)網(wǎng)中的一個典型應(yīng)用案例。可為類似的物聯(lián)網(wǎng)方案提供參考。
[關(guān)鍵詞]百度地圖;WebAPI;javascriptC++
隨著信息化社會的發(fā)展,“位置應(yīng)用”已深入到人類生活的方方面面,應(yīng)用場景包括手機導(dǎo)航、社交網(wǎng)絡(luò)、車載導(dǎo)航、老年人關(guān)愛、應(yīng)急救援、交通路線規(guī)劃、醫(yī)療定位、物流監(jiān)控等。在衡器行業(yè)中也不例外。作者曾參與了一個“建筑環(huán)保砂漿”項目,其中就涉及到了“稱重計量”和“位置應(yīng)用”———兩者結(jié)合的需求。有了位置信息(即地理坐標(biāo))后,就需要有電子地圖,來直觀呈現(xiàn)遠程設(shè)備的狀態(tài)。“百度地圖”是眾多電子地圖中的一員。它穩(wěn)定可靠、開發(fā)文檔齊全,并免費向用戶提供二次開發(fā)API接口。本文將針對“環(huán)保砂漿的稱重計量”與“百度地圖”二者結(jié)合應(yīng)用的方案展開描述。
一、砂漿計量系統(tǒng)的組成
“砂漿站”向“工地”供應(yīng)“砂漿”(新型環(huán)保砂漿),“工地”根據(jù)施工進度,對供應(yīng)量(主要參考重量)進行控制。為了達到“環(huán)保”的目的,施工現(xiàn)場嚴(yán)禁露天堆放物料。環(huán)保砂漿使用前,以干粉形式儲存(所以也叫“干粉砂漿”),現(xiàn)場有專用的儲料罐。待到使用時,現(xiàn)場攪拌,用多少攪拌多少。攪拌設(shè)備和計量設(shè)備配合工作,完成砂漿的配制過程。系統(tǒng)由兩部分組成:一是攪拌電氣控制部分;二是稱重計量部分。兩者獨立工作,“計量部分”為“攪拌控制部分”提供重量參考。砂漿配置過程由人工操作電氣設(shè)備完成。計量部分涉及到“位置應(yīng)用”。各部件分工如下:稱重傳感器負(fù)責(zé)重量數(shù)據(jù)采集(每個罐4只20t傳感器),GPS負(fù)責(zé)坐標(biāo)信息采集,稱重儀表顯示重量,并將重量和位置信息通過GPRS傳送到遠程數(shù)據(jù)服務(wù)器端。用戶打開客戶端軟件,客戶端軟件將從服務(wù)器讀取重量和位置信息,在“百度地圖”上顯示覆蓋物(即砂漿罐圖標(biāo))。用戶可以直觀的看到砂漿罐的地理位置和罐內(nèi)儲料的當(dāng)前余量,為后續(xù)砂漿運輸提供調(diào)度依據(jù)。“砂漿站”不用派人時刻駐守現(xiàn)場,節(jié)省人力資源,提高管理效率。
二、GPS坐標(biāo)格式及轉(zhuǎn)換
(1)GPS通信數(shù)據(jù)具有一定的格式,坐標(biāo)數(shù)值需要經(jīng)過處理,才能被“百度地圖”API接口使用。如:GPS原始經(jīng)度11413.13562,緯度2955.83360,格式為:hhmm.mmmmm(h是‘度’,m是‘分’)。轉(zhuǎn)換成地理坐標(biāo)后,經(jīng)度為114+13.13562/60,緯度為29+55.83360/60。然后調(diào)用“百度地圖”API接口轉(zhuǎn)換成百度DB09Ⅱ坐標(biāo)類型。(2)GPS坐標(biāo)為什么要轉(zhuǎn)換?因為GPS原始坐標(biāo)為WGS84坐標(biāo)系,不能直接用于“百度地圖”。“百度地圖”采用的是BD09Ⅱ坐標(biāo)系。要在“百度地圖”上顯示GPS設(shè)備的正確位置怎么辦呢?“百度地圖”提供了WebAPI進行轉(zhuǎn)換,你的密鑰說明:coords為坐標(biāo)的經(jīng)度、緯度;form為轉(zhuǎn)換前的坐標(biāo)類型,1為WGS84坐標(biāo)系;to為轉(zhuǎn)換后的坐標(biāo)類型,5為BD09Ⅱ(百度經(jīng)、緯度坐標(biāo));ak為密鑰,開發(fā)者在使用“百度地圖”前,先要申請開發(fā)者密鑰。
三、“百度地圖”常用的Javascript函數(shù)介紹
要完成“百度地圖”的二次開發(fā),需要調(diào)用一些常用的地圖控制JavascriptAPI。
四、地圖的顯示
有了地圖API函數(shù),如何才能將地圖顯示在我們的軟件里呢?如,將地圖顯示在一個Windows窗口上。因為“百度地圖”本身是Web形式的,即B/S模式的。而我們的軟件是在Windows桌面上運行的,即是C/S模式的。所以,首要解決的問題是:如何將B/S模式轉(zhuǎn)換為C/S模式,即在Windows窗口上顯示web頁面。至于是用C/S模式好,還是用B/S模式好?這個問題不是本文討論的重點。筆者只是根據(jù)自己擅長的技術(shù)選擇C/S模式。作者的解決方法是:“IE瀏覽器控件”+“HTML頁面”的方案。C++Builder的IE瀏覽器控件名是CppWebBrowser,VC++中的IE瀏覽器控件名是MicrosoftWebBrowser。他們都封裝了IE內(nèi)核,可以快速開發(fā)出屬于自己的專用瀏覽器(如:360雙核瀏覽器,其中有一個核即為IE內(nèi)核),并可將Web頁面嵌入到Windows窗口中。在瀏覽器控件中,如何控制地圖并響應(yīng)Web頁面上的鼠標(biāo)事件呢?實際上Windows同時提供了瀏覽器控件的交互COM接口,包含在#include<mshtml.h>頭文件中(可參考COM/COM+編程原理)。在開發(fā)中有一個特別重要的功能需求:即要能在C++中調(diào)用Javascript代碼,讓IE控件中的頁面產(chǎn)生動作。如:改變地圖中心、刪除/添加地圖覆蓋物、更新信息提示等。因為微軟提供了標(biāo)準(zhǔn)COM交互接口,所以Windows平臺上的開發(fā)工具,調(diào)用方法都類似。HTML文件是一個普通的Web頁面文件,中間嵌入“百度地圖”容器,并包含了控制地圖的Javascript函數(shù)。在桌面軟件中,利用RunJS函數(shù)可以調(diào)用這些Javascript代碼。Javascript代碼和IE內(nèi)核交互,控制頁面內(nèi)容。HTML文件的具體格式可以參考“百度地圖”開發(fā)文檔。在HTML文件中,須包含這樣一行語句:包含了這行代碼后,才能調(diào)用“百度地圖”的API接口函數(shù)。HTML文件可以放在服務(wù)器端,也可以放在客戶端。如果放在服務(wù)器端,服務(wù)器上要安裝“Web服務(wù)器”軟件。如:IIS、Apache等,其中的一種。
五、“百度地圖”在砂漿稱重系統(tǒng)中的應(yīng)用
作者在“建筑環(huán)保砂漿”項目中,使用了“百度地圖”。在任意一臺能連上Internet網(wǎng)絡(luò)的電腦上,打開專用的客戶端軟件,軟件就能接收服務(wù)器的數(shù)據(jù),并在地圖上顯示出各個工地的所有砂漿罐的“當(dāng)前位置”和“實時重量”信息。要用好“百度地圖”,除了掌握C++編程技術(shù)外,還需要了解和掌握多種前端和后端的編程技術(shù),如:HTML標(biāo)記語言、Javascript腳本語言、Web服務(wù)器架設(shè)、客戶端和服務(wù)器端的Socket通信、瀏覽器控件的COM交互接口、“百度地圖”的API功能函數(shù)、內(nèi)存數(shù)據(jù)庫等。文中已經(jīng)介紹了基本的調(diào)用流程和關(guān)鍵的知識點。作者在“建筑環(huán)保砂漿”項目中——稱重計量部分,使用了“百度地圖”。經(jīng)實踐檢驗,達到了預(yù)期的效果。“百度地圖”雖然是免費的,但也有一些限制。如:API接口調(diào)用次數(shù)的限制。普通API接口:每個IP每天調(diào)用上限2000次;坐標(biāo)逆向轉(zhuǎn)換API(即GeocodingAPI)調(diào)用次數(shù)為:每個IP每天調(diào)用6000次限制(具體請參考“百度地圖”的相關(guān)政策)。超過使用次數(shù)之后,將返回{"status":302,"message":"天配額超限,限制訪問"}。在“建筑環(huán)保砂漿”項目中,地圖接口API調(diào)用不算頻繁,所以基本是夠用的。如果需要更高頻次的調(diào)用,需要和“百度”公司協(xié)商。本文重點介紹的是“百度地圖”的應(yīng)用。對于其他的電子地圖,開發(fā)過程也基本相同。當(dāng)前市面上,除“百度地圖”外,還有多種商業(yè)電子地圖可供選用。如:國外的谷歌地圖;國內(nèi)的搜狗地圖、高德地圖、騰訊地圖等。他們都提供了二次開發(fā)接口,且大多是免費的。具體選用哪種,要結(jié)合項目的實際需求和“地圖服務(wù)商”的服務(wù)質(zhì)量,綜合考慮。
我想,隨著“物聯(lián)網(wǎng)”(Internetofthings(IoT)的技術(shù)普及,關(guān)于“地理位置”的應(yīng)用,需求也會越來越多。除了PC端的應(yīng)用外,移動端的應(yīng)用也是方興未艾。在衡器行業(yè)中,應(yīng)用也會更加廣泛。目前,國內(nèi)衡器公司中,如:耀華、柯力已經(jīng)推出了成熟的產(chǎn)品和解決方案,起到了行業(yè)“橋頭堡”的作用,其他公司也會極積跟進,加大研發(fā)力度并開拓相關(guān)市場。
參考文獻:
[1]核心編程[M].清華大學(xué)出版社,2008.10.
[2]百度地圖開發(fā)文檔.JavaScriptAPIv2.0[M].開發(fā)指南,2014.10.11.
作者:喻剛 單位:寧波臻譽傳感科技有限公司