iOS开发-苹果自带地图简单使用

【实现功能】:

1.展示简单地图

2.显示用户当前位置

3.控制视图大小

4.大头针点击显示信息

【实现步骤】

1.导入两个需要的框架:CoreLocation.framework和MapKit.framework

2.引入头文件:

#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>

3.需要两个类的变量,这里定义为属性:

@property (nonatomic, retain)MKMapView *mapView;
@property (nonatomic, retain)CLLocationManager *locaManager;

4.别忘了接受协议

@interface ViewController ()<CLLocationManagerDelegate,MKMapViewDelegate>

5.OK开始上代码

 1 - (void)viewDidLoad{
 2     [super viewDidLoad];
 3
 4     //初始化位置管理
 5     self.locaManager = [[CLLocationManager alloc] init];
 6     //如果设备在iOS8及以上,得先弹框让用户授权,才能获得定位权限
 7     if ([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0) {
 8         [self.locaManager requestWhenInUseAuthorization];
 9     }
10     //设置代理
11     self.locaManager.delegate = self;
12     //开始定位
13     [self.locaManager startUpdatingLocation];
14
15
16     //初始化地图视图
17     self.mapView = [[MKMapView alloc] initWithFrame:self.view.frame];
18     //设置地图样式为基本样式(这里有三种样式)
19     self.mapView.mapType = MKMapTypeStandard;
20     //是否显示当前位置
21     self.mapView.showsUserLocation = YES;
22     //设置代理
23     self.mapView.delegate = self;
24     [self.view addSubview:self.mapView];
25 }

代理方法的实现

#pragma mark -- mapViewDelegate

- (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView{
    NSLog(@"加载完毕");
}
- (void)mapViewWillStartLocatingUser:(MKMapView *)mapView{
    NSLog(@"将要获取用户位置");
}

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation{
    //点击大头针,出现信息
    userLocation.title = @"丁健";
    userLocation.subtitle = @"dingjianjaja";
    //让地图视图转移到用户当前位置
    [mapView setCenterCoordinate:userLocation.location.coordinate animated:YES];
    //设置精度,以及显示用户所在地
    MKCoordinateSpan span = MKCoordinateSpanMake(1, 1);//比例尺为1:10^5,1厘米代表1公里
    MKCoordinateRegion region = MKCoordinateRegionMake(userLocation.location.coordinate, span);
    [mapView setRegion:region animated:YES];
}

6.运行

发现不显示用户位置,原因是在iOS8以后程序使用定位有三种状态,即试用期间/始终/永不,所以我们需要在plist文件中配置:试用期间或者始终

NSLocationWhenInUseUsageDescription



简单的展示地图自己位置就完成了,下面会继续加入目的地大头针,以及连接当前位置与目的地,并计算直线距离的功能。

时间: 2024-10-12 16:24:41

iOS开发-苹果自带地图简单使用的相关文章

ios开发中如何调用苹果自带地图导航

前段时间一直在赶项目,在外包公司工作就是命苦,天天加班不说,工作都是和工期合同挂钩的,稍微逾期就有可能被扣奖金,不谈这些伤脑筋的事情了,让我们说说iOS开发中如何调用苹果手机自带的地图. 学习如逆水行舟,不进则退.古人告诉我们要不断的反思和总结,日思则日精,月思则月精,年思则年精.只有不断的尝试和总结,才能让我们的工作和生活更加轻松愉快和美好.连着做了两个大的商城外包项目,智慧城市,搜牧通,花费了近四个月的时间,终于在反复修改后完美收工.期间的困难自不必说,以后多多总结和沟通吧.百度地图的使用之

iOS开发 定位服务与地图

概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个陌生的地方想要查找附近的酒店.超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品.总之,目前地图和定位功能已经大量引入到应用开发中.今天就和大家一起看一下iOS如何进行地图和定位开发. 定位 地图 定位 要实现地图.导航功能,往往需要先熟悉定位功能,在iO

ios之苹果和百度地图的使用

iOS中使用较多的3款地图,google地图.百度地图.苹果自带地图(高德).其中苹果自带地图在中国使用的是高德的数据.苹果在iOS 6之后放弃了使用谷歌地图,而改用自家的地图.在国内使用的较多的就是百度.苹果自带地图(高德),以下总结下这两个. 一.苹果地图的使用 因为苹果使用的是高德的地图,加上苹果做的一些封装,使用起来也非常方便.不需要引入第三方框架,相比较之下,使用百度地图SDK会使源码与程序都 大10M多,这点很蛋疼.同时由于苹果使用的是高德,不会像谷歌地图一样在国内乌龟一样的访问速度

iOS开发—音频的播放的简单介绍和封装工具类

iOS开发—音频的播放的简单介绍和封装工具类 一.音效的播放简单介绍 简单来说,音频可以分为2种 (1)音效 又称“短音频”,通常在程序中的播放时长为1~2秒 在应用程序中起到点缀效果,提升整体用户体验 (2)音乐 比如游戏中的“背景音乐”,一般播放时间较长 框架:播放音频需要用到AVFoundation.framework框架 二.音效的播放 1.获得音效文件的路径 NSURL *url = [[NSBundle mainBundle] URLForResource:@"m_03.wav&qu

iOS开发UI篇—xib的简单使用

iOS开发UI篇—xib的简单使用 一.简单介绍 xib和storyboard的比较,一个轻量级一个重量级. 共同点: 都用来描述软件界面 都用Interface Builder工具来编辑 不同点: Xib是轻量级的,用来描述局部的UI界面 Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系 二.xib的简单使用 1.建立xib文件 建立的xib文件命名为appxib.xib 2.对xib进行设置 根据程序的需要,这里把view调整为自由布局 建立vie

IOS开发笔记-百度地图(第三方库)

最近做了百度地图,在导入SDK后遇到了一些问题 编译错误: linker command failed with exit code 1 (use -v to see invocation) 想了很多办法,查了很多资料,最后终于解决. 可能原因: 1. 有重复的.m文件,或者未导入 解决办法:有重复的删除即可 在工作左边导航栏Target-->Build Phases-->compile Sources中,第三库库的所有.m文件都添加到里面 2.Valid Architectures 的值 在

文顶顶 iOS开发UI篇—xib的简单使用

iOS开发UI篇—xib的简单使用 一.简单介绍 xib和storyboard的比较,一个轻量级一个重量级. 共同点: 都用来描述软件界面 都用Interface Builder工具来编辑 不同点: Xib是轻量级的,用来描述局部的UI界面 Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系 二.xib的简单使用 1.建立xib文件 建立的xib文件命名为appxib.xib 2.对xib进行设置 根据程序的需要,这里把view调整为自由布局 建立vie

iOS开发UI基础—xib的简单使用

iOS开发UI基础-xib的简单使用 一.简单介绍 xib和stotyboard的比较,一个轻量级一个重量级. 二.xib的简单使用 1.建立xib文件 建立的xib文件命名为appxib.xib 2.对xib进行设置 根据程序的需要,这里把view调整为自由布局 建立view模型(设置长宽等参数) 调整布局和内部的控件 完成后的单个view 3.使用xib文件的代码示例 YYViewController.m文件代码如下: 1 // 2 // YYViewController.m 3 // 10

iOS开发UI篇—实现一个简单的手势解锁应用(基本)

iOS开发UI篇—实现一个简单的手势解锁应用(基本) 一.实现效果 实现效果图: 二.手势解锁应用分析 1.监听手指在view上的移动,首先肯定需要自定义一个view,重写touch began,touch move等方法,当手指移动到圈上时,让其变亮.可以通过button按钮来实现. 2.界面搭建 背景图片(给控制器的view添加一个imageview,设置属性背景图片) 九个按钮(把九个按钮作为一个整体,使用一个大的view来管理这些小的view,这些小的view就是9个button.如果使