给定位置-系统导航

#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.geocoder geocodeAddressString:address completionHandler:^(NSArray *placemarks, NSError *error) {

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

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

            

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

       

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

        {

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

            /*

             name:名称

             locality:城市

             country:国家

             postalCode:邮政编码

             */

            for (CLPlacemark *placemark in placemarks) {

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

            }

            

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

            CLPlacemark *firstPlacemark=[placemarks firstObject];

            //详细地址名称

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

            //纬度

            aimlatitude=firstPlacemark.location.coordinate.latitude;

            //经度

            aimlongitude=firstPlacemark.location.coordinate.longitude;

            

        }

    }];

    

    

    

    

    if (iOS8) {

        [UIApplication sharedApplication].idleTimerDisabled = TRUE;

        locationmanager = [[CLLocationManager alloc] init];

        [locationmanager requestAlwaysAuthorization];        //NSLocationAlwaysUsageDescription

        [locationmanager requestWhenInUseAuthorization];     //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 = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:coords1 addressDictionary:nil]];

            

            //目的地的位置

            

            MKMapItem *toLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:coords2 addressDictionary:nil]];

            

            

            toLocation.name = @"目的地";

            

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

            

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

            //

            //    {

            

            //   toLocation.name =myname;

            

            //    }

            

            

            

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

            

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

            

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

            

            [MKMapItem openMapsWithItems:items launchOptions:options];

            

            

            

            

        }];

    }


    

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值