在iOS开发中,地图也是很多App都需要使用的功能。本文主要对iOS中的地图知识点进行介绍。需要说明的是地图看似很复杂,其实它仅仅是一个控件,就和UIButton、UITableView等一样。...一、理论知识 地图既然是控件,就可以在StoryBoard和代码中使用 地图上如果想要显示用户的位置,必须与定位配合,那么就需要创建定位管理器、设置权限等,可以参考iOS开发之定位,同时需要设置地图的属性...StoryBoard中添加地图控件 拖拽IBOutlet 声明CLLocationManager 声明权限 设置gpx数据 二、地图基本使用 实现功能:显示地图,并且显示用户所在的位置,点击用户的位置...实现效果 三、地图缩放级别 实现功能:在之前功能的基础上实现地图的任意视角(“缩放级别”) 代码 @interface ViewController ()...实现效果 四、添加标注 功能:点击屏幕,可以添加标注 说明:添加标注分三步 创建标注模型 重写地图的代理方法,返回标注的样式 将标注添加到地图 代码 标注模型 @interface MyAnnotation
①导入框架 ②导入主头文件 #import ③MapKit框架使用须知 MapKit框架中所有数据类型的前缀都是MK MapKit有一个比较重要的UI控件,专门用于地图显示...④MapKit框架包含CLLocation 2.设置地图的类型 可以通过设置MKMapView的mapType设置地图类型 typedef enum : NSUInteger { MKMapTypeStandard...注意:在iOS8中, 如果想要追踪用户的位置, 必须自己主动请求隐私权限 在CLLocation框架中CLLocationManager请求授权 利用MapKit获取用户的位置, 可以追踪 userTrackingMode...- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated; //地图的区域改变完成时调用 设置地图显示区域...,和经纬度跨度 ①通过MKMapView的下列方法,可以设置地图显示的位置和区域 // 设置地图的中心点位置 @property (nonatomic) CLLocationCoordinate2D centerCoordinate
MKMapView类主要是完成下述功能: 1、显示地图,比如:显示北京市的地图; 2、提供多种显示方式,比如标准地图格式,卫星地图等; 3、支持地图的放大缩小; 4、支持在地图上做标记,比如标记天安门广场...转换成功 -(void)reverseGeocoder : (MKReverseGeocoder *)geocoded didFailWithError:(NSError *)error; //转换失败 iOS...CLLocationManager locationServicesEnabled]) { NSLog(@"设备尚未打开定位服务"); } //判断当前设备版本大于iOS8..._mapView.mapType = MKMapTypeStandard; // 不显示罗盘和比例尺 if (@available(iOS 9.0, *...leftCalloutAccessoryView = iconView //自定义图钉颜色 IOS9+ annotationView?.
1 import UIKit 2 import MapKit 3 4 class ViewController:UIViewController { 5...
在前一篇文章 iOS关于地图定位基础(一) 中我们主要总结了 iOS 里面利用原生 CoreLocation 框架实现基本定位功能和一些注意点,侧重点主要是iOS8+之后的定位授权与授权状态的使用。
2.2自动配置,(使用 CocoaPods 安装 SDK) 为 高德 iOS 地图 SDK 创建一个 Podfile,并使用它来安装 SDK。...(如果您第一次接触 iOS 开发,请创建一个Single View Application。)...$ touch Podfile 2.2.2编辑 Podfile 文件 Podfile文件内容如下: platform :ios, '7.0' #手机的系统 target 'YourProjectTarget...3.地图的使用 3.1配置Info.plist 文件 iOS9为了增强数据访问安全,将所有的http请求都改为了https,为了能够在iOS9中正常使用地图SDK,请在"Info.plist"中进行如下配置...在iOS SDK中,比例尺默认显示在地图的左上角。MAMapView的showScale属性用来控制比例尺的可见性,scaleOrigin属性用来改变比例尺的显示位置。
#pragma mark - 弹出选择地图alert + (void)popMapsAlertWithVC:(UIViewController *)vc toCoor:(CLLocationCoordinate2D...mapSchemeArr = @[@"iosamap://", @"baidumap://", @"qqmap://", @"comgooglemaps://"]; NSArray *mapName = @[@"高德地图...", @"百度地图", @"腾讯地图", @"谷歌地图"]; UIAlertController *alert = [UIAlertController alertControllerWithTitle...alert addAction:action]; } } UIAlertAction *actionSystem = [UIAlertAction actionWithTitle:@"系统地图...CLLocationCoordinate2D)toCoor targetName:(NSString *)targetName { if ([mapName isEqualToString:@"高德地图
1 override func viewDidLoad() { 2 super.viewDidLoad() 3 // Do any additional s...
效果图-新增 一、环境设置 1.开发环境:Xocode 7.3.1 2.模拟器环境:iOS 9.3 3.iOS 9 之后不能直接使用 HTTP 进行请求,需要在 Info.plist 新增一段用于控制...[站外图片上传中……(5)] 4.导入百度地图 SDK 百度地图提供了两种导入方式,可以直接把 SDK 拖入到工程,也可以使用 CocoaPods ,这里我是用后面一种方式导入百度地图 SDK。...iOS SDK 采用分包的形式提供 .framework包,请广大开发者使用时确保各分包的版本保持一致。...第四步、引入mapapi.bundle资源文件 如果使用了基础地图功能,需要添加该资源,否则地图不能正常显示 mapapi.bundle 中存储了定位、默认大头针标注View及路线关键点的资源图片,还存储了矢量地图绘制必需的资源文件...ios3.2以后支持 *@param mapView 地图View *@param view annotation view *@param newState 新状态 *@param oldState
无论是QQ还是微信的移动客户端都少不了定位功能,之前在微信demo中没有添加定位功能,今天就写个定位的小demo来了解一下定位和地图的东西。...地图和定位看上去是挺高大上一东西,其实用法比TableView简单多了,下面的Demo是用的iOS中自带的地图和定位,当然了也可以用第三方的来加载地图,比如百度地图啥的,在这就不赘述了。...一,构建Demo的组件 为了节省时间这个demo中的MapView是用Storyboard拖出来的,storyboard中的结构如下所示,上面是MKMapView用于显示地图,下面的labei用于显示当前经纬度...NSDictionary *addressDictionary = placeMark.addressDictionary; 34 35 36 //添加地图的标注
重点参考链接: IOS之地图和定位应用开发 http://www.cnblogs.com/syxchina/archive/2012/10/14/2723522.html IOS开发之百度地图API应用...tid=217107 (Good)IOS之地图和定位应用开发 http://www.cnblogs.com/syxchina/archive/2012/10/14/2723522.html IOS开发之百度地图...API应用 http://www.cocoachina.com/ios/20120507/4224.html iOS开发那些事-iOS6苹果地图实用开发 http://blog.csdn.net/tonny_guan.../article/details/9239947 [IOS地图开发系类]2、位置解码CLGeocoder http://my.oschina.net/chengliqun/blog/147871 ios6.../totogo2010/article/details/7701026 iOS地图位置开发方法 http://wenku.baidu.com/link?
定位 CoreLocation 是 iOS 中用于设备定位的框架。通过这个框架可以实现定位进而获取位置信息如经度、纬度、海拔信息等。...精度控制 iOS 14 新增了一种定位精度控制,在定位授权对话框中有一个精度切换开关,可以切换精确和模糊定位(默认精确)。...除了可以显示地图,还支持在地图上进行标记处理。...地图上如果想要显示用户的位置,必须与定位配合,那么就需要创建定位管理器、设置权限等(参考定位知识),同时需要通过 storyboard 或者代码设置地图的相关属性。...MKMarkerAnnotationView:iOS 11 推出,建议使用。
概述 关于ios中地图定位相关的开发可以分两块,一块为调用ios的定位获取GPS坐标以及坐标–>地址,地址–>坐标,另一块就是调用苹果对地图的封装,也可以调用高德或者百度地图的SDK,不过引用将近10M...的库,但是功能上要比直接调用系统封装的要强大的多,所以我建议app里基本上只要求定位与地图上显示的,就直接用原生的封装,自定义较多的,比如设置定位点覆盖物的图标就引用第三方的 坐标系 因为gps,高德,...{ showNoticeWait(text: "地图解析中..."); if(locations.count>0){ var location:CLLocation =...{ println(error) } (5)注意点 解析地址是传入的坐标不是GPS定位的坐标,而是火星坐标 ios8必须在配置文件上配置定位提示语的字段,info.plist中添加NSLocationAlwaysUsageDescription
百度地图默认返回 百度经纬度坐标,如需要返回GPS坐标则设置CoordinateType typedef enum { BMK_COORDTYPE_GPS = 0, ///GPS设备采集的原始GPS...坐标(WGS-84) BMK_COORDTYPE_COMMON, ///GCJ坐标,google地图、soso地图、aliyun地图、mapabc地图和amap地图所用坐标 BMK_COORDTYPE_BD09LL..., ///bd09ll 百度经纬度坐标 } BMK_COORD_TYPE; /** *百度地图SDK所有接口均支持百度坐标(BD09LL)和国测局坐标(GCJ02),用此方法设置您使用的坐标类型
题外话:在百度搜索键入:iOS地图找房。你会发现搜索到很多关于这方面的帖子,但是几乎都是询问如何实现的,找不到一个可以研究借鉴的博客。于是我决定补上这个空缺,写的可能不全面,大家体谅。...同时,大小区的切换,地图放大到某个比例尺切换至小区,地图缩小,切换到大区。 需要做的事情:定义两种标识。添加大区、小区标识。放大缩小后,大小区的判断显示。移动地图大小区的更新。...首先,创建地图,设置比例尺,定位个人位置。比例尺的设定说明下,我这里给了一个自己定义的范围,因为我不希望用户无限放大地图或者无限缩小。...而且当地图平移的时候,不再请求。如何判断地图是否平移和平移后的距离?...iOS技术交流群:511860085 欢迎加入! ? ?
iOS原生地图开发指南再续——地图覆盖物的应用 一、引言 在前两篇博客中,将iOS系统的地图框架MapKit中地图的设置与应用以及关于添加大头针和自定义大头针的相关操作做了详细的介绍。...这篇博客中将进一步讨论关于地图添加覆盖物的使用方法。 二、添加地图覆盖物的逻辑原理 地图覆盖物其实就是在地图上画一些东西,例如路径,范围等等。添加地图覆盖物的逻辑原理其实和添加大头针很相似。...首先所有可以成为覆盖物的对象必须遵守MKOverlay这个协议,通过 - (void)addOverlay:(id )overlay; 将覆盖物添加在地图上,然后地图会调用代理方法...//初始化地图对象 MKMapView * _mapView = [[MKMapView alloc]initWithFrame:self.view.frame]; //设置地图
iOS原生地图开发详解 在上一篇博客中:http://my.oschina.net/u/2340880/blog/414760。...对iOS中的定位服务进行了详细的介绍与参数说明,在开发中,地位服务往往与地图框架结合使用,这篇博客主要对iOS官方的地图框架MapKit.framework进行介绍。...一、初始化地图视图与相关属性方法介绍 1、初始化地图视图 地图视图的展示依赖于MKMapView这个类,这个类继承于UIView,因此和其他View的使用方法类似。...,//标准的卫星地图 MKMapTypeHybrid//混合地图(在卫星图上显示街道等名称) }; 3、设置地图的中心和比例尺 在百度地图等第三方地图服务的SDK中,都会提供一个类似zoomLevel...- (void)mapView:(MKMapView *)mapView didAddOverlayViews:(NSArray *)overlayViews; 添加完成覆盖物数组执行的方法 备注:在iOS9
extension URL { /// 获取本地图片(asset)中的URL static func fromLocalImage(named name: String) -> URL?
关于导入百度地图SDK出现的问题(一) ---- 原帖地址 1.MKAnnotationView和MKPinAnnotationView的区别....NSInvalidUnarchiveOperationException’,reason ‘Could not instantiate class named MKMapView’ 解决办法:如果sotoryboard中用到了地图...,必须手动导入框架MapKit.framework. ---- 4.使用百度地图api不显示当前位置的蓝点,如下代码 - (void)viewDidLoad { [super viewDidLoad]...userLocation.location.coordinate.latitude, userLocation.location.coordinate.longitude); } } ---- 5.百度地图
关于导入百度地图SDK出现的问题(二) ---- 原帖地址 ---- 1.百度地图开发中添加标注[_mapView addAnnotations:annotations]与[_mapView addAnnotation...: annotation] 的不同 /** *向地图窗口添加标注,需要实现BMKMapViewDelegate的-mapView:viewForAnnotation:函数来生成标注对应的View *...@param annotation 要添加的标注 */ - (void)addAnnotation:(id )annotation; /** *向地图窗口添加一组标注,...---- 2.百度地图api自定义paopaoView,push到一个新的界面,返回之后再点击paopaoView不在有反应,解决办法: 下面这两个方法(void)mapView:(BMKMapView...interactivePopGestureRecognizer)]) { self.interactivePopGestureRecognizer.delegate = weakSelf; } } ---- iOS7
领取专属 10元无门槛券
手把手带您无忧上云