最近在做一個定位的應用,首先想到的是Google Map,但是查了一下,Google Map是花錢的,所以改用百度 Map了。完成了以后考慮到以后還會用到,于是乎,把它做成一個gem,方便以后使用。閑話少許,看正文:
創新互聯公司于2013年創立,先為云夢等服務建站,云夢等地企業,進行企業商務咨詢服務。為云夢企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。A:創建一個文件夾,我叫他map (一下截圖是從mint上用自帶的截圖工具截的,所以不是很清晰,大家可以保存后放大看,也可以下載附件查看)
B:在里面創建一個lib文件夾,在lib下創建ruby文件,我叫他map_from_baidu.rb,這個ruby文件將放你的代碼,后面會給大家展示
C:回到map文件夾下,創建一個map_from_baidu.gemspec的文件,這個文件放的是這個gem的相關信息。還是那樣,一會給大家演示。
D:剛才說道ruby文件里面的代碼,下面將給大家展示:
在Linux下用的自帶的截圖,所以截了兩次:
稍微解釋下代碼,因為服務器要連接百度Map的服務器,所以先是引用‘net/http’ ,然后MapBaidu這個類里面的info方法中,創建這個鏈接,并填充請求參數。需要說的是@ak,這是一個相當于密鑰的,確切的說是一個私鑰,因為百度要知道是誰在用地圖。這個是在構造函數中指定的,否則是不能得到百度Map的數據的。
E:編寫完ruby文件,接著編寫gemspec文件:
這個里面主要是你的一些信息。
F: 編譯你的ruby文件
它會返回successfully 。這個時候你會發現你的map 文件夾下多了一個文件,mapformbaidu-0.0.1.gem
G:下面要做的是安裝它,和安裝其他的gem一樣,敲個命令即可搞定
安裝完了就可以在本地是用了。
如果你想知道是否安裝了,你可以敲一下 gem query –local 就可以看到了。
H:下一步是測試,在原來的服務器上新建了一個action,例子是以我們學校,河北科技大學新校區的地址做的測試:
這里只是打印出他的一些信息就好了,如果想得到經緯度,可以使用它內置的方法,也可以直接用json來操組。
然后啟動服務器,訪問這個action,會在控制臺打出信息:
好了,完成了。
I:考慮到別人會用,所以可以把它放到gems上去,因為昨天做過了push,但是沒有截圖寫blog。這次是和上次一樣的,雖然push上去了,但是一直沒有找到,大家如果用的話,還是用我上一次做的吧,叫mapbaidu 。好開始push :
可以看到push成功了,不清楚為什么上次push的能夠找到,這次沒找到。所以還是用昨天做的那個吧。
這里沒有做文檔,等有空會補上的。
通過這次自己制作gem ,發現原來ruby確實是相當漂亮,不單單是語法漂亮,強大的社區也是ruby 日趨火熱。有興趣的程序員們,可以嘗試下ruby。
附件:http://down.51cto.com/data/2362846另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章題目:制作使用百度map獲得經緯度的gem-創新互聯
本文路徑:http://vcdvsql.cn/article10/cdihgo.html
成都網站建設公司_創新互聯,為您提供企業網站制作、商城網站、手機網站建設、App開發、響應式網站、微信公眾號
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯