首页

文章

ios中使用mkmapview怎样开启定位

发布网友 发布时间:2022-03-04 04:42

我来回答

1个回答

热心网友 时间:2022-03-04 06:12

1、新建项目,将ios的提供位置服务和地图服务的库加入到项目中 点项目名->Build Phases点开Link Binary With Libraries
将CoreLocation和MapKit两个库加入到项目中,前者是ios的位置服务库,后者是操作MKMapView的库

2、新建UIViewController 控件布局和设置好关系属性。导入<CoreLocation/CoreLocation.h>和<MapKit/MapKit.h>

还要让控制器类实现MKMapViewDelegate协议

[objc] view plain copy print?
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>

@interface MainViewController : UIViewController<MKMapViewDelegate,UITextFieldDelegate>

//经度
@property (weak, nonatomic) IBOutlet UITextField *longitudeText;
//纬度
@property (weak, nonatomic) IBOutlet UITextField *latitudeText;
//地图
@property (weak, nonatomic) IBOutlet MKMapView *mapView;
//自己经度
@property (weak, nonatomic) IBOutlet UILabel *longitudeLabel;
//自己纬度
@property (weak, nonatomic) IBOutlet UILabel *latitudeLabel;

//放置标注Button
- (IBAction)annotationAction:(id)sender;

@end

3、MKMapView可以通过 setShowsUserLocation:YES这个方法来获取自己的位置,并且当地图更新自己的位置后会调用
-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation的一个协议的委托方法,我要在这个方法里面试实现当地图位置更新后/获取自己位置后对地图进行放大。
首先在viewDidLoad方法里对让地图调用setShowsUserLocation方法来实现地图的定位,并且设置MapView的委托类。
[objc] view plain copy print?
- (void)viewDidLoad
{
//设置MapView的委托为自己
[self.mapView setDelegate:self];

//标注自身位置
[self.mapView setShowsUserLocation:YES];

[super viewDidLoad];
}

然后实现-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation方法:
[objc] view plain copy print?
//MapView委托方法,当定位自身时调用
-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation{
CLLocationCoordinate2D loc = [userLocation coordinate];
//放大地图到自身的经纬度位置。
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(loc, 250, 250);
[self.mapView setRegion:region animated:YES];
}
CLLocationCoordinate2D 是一个结构体记录经纬度,通过地图的获取的location来给其赋值。

运行一下程序地图载入的同时获得自身的位置,并且会自动放大到你所在的位置。

调试位置:
模拟器在运行的时候,可以自定义的设置其自身所在的位置

4、获取自身的经纬度显示在两个label上,还是在-(void)mapView:(MKMapView *)mapView
didUpdateUserLocation:(MKUserLocation *)userLocation方法里面实现,通过MKUserLocation这个类里面有经度和纬度的属性,直接拿出来显示在label上
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 软柿子的热量 孕妇可以吃软柿子吗不是西红柿 脆柿子和软柿子的区别 脆柿子好还是软柿子好 软柿子可以多吃吗 “鱼悬洁白振清风”的出处是哪里 用大自然的声音评课好吗? 妇产科博士找超声科工作容易吗 怎能把微信6.2.0版本换回6.1.2版 微信群6.2.4怎么增加人数上限 微信6.2.2如何备份手机通讯录 电脑桌面图标不能放大? 有什么好用的识图软件 识图认人哪个软件最好 手机识图软件什么软件能识别图片位置 小米手机自动锁屏时间怎么修改 小米手机屏幕锁定时间设置教程 能举起100斤算大力吗 中医美容专业是什么 中医美容证有什么用 单声道音频什么意思(开启单声道音频有什么好处) 单声道音频是什么,有什么用处? 户口还未迁移到婆家 娘家户口怎么就没了呢 我结婚没有迁户口,现在娘家也没有怎么办 没领证生的孩子一般会判给谁 没领证生的孩子会判给谁 信用卡卡种有哪些 找一首古风歌曲 男声 低配电脑装w10还是w7流畅 电脑配置低装win7还是win10好 低配电脑适合装WIN7系统还是WIN10系统? ...500s-15isk这个联想笔记本的内存条尺寸是什么型号的有没有知道的... 越快越好.怎样减肥.而且胸部不缩水 请问徐闻县海安长途汽车客运站客服是多少? 过了平台期还会瘦吗 悦耳的意思悦耳的解释 重庆师范大学应用心理学专业的权威性如何? 打印机laserjetm1136mfp怎样设置无线打印 经典电影赏析之1:《精武英雄》 爆米花用的什么玉米 糯玉米哪个好 有机糯玉米的营养价值如何? 四大直辖市换帅原因 四大直辖市换帅为啥 母亲节的由来简介 如何利用高德地图IOS SDK进行开发 iOS 的 App 用哪种地图服务好呢?苹果自己的 MAPKIT 和第三方地图厂商的有什么显著区别呢? IOS怎样向应用商店提交应用 母亲节由来的简介 iOS 使用mapKit 为什么会定位到旧金山 如何解决 iOS 里面的 MAPKIT 国内地图定位偏移问题 用百度或高德的地图API能实现哪些IOS自己的MapKit无法实现的功能? iOS MapKit 在国外使用的是什么地图数据 一个可以在两个手机上切换登陆吗?会封号吗? ios mapkit中怎么设置地理边界 iOS自带的mapkit怎么设置指南针显示的位置? 自己手机上怎么登录别人的? ios 怎么添加mapkit框架 用手机号申请的微信现在换号了怎么能登陆以前的微信? 手机微信切换账号怎么用登陆 安卓与ios 是基于什么开发的,有什么不同? 问下什么是iOS开发啊? ios用什么语言开发 ios开发是用什么语言进行开发的 ios 怎么接入google sdk 如何用高德LBS开放平台开发全英文iOS 地图应用 国内开发ios app用什么地图sdk 苹果手机里的计算器不见了怎么恢复 高德地图MAMapKit与ios自带的MKMapKit有什么区别 苹果计算器删了怎么找回来 ios 地图开发 怎么计算坡度 苹果自带计算器误删,如何找回 iOS开发包含哪些内容? 苹果手机计算器现在怎么找不到 苹果手机没有计算器了怎么恢复 怎么找回苹果手机上的计算器? ios开发需要必须使用macbook么。 苹果手机怎么计算器没了 ios开发只能在MAC下才可以吗! 开发ios软件是一开始就需要在MAC系统下吗? 手机自带计算器不见了想找回来放在桌面? 开发ios应用 是不是必须用苹果电脑 学ios开发一定要有苹果手机和苹果电脑吗? 为什么学习iOS开发一定要有Mac
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com