前言:
前段时间,在一个项目中需求自定义地图。
于是,咱们挑选了接入了高德地图。
基于这次自定义地图的实践,总结一些运用上的一些小细节,并计划落地一系列地图相关的文章。
目录如下:
iOS 高德SDK运用实践(一)—— 简介与初始化地图
iOS 高德SDK运用实践(二)—— 自定义大头针AnnotationView
iOS 高德SDK运用实践(三)—— 自定义气泡CalloutView


本篇将介绍如何接入高德地图,以及高德地图SDK的简略运用。

一、高德地图简介

高德是我国抢先的数字地图内容、导航和方位服务解决方案提供商。具有导航电子地图甲级测绘资质、测绘航空摄影甲级资质和互联网地图服务甲级测绘资质”三甲”资质,其优质的电子地图数据库成为公司的中心竞争力。于2014年2月,被阿里巴巴以11亿元全资收买。(内容源于360查找)

二、接入高德地图

  • 第一步:去高德开放渠道,申请高德APIKey。(传送门:链接)

  • 第二步:运用CocoaPods主动部署,将高德SDK导入项目。

关于CocoaPods的运用请查看:CocoaPods —— 简介、装置及基本运用

修改podfile,如下:

platform :ios, '10.0'
target '你的项目名' do
  use_frameworks!
pod 'AMap3DMap' #3D地图SDK
pod 'AMapSearch' #地图SDK查找功能
pod 'AMapLocation' #定位SDK
end

然后,pod install一下。

三、高德地图简略运用

  1. 首要,导入高德地图头文件。 PS:这里有个小知识点,Swift项目导入头文件需求用到桥接头文件(Objective-C Bridging Header)。详细方法见:iOS 如安在Swift项目中导入OC头文件?
#import <MAMapKit/MAMapKit.h>
#import <AMapFoundationKit/AMapFoundationKit.h>
  1. 其次,在AppDelegate中,填写申请到的APIKey
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        //...          
        AMapServices.shared().apiKey = "申请好的APIKey"
        //...
        return true
    }
  1. 然后,在Controller中实例化地图对象。
    override func viewDidLoad() {
        super.viewDidLoad()
        let mapView = MAMapView(frame: self.view.bounds)
        mapView.delegate = self
        self.view.addSubview(mapView)
    }

这时候,现已能展现地图了,是不是很简略?

  1. 这时候,咱们再略微定制一下。

常用可装备参数如下:

参数 类型 说明
logoCenter CGPoint 可设置Logo的方位。必须在mapView.bounds之内,否则会被忽略。
showsCompass Bool 是否显现指南针。
compassOrigin CGPoint 设置指南针的方位。
showsScale Bool 是否显现比例值。
scaleOrigin CGPoint 设置比例尺的方位。
zoomEnabled Bool 是否敞开缩放手势,默许true。
scrollEnabled Bool 是否敞开滑动手势,默许true。
rotateEnabled Bool 是否敞开旋转手势,默许true。
rotateCameraEnabled Bool 是否敞开歪斜旋转手势,默许true。用户能够在地图上放置两个手指,移动它们一同向下或向上去添加或减小歪斜角。
setZoomLevel CGFloat 改动地图缩放等级。规模从3级到19级,共17级。等级越高,展现的内容越细,例如大街等等。
setCenter CLLocationCoordinate2D 改动地图中心的方位。传递详细的经纬度

注意:如果用到定位,需求敞开定位权限。另外,模仿器无法模仿定位功能。

    func initMapView() {
        AMapServices.shared()?.enableHTTPS = true
        mapView = MAMapView(frame: self.view.bounds)
        mapView.showsUserLocation = true
        mapView.isRotateEnabled = false // 制止旋转手势
        mapView.userTrackingMode = .followWithHeading // 翻开定位方向
        mapView.isRotateCameraEnabled = false // 制止歪斜手势
        mapView.showsCompass = false // 制止显现指南针
        mapView.delegate = self
        mapView.setZoomLevel(13.0, animated: true) // 默许缩放等级为13
        mapView.pausesLocationUpdatesAutomatically = false
        self.view.addSubview(mapView)
    }

这样,地图就简略装备好了,显现如下图:

iOS 高德SDK应用实践(一)—— 简介与初始化地图

最终,更多详细信息,请参考:高德地图官方文档

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。