iPhone开发笔记(13)调用GoogleMap API实现地理逆向编码
来源:互联网 发布:qt wifi windows 编辑:程序博客网 时间:2024/05/22 18:23
在iOS 5 中苹果公司取消了地理逆向编码的功能,我的毕业设计要用到这个功能,我查了一下这方面的代码,有两个比较好的开源类库可以实现这个功能,但是到头来还是调用GoogleMap API来实现的。
https://github.com/mjisrawi/iOS-Geocoding-Services
https://github.com/samvermette/SVGeocoder
这两个开源类库都可以很好的实现功能,但是出于学习的目的,我还是自己写了一个调用GoogleMap API和JSON解析的代码。
1、首先引入JSON-framework和ASIHTTPRequest的相关代码
2、下面是实现代码
self.locationManager = [[CLLocationManager alloc] init];//创建位置管理器 self.locationManager.delegate=self;//设置代理 self.locationManager.desiredAccuracy=kCLLocationAccuracyBest;//指定需要的精度级别 self.locationManager.distanceFilter=1000.0f;//设置距离筛选器 [self.locationManager startUpdatingLocation];//启动位置管理器 NSString *str = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/json?latlng=%f,%f&sensor=true®ion=zh&language=zh-CN",[[locationManager location] coordinate].latitude,[[locationManager location] coordinate].longitude]; NSURL *url = [NSURL URLWithString:str]; ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; [request startSynchronous]; NSString *response = [request responseString]; NSLog(@"%@",response); NSString *strrrr = [response stringByReplacingOccurrencesOfString:@"\n" withString:@""]; NSString *straaa = [strrrr stringByReplacingOccurrencesOfString:@" " withString:@""]; NSRange range = NSMakeRange(11, [straaa length]-26); NSString *strbbb = [straaa substringWithRange:range]; NSMutableArray *dictionary = [strbbb JSONValue]; self.addressStr = [[dictionary objectAtIndex:0] objectForKey:@"formatted_address"];
3、这里需要说明的是GoogleMap API返回的JSON字符串含有很多空格和换行符号,这种情况导致进行JSON解析的时候出现错误,所以需要对返回的字符串进行处理,替换掉里面的空格和换行。因为这个字符串很复杂,我最后干脆直接用NSRange将我需要的那部分字符串直接截取出来了。
- iPhone开发笔记(13)调用GoogleMap API实现地理逆向编码
- iphone 开发 googleMap api
- 调用百度地图API进行地理编码和反地理编码(一)
- 调用百度地图API进行地理编码和反地理编码(二)——批量处理
- (十六)ArcGIS API For Javascript之调用地理编码服务
- 高德地图 正向地理编码 逆向地理编码
- 地理编码的实现
- Google Geocoding API---地理编码与反向地理编码
- android 百度地图api 地理编码&反地理编码
- Android 百度地图api地理编码与逆地理编码
- 百度地图开发(二)之添加覆盖物 + 地理编码和反地理编码
- ] 百度地图开发(二)之添加覆盖物 + 地理编码和反地理编码
- 百度地图开发(二)之添加覆盖物 地理编码和反地理编码
- 百度地图开发(二)之添加覆盖物 + 地理编码和反地理编码
- 百度地图开发(二)之添加覆盖物 + 地理编码和反地理编码
- 百度地图开发(二)之添加覆盖物 + 地理编码和反地理编码
- 百度地图开发(二)之添加覆盖物 + 地理编码和反地理编码
- 高德地图----逆向地理编码(将经度纬度转换地址)
- ubuntu 12.04 输入法
- 虚拟开发板
- 用汇编解释虚函数调用
- 路面识别(适应光度变化)
- eclipse 将jar与源码关联
- iPhone开发笔记(13)调用GoogleMap API实现地理逆向编码
- iOS开发键盘弹出时遮住输入框的问题
- 非模态对话框与模态对话框对比
- 《The C++ Programming Language (Special Edition)》中的忠告
- STM32 Usart 上电发送一个无效字符的问题
- 关于多重继承中覆盖虚基类的函数问题--《C++程序设计语言》
- 【半枚举】【动态规划】【NOI2004】曼哈顿
- Android学习笔记(5) ————SQLite的介绍与相关操作方法
- linux下history(历史)命令用法详解