objective-c CLGeocoder 自带地图应用 路径导航

本文介绍如何在iOS应用中使用地图应用路径导航,并通过CoreLocation和MapKit框架实现地理编码功能,以获取和展示特定地理位置信息。

//

//  ViewController.m

//  自带地图应用 路径导航

//

//  Created by DC017 on 15/12/24.

//  Copyright © 2015 DC017. All rights reserved.

//


#import "ViewController.h"

#import <CoreLocation/CoreLocation.h>

#import <MapKit/MapKit.h>

@interface ViewController ()

{

     CLGeocoder * geocoder;

}

@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    geocoder=[[CLGeocoder alloc]init];

    [self drawRoute];

   

}

-(void)drawRoute{

    //根据西安进行地理编码

    [geocoder geocodeAddressString:@"西安市" completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {

        CLPlacemark * placemark1=[placemarks firstObject];

        //定位地标,转化为地图地标

        MKPlacemark * mkditu1=[[MKPlacemark alloc]initWithPlacemark:placemark1];

        

        

        //注意:地理编码一次只能定位一个位置

        [geocoder geocodeAddressString:@"新疆" completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {

            CLPlacemark * placemark2=[placemarks firstObject];

            

            MKPlacemark * mkditu2=[[MKPlacemark alloc]initWithPlacemark:placemark2];

          

            //配置地图信息位置

            NSDictionary * dic=@{

                                 

                                 MKLaunchOptionsMapTypeKey:@(MKMapTypeStandard),

                                 MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving

                                 

                                 };

            //将地标转化成地图上的点

            MKMapItem * mapItem1=[[MKMapItem alloc]initWithPlacemark:mkditu1];

            MKMapItem * mapItem2=[[MKMapItem alloc]initWithPlacemark:mkditu2];

            

            //加载地图 (点,设置的选项)

            [MKMapItem openMapsWithItems:@[mapItem1,mapItem2] launchOptions:dic];


        }];

        

        

    }];

}

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


@end


转载于:https://my.oschina.net/u/2483781/blog/550625

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值