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(一)
奇舞週刊

相關文章
相關標籤/搜索