制作使用百度map获得经纬度的gem
2013-05-16 16:19
357 查看
最近在做一个定位的应用,首先想到的是Google Map,但是查了一下,Google Map是花钱的,所以改用百度 Map了。完成了以后考虑到以后还会用到,于是乎,把它做成一个gem,方便以后使用。闲话少许,看正文:
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
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
相关文章推荐
- 使用百度地图api实现,圈选区域并获得端点经纬度
- Java根据百度API获得经纬度,然后根据经纬度在获得城市信息
- 获取经纬度api使用心得【对比百度,谷歌地图API】
- 根据百度API获得经纬度,然后根据经纬度在获得城市信息
- 百度 地图 slidingmenu 黑边 使用截图的方式解决黑边问题,步骤: 1.slidingMenu打开的时候调用BaiduMap的snapshot方法截图获取Bitmap对象; 2.使用
- 在ios中使用手机定位获得的经纬度坐标 通过 arcgis的api 显示在wgs84 坐标系的地图上。
- 切换发射使用TileMap制作游戏,在cocos2d-x中使用(三)
- 根据百度API获得经纬度,然后根据经纬度在获得城市信息
- 使用百度经纬度获取地址遇到的坑
- 使用jQuery制作高级炫酷吊炸天表单,页面加载完成文本框获得焦点,文本框设置默认文本,文本字数动态显示.....
- .NET使用js制作百度搜索下拉提示效果(不是局部刷新)实现思路
- 微信获得经纬度无误差转百度经纬度
- 苹果,百度Map定位使用与总结
- 如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第一部分 分类: Cocos2d-x 2015-02-07 14:10 136人阅读 评论(0) 收藏
- OpenStreetMap初探(八)——制作地图瓦片Kosmos及Maperitive使用
- 百度API获取经纬度使用
- 百度地图瓦片原理 | 百度map使用教程
- 如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第一部分
- 百度api获得昆明的经纬度和62路公交线路查询
- 通过百度Map获取经纬度