在ios程序中调用苹果地图
?
上代码
?
- (void)callAppleMap :(NSString*)place
{
? ? CLGeocoder *gencoder = [[CLGeocoder alloc]init];
? ? [gencoder geocodeAddressString:place completionHandler:^(NSArray *placemarks,NSError *error){
?? ?
? ? ? ? //编码结束后返回的是CLPlacemark实例的集合
? ? ? ? CLPlacemark *placemark = placemarks[0];
? ? ? ? //获得当前CLPlacemark实例的经纬度
? ? ? ? CLLocationCoordinate2D coordinate = placemark.location.coordinate;
? ? ? ? //获取地质字典
? ? ? ? NSDictionary *address = placemark.addressDictionary;
? ? ? ? //地图上的地标标类,CLPlacemark是定位的地标类
? ? ? ? MKPlacemark *mkPlacemark = [[MKPlacemark alloc]initWithCoordinate:coordinate addressDictionary:address];
? ? ? ? //以指定的方式打开苹果地图
?? ? ? ? NSDictionary *opentions = [NSDictionarydictionaryWithObjectsAndKeys:MKLaunchOptionsDirectionsModeDriving,MKLaunchOptionsDirectionsModeKey, nil];
? ? ? ? //封装了地图上的一个点的信息
? ? ? ? MKMapItem *mkMapItem = [[MKMapItem alloc]initWithPlacemark:mkPlacemark];
? ? ? ? [mkMapItem openInMapsWithLaunchOptions:opentions];
? ? ? ? //多个点可以用MKMapItem类方法
? ? ? ? //[MKMapItem openMapsWithItems:<#(NSArray *)#> launchOptions:<#(NSDictionary *)#>];
? ? }];
?
}
?