iOS 根据经纬度翻译成详细位置的各种方法

来源:未知 责任编辑:责任编辑 发表时间:2014-01-06 18:19 点击:

首先苹果获取经纬度是

[plain] 
if ([CLLocationManager locationServicesEnabled]) {//判断手机是否可以定位 
    locationManager = [[CLLocationManager alloc] init];//初始化位置管理器 
    [locationManager setDelegate:self]; 
    [locationManager setDesiredAccuracy:kCLLocationAccuracyBest];//设置精度 
    locationManager.distanceFilter = 1000.0f;//设置距离筛选器 
    [locationManager startUpdatingLocation];//启动位置管理器 

然后根据其代理获取经纬度
[plain]
#pragma mark - CLLocationManager Delegate Methods 
- (void)locationManager:(CLLocationManager *)manager 
    didUpdateToLocation:(CLLocation *)newLocation 
           fromLocation:(CLLocation *)oldLocation; 

    location=[newLocation coordinate];//当前经纬度 
    lat=location.latitude; 
    lon=location.longitude; 
     
    MKCoordinateSpan theSpan; 
    theSpan.latitudeDelta=0.01f; 
    theSpan.longitudeDelta=0.01f; 
    theRegion.center=location;//定义地图显示范围 
    theRegion.span=theSpan; 

根据经纬度解析成位置目前有2种。第一个是调用系统的CLGeocoder类的 reverseGeocodeLocation方法
[plain] 
//根据经纬度解析成位置 
   CLGeocoder *geocoder=[[[CLGeocoder alloc]init]autorelease]; 
   [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemark,NSError *error) 
    { 
        CLPlacemark *mark=[placemark objectAtIndex:0]; 
        place.title=@"没有当前位置的详细信息"; 
        place.subTitle=@"详细信息请点击‘附近’查看"; 
        place.title=[NSString stringWithFormat:@"%@%@%@",mark.subLocality,mark.thoroughfare,mark.subThoroughfare]; 
        place.subTitle=[NSString stringWithFormat:@"%@",mark.name];//获取subtitle的信息 
        [self.myMapView selectAnnotation:place animated:YES]; 
    } ]; 
第二种是调用google的api
----http://maps.googleapis.com/maps/api/geocode/json?latlng=%f,%f&sensor=true

网上有人说系统的方法有时候解析不出来位置。第二种google,国内有时候访问不了google服务器,所以都有缺点。

有人建议国内的地图可以使用高德地图(以后摸索下)

PS1:网上有一个比较流行的查找附近功能,是根据google的api搜索的


#define SEARCH_GOOGLE @"https://maps.googleapis.com/maps/api/place/search/json?location=%f,%f&radius=1000&types=%@&sensor=true&key=AIzaSyALaqx0MfPsp2aldbZbzEQAq64SwgQfZ0c"

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Lexical or Preprocessor Issue 'xxx.h
  • ios学习笔记(二)xcode 4.3.2下实现基本交互
  • ios版本的helloworld
  • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
  • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
  • IOS类似iphone通讯录TableView的完整demo【附源码】
  • UITableView一些方法
  • [iPhone中级]iPhone团购信息客户端的开发 (二)
  • 如何为Iphone应用创建启动界面
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1