ios-MapKit的使用
来源:互联网 发布:帝国cms火车头视频接口 编辑:程序博客网 时间:2024/06/03 02:26
在MapKit框架中有这么一个控件叫做MKMapView
在使用它时我们需要导入一个头文件
#import <MapKit/MapKit.h>
在MKMapView中我们可以通过mapType来设置地图的类型
MKMapTypeStandard,标准
MKMapTypeSatellite,卫星地图
MKMapTypeHybrid,鸟瞰混合
ios9之后新增加的两项:
MKMapTypeSatelliteFlyover,卫星地图的立体样式
MKMapTypeHybridFlyover,鸟瞰地图的立体样式
我们想要在地图中获取自己的位置的话,在ios8之后我们需要自己主动的去请求用户的隐私
if([UIDevice currentDevice].systemVersion.doubleValue>=8.0) { [self.manager requestAlwaysAuthorization]; }之前我们获取位置都是通过Core Location框架中的
CLLocationManager中的startUpdatingLocation去请求位置,然后通过设置它的代理,实现相应的代理方法去拿到位置。
但是现在在MapKit中我们可以直接通过MKMapView的userTrackingMode这个属性进行设置。
这个属性总共有三个枚举值
MKUserTrackingModeNone = 0, 不追踪的
MKUserTrackingModeFollow, 追踪
MKUserTrackingModeFollowWithHeading 追踪并且获取所在的方向
MKMapView默认是可以旋转的,我们可以进行设置使其不能发生旋转
//设置地图不允许旋转 self.mapView.rotateEnabled = NO;当我们获取到位置的时候,mapView会通过代理来通知我们,也就是说会调用下面这个代理方法
当每次更新到用户的位置就会去调用,注意这里是只有位置发生改变才会去调用,下面的userLocation就可以称之为大头针的一个数据模型
我们可以通过修改这个userLocation中的title和subtitle来进行设置,在这个MKUserLocation类中有位置,标题,子标题,方向等属性。
-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation{ userLocation.title = @"哈哈哈"; userLocation.subtitle = @"飞飞飞";}
我们想要移动地图到当前用户的位置,并且设置为中心点,可以进行如下设置。其中userLocation就是上面我们获取到的。
[self.mapView setCenterCoordinate:userLocation.coordinate animated:YES];
我们想要设置经纬度的跨越可以这么设置,这里要稍微提一下的是调用这个方法setRegion:(MKCoordinateRegion)region animated:(BOOL)animated; 有的时候会成功,有的时候不会成功。
//获取中心点 CLLocationCoordinate2D center = userLocation.location.coordinate; //设置经纬度的跨度 MKCoordinateSpan span = MKCoordinateSpanMake(0.1, 0.1); //将用户当前的位置作为显示区域的中心点 MKCoordinateRegion region = MKCoordinateRegionMake(center, span); //设置显示的区域 self.mapView.region = region;当地图跨度改变的时候会调用这个方法
-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated{ NSLog(@"%f---%f", mapView.region.span.latitudeDelta, mapView.region.span.longitudeDelta);}CLLocation中里面最重要的就是coordinate,我们可以通过coordinate来创建一个位置对象,coordinate就是2D位置坐标的意思。
- ios-MapKit的使用
- iOS中MapKit的使用
- iOS MapKit的基本使用
- iOS<MapKit/MapKit.h> MKMapView的简单使用
- iOS --- 地图框架MapKit的简单使用
- iOS-MapKit的使用笔记
- iOS中 CoreLocation 和 MapKit 的使用
- mapKit的使用
- MapKit的基本使用
- MapKit的基本使用
- MapKit框架的使用
- MapKit框架的使用
- MapKit框架的使用
- [ios]MapKit 控件使用[转]
- IOS开发 使用地图 MapKit
- IOS开发 使用地图 MapKit
- IOS开发 使用地图 MapKit
- IOS开发 使用地图 MapKit
- Java程序员入门指南
- leetcode 402. Remove K Digits
- Opencv笔记:利用霍夫变换检测图像中的红球
- 基于R语言的Kaggle案例分析学习笔记(六)
- PHP 错误:Cannot use object of type yii\db\Command as array
- ios-MapKit的使用
- hdu 4825 Xor Sum (字典树)
- [Oracle 11g r2(11.2.0.4.0)]集群术语和参数简介
- 探秘Java中的String、StringBuilder以及StringBuffer
- caffe运行错误: im2col.cu:61] Check failed: error == cudaSuccess (8 vs. 0) invalid device function
- java sort使用
- Centos上安装oracle(Centos7,oracle11g)
- C/C++语言中:前置++/--和后置++/--
- web学习路线