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

级别:★☆☆☆☆
标签:「iOS」「MAMapKit」「高德」
做者: 647
审校: QiShare团队php


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


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

1、高德地图简介

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

2、接入高德地图

  • 第一步:去高德开放平台,申请高德APIKey。(传送门:连接github

  • 第二步:使用CocoaPods自动部署,将高德SDK导入项目。数据库

关于CocoaPods的使用请查看:CocoaPods —— 简介、安装及基本使用swift

修改podfile,以下:api

platform :ios, '10.0'

target '你的项目名' do
  
  use_frameworks!

pod 'AMap3DMap' #3D地图SDK
pod 'AMapSearch' #地图SDK搜索功能
pod 'AMapLocation' #定位SDK

end
复制代码

而后,pod install一下。bash

3、高德地图简单使用

  1. 首先,导入高德地图头文件。
    注意:Swift项目导入头文件须要用到桥接头文件(Objective-C Bridging Header)。
#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)
    }
复制代码

这样,地图就简单配置好了,显示以下图:

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


小编微信:可加并拉入《QiShare技术交流群》。

关注咱们的途径有:
QiShare(简书)
QiShare(掘金)
QiShare(知乎)
QiShare(GitHub)
QiShare(CocoaChina)
QiShare(StackOverflow)
QiShare(微信公众号)

推荐文章:
Swift 5.1 (2) - 运算符
Swift 5.1(1) - 基础
iOS UI状态保存和恢复(三)
iOS UI状态保存和恢复(二)
iOS UI状态保存和恢复(一)
iOS 中精肯定时的经常使用方法
Sign In With Apple(一)
奇舞周刊

相关文章
相关标签/搜索