给定位置-系统导航

来源:互联网 发布:房源群发软件 编辑:程序博客网 时间:2024/06/05 00:26

#import <CoreLocation/CoreLocation.h>

#import "CCLocationManager.h"

#import <MapKit/MapKit.h>


@property(readonly,nonatomic)CLLocationCoordinate2D coordinate;

@property(nonatomic,strong)CLGeocoder *geocoder;


- (void)handleMap:(UIButton *)sender{

    

    NSString *address=lbAddress.text;

    

    

    if (address.length==0)return;

    

    //2.开始地理编码

    //说明:调用下面的方法开始编码,不管编码是成功还是失败都会调用block中的方法

    [self.geocodergeocodeAddressString:address completionHandler:^(NSArray *placemarks,NSError *error) {

        //如果有错误信息,或者是数组中获取的地名元素数量为0,那么说明没有找到

        if (error || placemarks.count==0) {

            

            [ZBFactoryshowMessageWithGot:@"你输入的地址没找到"View:self.view];

       

        }else  //  编码成功,找到了具体的位置信息

        {

            //打印查看找到的所有的位置信息

            /*

             name:名称

             locality:城市

             country:国家

             postalCode:邮政编码

             */

            for (CLPlacemark *placemarkin placemarks) {

                NSLog(@"name=%@ locality=%@ country=%@ postalCode=%@",placemark.name,placemark.locality,placemark.country,placemark.postalCode);

            }

            

           //取出获取的地理信息数组中的第一个显示在界面上

            CLPlacemark *firstPlacemark=[placemarksfirstObject];

            //详细地址名称

            // self.detailAddressLabel.text=firstPlacemark.name;

            //纬度

            aimlatitude=firstPlacemark.location.coordinate.latitude;

            //经度

            aimlongitude=firstPlacemark.location.coordinate.longitude;

            

        }

    }];

    

    

    

    

    if (iOS8) {

        [UIApplicationsharedApplication].idleTimerDisabled =TRUE;

        locationmanager = [[CLLocationManageralloc] init];

        [locationmanagerrequestAlwaysAuthorization];       //NSLocationAlwaysUsageDescription

        [locationmanagerrequestWhenInUseAuthorization];    //NSLocationWhenInUseDescription

        locationmanager.delegate =self;

    }

    

    

    if (iOS8) {

        

        [[CCLocationManager shareLocation] getLocationCoordinate:^(CLLocationCoordinate2D locationCorrrdinate) {

            

            //            NSLog(@"%f %f",locationCorrrdinate.latitude,locationCorrrdinate.longitude);

            //

                

            float currentLatitude=locationCorrrdinate.latitude;

            

            float currentLongitude=locationCorrrdinate.longitude;

            

           

            

            

            

            

            CLLocationCoordinate2D coords1 = CLLocationCoordinate2DMake(currentLatitude,currentLongitude);

            

            

            //目的地位置

            

            float  coordinatelatitude=aimlatitude;

            

            float coordinatelongitude=aimlongitude;

            

            

            

            

            CLLocationCoordinate2D coords2 = CLLocationCoordinate2DMake(coordinatelatitude,coordinatelongitude);

            

            //当前的位置

            

            // MKMapItem *currentLocation = [MKMapItem mapItemForCurrentLocation];

            

            //起点

            

            MKMapItem *currentLocation = [[MKMapItemalloc] initWithPlacemark:[[MKPlacemarkalloc] initWithCoordinate:coords1addressDictionary:nil]];

            

            //目的地的位置

            

            MKMapItem *toLocation = [[MKMapItemalloc] initWithPlacemark:[[MKPlacemarkalloc] initWithCoordinate:coords2addressDictionary:nil]];

            

            

            toLocation.name = @"目的地";

            

            // NSString *myname=@"安徽";

            

            //    if (![XtomFunction xfunc_check_strEmpty:myname])

            //

            //    {

            

            //   toLocation.name =myname;

            

            //    }

            

            

            

            NSArray *items = [NSArrayarrayWithObjects:currentLocation, toLocation, nil];

            

            NSDictionary *options =@{ MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,MKLaunchOptionsMapTypeKey: [NSNumbernumberWithInteger:MKMapTypeStandard],MKLaunchOptionsShowsTrafficKey:@YES};

            

            //打开苹果自身地图应用,并呈现特定的item

            

            [MKMapItem openMapsWithItems:items launchOptions:options];

            

            

            

            

        }];

    }


    

}

1 0
原创粉丝点击