1.添加MapKit.framework框架 ,在plist中添加字段,用于,获取用户当前位置设置

NSLocationAlwaysUsageDescription

2.代码

#import "ViewController.h"

#import <MapKit/MapKit.h>

@interface ViewController ()<MKMapViewDelegate>

@property (weak, nonatomic) IBOutlet MKMapView *mapKit;

//位置信息

@property(nonatomic,strong)CLLocation*location;

//地理编码对象

@property(nonatomic,strong)CLGeocoder*geocide;

@property(nonatomic,strong)CLLocationManager*manager;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

//地图显示的类型

//MKMapTypeStandard:标准类型

//MKMapTypeSatellite:卫星模型

//MKMapTypeHybrid:混合模型

self.mapKit.mapType=MKMapTypeStandard;

//    ios8中追踪用户位置

if([[UIDevice currentDevice].systemVersion doubleValue]>8.0)

{

self.manager =[[CLLocationManager alloc]init];

[self.manager requestAlwaysAuthorization];

}

//设置不允许地图旋转

self.mapKit.rotateEnabled=NO;

self.mapKit.delegate=self;

//设置mapKit获取用户位置的方式

//    MKUserTrackingModeNone 不追踪

//    MKUserTrackingModeFollow 追踪

//    MKUserTrackingModeFollowWithHeading 追踪并获取用户的方向

self.mapKit.userTrackingMode=MKUserTrackingModeFollowWithHeading;

}

-(CLGeocoder*)geocide

{

if (_geocide==nil) {

_geocide=[[CLGeocoder alloc]init];

}

return _geocide;

}

-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation

{

//利用地理编码获取位置,设置标题

[self.geocide reverseGeocodeLocation:userLocation.location completionHandler:^(NSArray *placemarks, NSError *error) {

CLPlacemark *mark=[placemarks firstObject];

userLocation.title=mark.name;

userLocation.subtitle=mark.locality;

}];

//利用地图当前的位置设置显示的区域

CLLocationCoordinate2D center=userLocation.location.coordinate;

//指定纬度的跨度

MKCoordinateSpan span=MKCoordinateSpanMake(0.009310,0.007812);

//指定显示区域的中

MKCoordinateRegion region=MKCoordinateRegionMake(center, span);

//设置显示区域

[self .mapKit setRegion:region];

}

-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated

{

//地图区域改变完成

NSLog(@"%f,%f",self.mapKit.region.span.latitudeDelta,self.mapKit.region.span.longitudeDelta);

}

@end

MapKit的使用显示当前位置的更多相关文章

  1. Jquery 实现点击一个页面跳转后在另外一个页面显示指定位置

    <script> $(function(){ var isTarget = '<?php echo $_GET['target']; ?>'; if (isTarget != ...

  2. ios map 显示用户位置

    昨天遇到个奇怪的问题,用户的位置在地图中死活不显示,showUserLocation也设置了,最后发现是因为实现了 mapView protocol中的一个方法: -(MKAnnotationView ...

  3. iOS开发中获取视图在屏幕上显示的位置

    在iOS开发中,我们会经常遇到一个问题,例如,点击一个按钮,弹出一个遮罩层,上面显示一个弹框,弹框显示的位置在按钮附近.如果这个按钮的位置相对于屏幕边缘的距离是固定的,那就容易了,可以直接写死位置.可 ...

  4. ScrollView嵌套ListView、GridView,进入页面显示的位置并不是在最顶部,而是在中间部分问题

    在Android项目的开发中,经常会遇到一些布局,可能需要在ScrollView中嵌套ListView或.GridView来实现, 是在使用的过程总又遇到了一个新的问题,就是如果在ScrollView ...

  5. [游戏模版4] Win32 显示鼠标位置

    >_<:use MOUSE_MOVE message refresh the position information. >_<:use LOWORD(lParam) get ...

  6. 通过百度地图API显示当前位置在地图上(图标显示)--第三方开源--百度地图(二)

    1.下载百度地图的demo,下载地址:http://lbsyun.baidu.com/sdk/download?selected=mapsdk_basicmap,mapsdk_searchfuncti ...

  7. 【Android Developers Training】 105. 显示一个位置地址

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  8. Android使用百度地图定位并显示手机位置后使用前置摄像头“偷拍”

    今天老板让我验证一下技术可行性,记录下来. 需求 :定位手机的位置并在百度地图上显示,得到位置后使用前置摄像头进行抓拍 拿到这个需求后,对于摄像头的使用不太熟悉,于是我先做了定位手机并在百度地图上显示 ...

  9. Visual studio之C# 重新定义Messbox的显示窗口位置

    背景 当前做的APP需要新建一个设置窗口,该设置窗口会出现在靠近屏幕边缘位置,但主窗口铺满屏幕,设置窗口会弹出一些讯息,但默认情况下Messagebox窗口会居中于主窗口,这不太符合要求,正常应该居中 ...

随机推荐

  1. Python QRCODE

  2. ios 中使用https的知识

    先看文章,这篇文章说的是使用AFNetworing进行https时的事项,十分好!http://blog.cnbang.net/tech/2416/ ios中使用https,主要就是使用NSURLCr ...

  3. c++ template

    在类中其中一个函数使用模板,函数定义和实现必须放在头文件里. ca.h template<typename T> void swap2(T &a,T &b) { T c=a ...

  4. 对于Tomcat服务器环境变量和启动配置的一点补充

    我们之前第一次使用Tomcat服务器运行jsp应用时,曾经给Tomcat配置过一个环境变量CATALINA_HOME,这个变量指定了Tomcat的安装位置,对于多个开发项目,我们一般会释放多个tomc ...

  5. js数组转置

    <script type="text/javascript">     var arr=[[1,2,3],[4,5,6],[7,8,9],[17,18,19]];    ...

  6. MPlayer-2016-bin-noConsole

    运行 Install-RMenu.cmd 添加右键播放功能 ; 往前0.05秒 大概10多个帧 ' 往后0.05秒 大概10多个帧 鼠标右键 快速定位 鼠标中键 退出 F1 缩小 F2 原始大小 F3 ...

  7. September 26th 2016 Week 40th Monday

    The land didn't move, but moved. The sea wasn't still, yet was still. 大地止而亦行,大海动而亦静. Still waters ru ...

  8. python基础——装饰器

    python基础——装饰器 由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数. >>> def now(): ... print('2015-3-25 ...

  9. C++ STL string

    要想使用标准C++中string类,必须要包含 #include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件 ...

  10. Apache commons-dbutils笔记