iOS - 调起系统自带地图导航

CLGeocoder *geocoder = [[CLGeocoder alloc]init];

 [geocoder geocodeAddressString:self->model.address completionHandler:^(NSArray *placemarks, NSError *error) {
        //获取目标位置
        CLPlacemark *clPlacemark1=[placemarks firstObject];//获取第一个地标
        //
//        MKPlacemark *mkPlacemark1=[[MKPlacemark alloc]initWithPlacemark:clPlacemark1]; //注意地理编码一次只能定位到一个位置,不能同时定位,所在放到第一个位置定位完成回调函数中再次定位
        [geocoder geocodeAddressString:self->model.address completionHandler:^(NSArray *placemarks, NSError *error) { CLPlacemark *clPlacemark2=[placemarks firstObject];//获取第一个地标
            
            MKPlacemark *mkPlacemark2=[[MKPlacemark alloc]initWithPlacemark:clPlacemark2];
            //当前位置
            MKMapItem *mapItem1=[MKMapItem mapItemForCurrentLocation];
            //目标
            MKMapItem *mapItem2=[[MKMapItem alloc]initWithPlacemark:mkPlacemark2];
            //MKMapItem *mapItem2=[[MKMapItem alloc]initWithPlacemark:mkPlacemark1];
            [MKMapItem openMapsWithItems:@[mapItem1,mapItem2] launchOptions:@{MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving,
                                                                              MKLaunchOptionsShowsTrafficKey: [NSNumber numberWithBool:YES]}];}]; 
}];

这个方法是根据手机地理位置不同 调起 系统自带导航 大多数都是谷歌

你可能感兴趣的:(iOS - 调起系统自带地图导航)