溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

制作使用百度map獲得經(jīng)緯度的gem

發(fā)布時間:2020-07-20 02:07:20 來源:網(wǎng)絡 閱讀:619 作者:zhangfortune 欄目:編程語言


最近在做一個定位的應用,首先想到的是Google Map,但是查了一下,Google Map是花錢的,所以改用百度 Map了。完成了以后考慮到以后還會用到,于是乎,把它做成一個gem,方便以后使用。閑話少許,看正文:

A:創(chuàng)建一個文件夾,我叫他map (一下截圖是從mint上用自帶的截圖工具截的,所以不是很清晰,大家可以保存后放大看,也可以下載附件查看)


制作使用百度map獲得經(jīng)緯度的gem


B:在里面創(chuàng)建一個lib文件夾,在lib下創(chuàng)建ruby文件,我叫他map_from_baidu.rb,這個ruby文件將放你的代碼,后面會給大家展示


制作使用百度map獲得經(jīng)緯度的gem



C:回到map文件夾下,創(chuàng)建一個map_from_baidu.gemspec的文件,這個文件放的是這個gem的相關信息。還是那樣,一會給大家演示。


制作使用百度map獲得經(jīng)緯度的gem

D:剛才說道ruby文件里面的代碼,下面將給大家展示:

制作使用百度map獲得經(jīng)緯度的gem

Linux下用的自帶的截圖,所以截了兩次:

制作使用百度map獲得經(jīng)緯度的gem



稍微解釋下代碼,因為服務器要連接百度Map的服務器,所以先是引用net/http’ ,然后MapBaidu這個類里面的info方法中,創(chuàng)建這個鏈接,并填充請求參數(shù)。需要說的是@ak,這是一個相當于密鑰的,確切的說是一個私鑰,因為百度要知道是誰在用地圖。這個是在構(gòu)造函數(shù)中指定的,否則是不能得到百度Map的數(shù)據(jù)的。

E:編寫完ruby文件,接著編寫gemspec文件:

制作使用百度map獲得經(jīng)緯度的gem


這個里面主要是你的一些信息。

F: 編譯你的ruby文件

制作使用百度map獲得經(jīng)緯度的gem

它會返回successfully 。這個時候你會發(fā)現(xiàn)你的map 文件夾下多了一個文件,mapformbaidu-0.0.1.gem

制作使用百度map獲得經(jīng)緯度的gem


G:下面要做的是安裝它,和安裝其他的gem一樣,敲個命令即可搞定


制作使用百度map獲得經(jīng)緯度的gem

安裝完了就可以在本地是用了。


如果你想知道是否安裝了,你可以敲一下 gem query –local 就可以看到了。


H:下一步是測試,在原來的服務器上新建了一個action,例子是以我們學校,河北科技大學新校區(qū)的地址做的測試:


制作使用百度map獲得經(jīng)緯度的gem


這里只是打印出他的一些信息就好了,如果想得到經(jīng)緯度,可以使用它內(nèi)置的方法,也可以直接用json來操組。


然后啟動服務器,訪問這個action,會在控制臺打出信息:

制作使用百度map獲得經(jīng)緯度的gem

好了,完成了。


I:考慮到別人會用,所以可以把它放到gems上去,因為昨天做過了push,但是沒有截圖寫blog。這次是和上次一樣的,雖然push上去了,但是一直沒有找到,大家如果用的話,還是用我上一次做的吧,叫mapbaidu 。好開始push

制作使用百度map獲得經(jīng)緯度的gem


可以看到push成功了,不清楚為什么上次push的能夠找到,這次沒找到。所以還是用昨天做的那個吧。


制作使用百度map獲得經(jīng)緯度的gem


這里沒有做文檔,等有空會補上的。

通過這次自己制作gem ,發(fā)現(xiàn)原來ruby確實是相當漂亮,不單單是語法漂亮,強大的社區(qū)也是ruby 日趨火熱。有興趣的程序員們,可以嘗試下ruby。


附件:http://down.51cto.com/data/2362846
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI