高德地圖sdk安裝和預覽(swift)

本篇將介紹如何接入高德地圖,以及高德地圖SDK的簡單使用。

一、高德地圖簡介

高德是中國領先的數(shù)字地圖內(nèi)容、導航和位置服務解決方案提供商。擁有導航電子地圖甲級測繪資質(zhì)、測繪航空攝影甲級資質(zhì)和互聯(lián)網(wǎng)地圖服務甲級測繪資質(zhì)"三甲"資質(zhì),其優(yōu)質(zhì)的電子地圖數(shù)據(jù)庫成為公司的核心競爭力。于2014年2月,被阿里巴巴以11億元全資收購。

二、接入高德地圖

  • 第一步:去高德開放平臺,申請高德API
  • 第二步:使用CocoaPods自動部署,將高德SDK導入項目。

三、CocoaPods的安裝

幾年來mac系統(tǒng)更新?lián)Q代,CocoaPod的安裝教程也層出不窮,下面是自閉摸索來的新教程

  1. 首先我們要安裝好Ruby環(huán)境

我們需要安裝homebrew來安裝Ruby(Homebrew 能在Mac中方便的安裝軟件或者卸載軟件 。詳細可以看 Homebrew — macOS 缺失的軟件包管理器介紹)

ruby -e "$(curl -fsSL

在終端輸入來安裝homebrew,并在中途輸入mac密碼

brew -v

輸入以檢測是否安裝成功(效果大概如下)

2899450-eb95ea54888723e4.png

然后我們在終端輸入

brew install ruby

來安裝Ruby(可以用ruby -v是否檢測一下安裝成功)

我們可以輸入gem sources -l來康康默認的鏡像元

  1. 第二步:使用ruby-china的Ruby鏡像源。

Ruby的默認源使用的是cocoapods.org,國內(nèi)訪問這個網(wǎng)址有時候會有問題(404),現(xiàn)在的解決方案是使用使用ruby-china的Ruby鏡像源

先用命令:$ gem sources --remove https://rubygems.org/。
再用命令:$ gem sources -a https://gems.ruby-china.com/
為了驗證Ruby鏡像源是ruby-china,可使用命令:$ gem sources -l

  1. 第三步:安裝cocoaPods:

使用命令:sudo gem install cocoapods

過程大概如下

2969972-da27b3ebf68e6551.png

CocoaPod的安裝就完成了

然后我們需要繼續(xù)在終端輸入git clone https://git.coding.net/CocoaPods/Specs.git~/.cocoapods/repos/master 把第三方庫導入( 和從前的方法不一樣,見鏈接)

  • 檢測 是否安裝成功
    pod search AFNetworking
pod search AFNetworking
Creating search index for spec repo 'master'.. Done!

四、CocoaPods的基本使用:

步驟如下:

1. 先通過terminal(終端)找到項目目錄,并新建Podfile。

使用命令:pod init

2. 打開Podfile文件。

使用命令:open Podfile。

3. 搜索需要導入的框架。

使用命令:pod search 框架名。

4. 把所要導入的框架信息寫入Podfile文件。
platform:ios,'10.0'

target :你的項目名字 do
pod'AFNetworking','~>3.2.1'
pod'SDWebImage'
...

end
  1. 這次要導入的框架信息
platform :ios, '10.0'

target '你的項目名' do
  
  use_frameworks!

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

end
  1. 在終端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)
    }

Awesome!運行程序已經(jīng)能展示地圖了

效果:

5ADE65BA2546EE5D72D5548C8414B576.jpg

附錄:

常用可配置參數(shù)如下:

參數(shù) 類型 說明
logoCenter CGPoint 可設置Logo的位置。必須在mapView.bounds之內(nèi),否則會被忽略。
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級。級別越高,展示的內(nèi)容越細,例如街道等等。
setCenter CLLocationCoordinate2D 改變地圖中心的位置。傳遞具體的經(jīng)緯度。
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容