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. 算法手记 之 数据结构(堆)(POJ 2051)

    一篇读书笔记 书籍简评:<ACM/ICPC 算法训练教程>这本书是余立功主编的,代码来自南京理工大学ACM集训队代码库,所以小编看过之后发现确实很实用,适合集训的时候刷题啊~~,当时是听了 ...

  2. Bootstrap modal垂直居中

    Bootstrap modal垂直居中   在网上看到有Bootstrap2的Modal dialog垂直居中问题解决方法,这种方法自己试了一下,并不能完全居中,并且窗口的大小不一样的话,每次显示的m ...

  3. VB兼容问题

    window7 64位无法显示打印窗问题 在Windows7 64位和VS2008环境下,PrintDialog.ShowDialog不能显示打印对话框 在VS2008中编写?如下代码: PrintD ...

  4. Gson简要使用笔记

    最近在做一个java web service项目,需要用到jason,本人对java不是特别精通,于是开始搜索一些java平台的json类库. 发现了google的gson,因为之前对于protoco ...

  5. java课后作业 弹出窗口求两个数的加减乘除

    //计算2个数的加减乘除 谷伟华 2015/10/6package jisuan; import javax.swing.JOptionPane; public class Jiasuan { pub ...

  6. iOS应用架构谈(三):View层的组织和调用方案(下)

    iOS客户端应用架构看似简单,但实际上要考虑的事情不少.本文作者将以系列文章的形式来回答iOS应用架构中的种种问题,本文是其中的第二篇,主要讲View层的组织和调用方案.下篇主要讨论做View层架构的 ...

  7. [Android Pro] static 和 Volatile 的区别

    reference to : http://blog.sina.com.cn/s/blog_4e1e357d0101i486.html static也是各个业务方可以去全局修改: volatile是处 ...

  8. Codeforces Round #370 (Div. 2)(简单逻辑,比较水)

    C. Memory and De-Evolution time limit per test 2 seconds memory limit per test 256 megabytes input s ...

  9. NYOJ题目596谁是最好的Coder

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAscAAAMaCAIAAADlQ3w8AAAgAElEQVR4nO3dO3LbvN4H4G8T7r2Q1F

  10. IOS之计算器实现

    本文利用ios实现计算器app,后期将用mvc结构重构 import UIKit class CalculViewController: UIViewController { @IBOutlet we ...