温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

制作使用百度map获得经纬度的gem

发布时间:2020-07-20 02:07:20 来源:网络 阅读:619 作者:zhangfortune 栏目:编程语言


最近在做一个定位的应用,首先想到的是Google Map,但是查了一下,Google Map是花钱的,所以改用百度 Map了。完成了以后考虑到以后还会用到,于是乎,把它做成一个gem,方便以后使用。闲话少许,看正文:

A:创建一个文件夹,我叫他map (一下截图是从mint上用自带的截图工具截的,所以不是很清晰,大家可以保存后放大看,也可以下载附件查看)


制作使用百度map获得经纬度的gem


B:在里面创建一个lib文件夹,在lib下创建ruby文件,我叫他map_from_baidu.rb,这个ruby文件将放你的代码,后面会给大家展示


制作使用百度map获得经纬度的gem



C:回到map文件夹下,创建一个map_from_baidu.gemspec的文件,这个文件放的是这个gem的相关信息。还是那样,一会给大家演示。


制作使用百度map获得经纬度的gem

D:刚才说道ruby文件里面的代码,下面将给大家展示:

制作使用百度map获得经纬度的gem

Linux下用的自带的截图,所以截了两次:

制作使用百度map获得经纬度的gem



稍微解释下代码,因为服务器要连接百度Map的服务器,所以先是引用net/http’ ,然后MapBaidu这个类里面的info方法中,创建这个链接,并填充请求参数。需要说的是@ak,这是一个相当于密钥的,确切的说是一个私钥,因为百度要知道是谁在用地图。这个是在构造函数中指定的,否则是不能得到百度Map的数据的。

E:编写完ruby文件,接着编写gemspec文件:

制作使用百度map获得经纬度的gem


这个里面主要是你的一些信息。

F: 编译你的ruby文件

制作使用百度map获得经纬度的gem

它会返回successfully 。这个时候你会发现你的map 文件夹下多了一个文件,mapformbaidu-0.0.1.gem

制作使用百度map获得经纬度的gem


G:下面要做的是安装它,和安装其他的gem一样,敲个命令即可搞定


制作使用百度map获得经纬度的gem

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


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


H:下一步是测试,在原来的服务器上新建了一个action,例子是以我们学校,河北科技大学新校区的地址做的测试:


制作使用百度map获得经纬度的gem


这里只是打印出他的一些信息就好了,如果想得到经纬度,可以使用它内置的方法,也可以直接用json来操组。


然后启动服务器,访问这个action,会在控制台打出信息:

制作使用百度map获得经纬度的gem

好了,完成了。


I:考虑到别人会用,所以可以把它放到gems上去,因为昨天做过了push,但是没有截图写blog。这次是和上次一样的,虽然push上去了,但是一直没有找到,大家如果用的话,还是用我上一次做的吧,叫mapbaidu 。好开始push

制作使用百度map获得经纬度的gem


可以看到push成功了,不清楚为什么上次push的能够找到,这次没找到。所以还是用昨天做的那个吧。


制作使用百度map获得经纬度的gem


这里没有做文档,等有空会补上的。

通过这次自己制作gem ,发现原来ruby确实是相当漂亮,不单单是语法漂亮,强大的社区也是ruby 日趋火热。有兴趣的程序员们,可以尝试下ruby


附件:http://down.51cto.com/data/2362846
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI