objective-c CLGeocoder 自带地图应用 路径导航
2015-12-24 00:00
477 查看
//
// 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
// 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
相关文章推荐
- MVVM双向绑定实现之Object.defineProperty
- eclipse工具及Object类、Scanner类
- Java Object类
- Objective-C Autorelease Pool 的实现原理
- 【Objective-C学习记录】第二十二天
- JS_funciton,object,Array
- iOS开发系列--Objective-C之KVC、KVO
- 数据类型和运算符(标识符和变量)
- Objective-C:@class和#import
- objective-c 中三种产生随机数的方法
- Objective--C UI Block 实现从后往前传值 学习笔记
- Objective-C Runtime 总结:类和对象 篇
- java 使用反射转换对象 Object to Map
- 理解 Objective-C Runtime
- objective-c 省市区练习(数组与字典的嵌套)
- Objective-C中的instancetype和id区别
- 【转】Objective-C Runtime 运行时:类与对象
- 记Objective-C解码C字符串遇到的坑
- Kobject结构体分析
- 设备模型之kobject,kset及其关系