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

最近在做一个定位的应用,首先想到的是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

文章名称:制作使用百度map获得经纬度的gem
URL网址:http://pwwzsj.com/article/pjgjpo.html