iOS - 调起系统自带地图导航
2017-10-10 本文已影响188人
iOS_Gato_老猫
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]}];}];
}];
这个方法是根据手机地理位置不同 调起 系统自带导航 大多数都是谷歌