MapKit的使用显示当前位置
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的使用显示当前位置的更多相关文章
- Jquery 实现点击一个页面跳转后在另外一个页面显示指定位置
<script> $(function(){ var isTarget = '<?php echo $_GET['target']; ?>'; if (isTarget != ...
- ios map 显示用户位置
昨天遇到个奇怪的问题,用户的位置在地图中死活不显示,showUserLocation也设置了,最后发现是因为实现了 mapView protocol中的一个方法: -(MKAnnotationView ...
- iOS开发中获取视图在屏幕上显示的位置
在iOS开发中,我们会经常遇到一个问题,例如,点击一个按钮,弹出一个遮罩层,上面显示一个弹框,弹框显示的位置在按钮附近.如果这个按钮的位置相对于屏幕边缘的距离是固定的,那就容易了,可以直接写死位置.可 ...
- ScrollView嵌套ListView、GridView,进入页面显示的位置并不是在最顶部,而是在中间部分问题
在Android项目的开发中,经常会遇到一些布局,可能需要在ScrollView中嵌套ListView或.GridView来实现, 是在使用的过程总又遇到了一个新的问题,就是如果在ScrollView ...
- [游戏模版4] Win32 显示鼠标位置
>_<:use MOUSE_MOVE message refresh the position information. >_<:use LOWORD(lParam) get ...
- 通过百度地图API显示当前位置在地图上(图标显示)--第三方开源--百度地图(二)
1.下载百度地图的demo,下载地址:http://lbsyun.baidu.com/sdk/download?selected=mapsdk_basicmap,mapsdk_searchfuncti ...
- 【Android Developers Training】 105. 显示一个位置地址
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- Android使用百度地图定位并显示手机位置后使用前置摄像头“偷拍”
今天老板让我验证一下技术可行性,记录下来. 需求 :定位手机的位置并在百度地图上显示,得到位置后使用前置摄像头进行抓拍 拿到这个需求后,对于摄像头的使用不太熟悉,于是我先做了定位手机并在百度地图上显示 ...
- Visual studio之C# 重新定义Messbox的显示窗口位置
背景 当前做的APP需要新建一个设置窗口,该设置窗口会出现在靠近屏幕边缘位置,但主窗口铺满屏幕,设置窗口会弹出一些讯息,但默认情况下Messagebox窗口会居中于主窗口,这不太符合要求,正常应该居中 ...
随机推荐
- 【转】WebMagic-总体流程源码分析
转自:http://m.blog.csdn.net/article/details?id=51943601 写在前面 前一段时间开发[知了]用到了很多技术(可以看我前面的博文http://blog.c ...
- oracle,mybatis主键自增长
<insert id="insert" parameterType="resource"> <selectKey resultType=&qu ...
- C++实现VPN工具之VPN错误代码大全
该篇文章转自:<VPN问题全攻略>http://home.51.com/h012359/diary/item/10008457.html 以下是使用VPN版软件中常见的一些错误代码: 1. ...
- cxGRID中的字段怎么能以0.00的格式显示
CXGRID中的字段如何能以0.00的格式显示在CXGRID中如何让字段能以0.00的格式显示,我的字段是FLOAT类型,满意的马上给分! ------解决方案-------------------- ...
- pt-query-digest使用介绍【转】
本文来自:http://isadba.com/?p=651 一.pt-query-digest参数介绍. pt-query-digest --user=anemometer --password=an ...
- FFMpeg ver 20160219-git-98a0053 滤镜中英文对照 2016.02.21 by 1CM
FFMpeg ver 20160219-git-98a0053 滤镜中英文对照 2016.02.21 by 1CM T.. = Timeline support 支持时间轴 .S. = Slice t ...
- spring mvc 重定向问题
(1)我在后台一个controller跳转到另一个controller,为什么有这种需求呢,是这样的.我有一个列表页面,然后我会进行新增操作,新增在后台完成之后我要跳转到列表页面,不需要传递参数,列表 ...
- HDU 1087 Super Jumping! Jumping! Jumping! --- DP入门之最大递增子序列
DP基础题 DP[i]表示以a[i]结尾所能得到的最大值 但是a[n-1]不一定是整个序列能得到的最大值 #include <bits/stdc++.h> using namespace ...
- Yii里获取当前controller和action的id
Yii里获取当前controller和action的id 在控制器里$name = $this->getId(); // controller$name = $action->id; ...
- ios滑动手势全屏(这段代码实现了下一级控制器滑到上一级控制器)
在自定义导航控制器里面加以下代码就增加全屏滑动手势 >推向前一个控制器 // HBNavigationController.m // #import "HBNavigationCon ...