zoukankan      html  css  js  c++  java
  • iOS CLGeocoder反地理编码获取地理位置

           要得到当前的位置,只需要2步就能完成

          1:判断设备是否支持定位功能,然后创建MKMapView

    if ([CLLocationManager locationServicesEnabled]) {
            myMapView =[[MKMapView alloc] init];
            myMapView.delegate=self;
            myMapView.showsUserLocation=YES;
        }

           2:实现MKMapViewDelegate协议

    -(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation{
        //得到经纬度
        CLLocation *newLocation=userLocation.location;
    
        NSLog(@"locaiton---%f---%f",userLocation.coordinate.latitude,userLocation.coordinate.longitude);
        
        //反地理编码
        CLGeocoder *clGeoCoder=[[CLGeocoder alloc] init];
        CLGeocodeCompletionHandler handle=^(NSArray *placemarks,NSError *error){
            for (CLPlacemark *placeMark in placemarks) {
                
                //获取地理位置名称
                NSDictionary *addressDic=placeMark.addressDictionary;
                NSString *state=[addressDic objectForKey:@"State"];
                NSString *city=[addressDic objectForKey:@"City"];
                NSString *subLocality=[addressDic objectForKey:@"SubLocality"];
                NSString *street=[addressDic objectForKey:@"Street"];
                
                NSLog(@"%@%@%@",state,subLocality,street);
            }
        };
    //执行
        [clGeoCoder reverseGeocodeLocation:newLocation completionHandler:handle];
    }

    那么定位当前位置就完成,代码量非常的少,也非常的简单

  • 相关阅读:
    HashMap于Hashtable的区别
    redis分布式锁
    mybatis基本认识
    怎么获取硬件线程数,Future,创建线程
    查看端口号有什么在用
    javaScript 中的字符操作
    获取类里面的所有属性
    给Date赋值
    实现多人聊天
    客户端与服务器端执行报重置问题
  • 原文地址:https://www.cnblogs.com/boyuanmeng/p/3985729.html
Copyright © 2011-2022 走看看