注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

熊猫正正的博客

熊猫正正的天空

 
 
 

日志

 
 

调用GoogleMap API实现地理  

2013-05-14 13:17:55|  分类: ios开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在iOS 5 中苹果公司取消了地理逆向编码的功能,我的毕业设计要用到这个功能,我查了一下这方面的代码,有两个比较好的开源类库可以实现这个功能,但是到头来还是调用GoogleMap API来实现的。

        这两个开源类库都可以很好的实现功能,但是出于学习的目的,我还是自己写了一个调用GoogleMap API和JSON解析的代码。

    1、首先引入JSON-framework和ASIHTTPRequest的相关代码

    2、下面是实现代码

  

[plain] 
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将我需要的那部分字符串直接截取出来了。

  评论这张
 
阅读(48)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017