美文网首页QiShare文章汇总
iOS 高德SDK应用实践(一)—— 简介与初始化地图

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

作者: QiShare | 来源:发表于2019-09-16 12:04 被阅读0次

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


    前言:
    前段时间,在一个项目中需要自定义地图。 于是,我们选择了接入了高德地图。
    基于这次自定义地图的实践,总结一些使用上的一些小细节,并计划落地一系列地图相关的文章。
    目录如下:
    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. 首先,导入高德地图头文件。
      注意: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)
        }
    

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

    image

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


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

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

    推荐文章:
    2019苹果秋季新品发布会速览
    申请苹果开发者账号的流程
    Swift 5.1 (3) - 字符串
    用Flutter 写一个简单页面
    5分钟,带你迅速上手Markdown语法
    Swift 5.1 (2) - 运算符
    Swift 5.1(1) - 基础
    Sign In With Apple(一)
    奇舞周刊

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/wybxuctx.html