#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];
}];
}
}