CoreLocation MKMapView 地图
系统自带地图 框架: CoreLocation MapKit
CLLocationManager --> 定位管理者 CLGeocoder --> 地理编码器 MKMapView --> 地图view
允许用户定位
[_locationManager requestAlwaysAuthorization];//总是允许
[_locationManager requestWhenInUseAuthorization];//用户用时允许
用户移动100米的时候才会再次调用位置代理方法
_locationManager.distanceFilter = 100.0;
开始定位
[_locationManager startUpdatingLocation];
CLLocationManager 代理方法:(获取到信息室处理)
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations{
}
创建比例系数 显示在哪个点上
MKCoordinateRegion region = MKCoordinateRegionMake(userLocation.coordinate, MKCoordinateSpanMake(0.1, 0.1));
比例系数赋值
_mapView.region = region;
CLGeocoder:
编码:提供某个字符串 来定位位置:- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;
反编码:根据位置显示该地方的名字等等[_geocoder reverseGeocodeLocation:placemark.location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {}];
添加大头针:
AGAnnotion *agAnnotion = [[AGAnnotion alloc]init];
agAnnotion.coordinate = CLLocationCoordinate2DMake(36.0, 120.0);
agAnnotion.title = @"coco";
[_mapView addAnnotation:agAnnotion];
自定义气泡
继承 NSObject , 遵守 MKAnnotation 协议
创建三个属性
@property (nonatomic, assign) CLLocationCoordinate2D coordinate;
@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *subtitle;
高德:
1. 验证key
[MAMapServices sharedServices].apiKey = @“申请的key”;
2. 初始化
mapView = [[MAMapView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), CGRectGetHeight(self.view.bounds))];
mapView.delegate = self;
mapView.language = MAMapLanguageEn; // 设置地图显示语言
mapView.mapType = MAMapTypeStandard; // 地图类型
/*
MAMapTypeSatellite:卫星地图
MAMapTypeStandard:标准地图
*/
mapView.showTraffic = YES; // 显示实时交通路况
[self.view addSubview:mapView];
mapView.showsUserLocation = YES;
mapView的定位模式: userTrackingMode
MAUserTrackingModeNone:不跟随用户位置,仅在地图上显示。
MAUserTrackingModeFollow:跟随用户位置移动,并将定位点设置成地图中心点
MAUserTrackingModeFollowWithHeading:跟随用户的位置和角度移动
CoreLocation MKMapView 地图的更多相关文章
- iOS - MKMapView 地图
1.创建 MKMapView 地图 在 iOS6 或者 iOS7 中实现这个功能只需要添加地图控件.设置用户跟踪模式.在 mapView:didUpdateUserLocation: 代理方法中设置地 ...
- Corelocation及地图控件学习笔记
Corelocation基本使用 在地图章节的学习中,首先要学的便是用户位置定位,因此我们首先要掌握Corelocation的使用.(在IOS8以前可以系统会直接请求授权,现在需要我们自己调用方式通知 ...
- CoreLocation MKMapView
高德开发者平台 有开发指南 iOS9配置网络: <key>NSAppTransportSecurity</key> <dict> <key>NSAllo ...
- iOS开发:MKMapView地图内存持续增加的释放解决办法
内存持续增加的释放解决办法 最近修改一个用到MKMapView的项目,内存一直占用过多,每次拖拽地图时还会增加占用,且一直无法释放. 经过两天的排查,最后锁定是创建的self.map对象在加载地图的时 ...
- [Xcode 实际操作]四、常用控件-(17)为MKMapView地图上显示提示框
目录:[Swift]Xcode实际操作 本文将演示当点击地图上的标注圆点时,弹出信息窗口. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit ...
- [Xcode 实际操作]四、常用控件-(18)MKMapView地图,将地理坐标转换为实际地名
目录:[Swift]Xcode实际操作 本文将演示将地理坐标转换为实际地名. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //首先往视 ...
- iOS地图
地图 1.主要用到了地图展示和定位功能 CoreLocation框架的使用: 导入头文件 #import <CoreLocation/CoreLocation.h>CoreL ...
- 【iOS】7.4 定位服务->3.1 地图框架MapKit 功能1:地图展示
> 本文并非最终版本,如果想要关注更新或更正的内容请关注文集,联系方式详见文末,如有疏忽和遗漏,欢迎指正. --- > 本文相关目录: ================== 所属文集:[[ ...
- iOS_地图之显示附近微博
1.首先需要新建一个MKMapView地图对象,在storyBoard中拖拽一个,在工程中导入MapKit.framework: 2.遵守MKMapViewDelegate协议,设定显示地 ...
随机推荐
- Linux 文件及文件夹权限
普及 linux 基础知识,Linux 文件及文件夹权限,不要动不动就 777 权限.网上教程过于复杂啰嗦,简单总结如下...一.查看 Linux 文件权限 ls -l (通用)ll (Ubuntu适 ...
- 【学习笔记】【C语言】变量
1. 什么是变量 当一个数据的值需要经常改变或者不确定时,就应该用变量来表示.比如游戏积分. 2. 定义变量 1> 目的 任何变量在使用之前,必须先进行定义. 定义变量的目的是:在内存中分配一块 ...
- OC5_@class关键字
// // ClassB.h // OC5_@class关键字 // // Created by zhangxueming on 15/6/24. // Copyright (c) 2015年 zha ...
- php面向对象的多态
多态是指使用类的上下文来重新定义或改变类的性质或行为,或者说接口的多种不同的实现方式即为多态.把不同的子类对象都当成父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需要 ...
- HTTP状态码参考
1. HTTP状态码意义 客户机与服务器建立连接后,发送一个请求给服务器(如:Get /index.html http/1.1),在服务器接到请求后,给予客户机相应的响应信息,包括该信息的协议版本号. ...
- 解析Path方法备忘
public static String parseDataPath(String dataPath){ StringBuilder parseBld = new StringBuilder(); L ...
- Android开发:碎片Fragment完全解析fragment_main.xml/activity_main.xml(转)
注明:这个转的,见谅未能标明原始出处 我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述. 但是Activ ...
- 精简DropDownList用法
ViewBag.TypeID = new SelectList(db.TType, "ID", "Name", model.TypeID); @Html.Dro ...
- 1_1准备工作[wp8特色开发与编程技巧]
1准备工作 大家好,我是徐文康,今天我要开始带大家玩转windowsphone8 app的开发 在这一套视频中,我将带大家从零开始学习编程.在互联网时代熟悉编程是非常有必要的.差异化竞争将变成趋势,那 ...
- 【风马一族_Android】android的新发现
Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW");这一段句话.可以调用出系统 ...