您已全部設定完成!

若要開始開發,請參閱我們的開發人員文件

啟用 Google Maps SDK for iOS

為協助您開始,我們將先引導您使用 Google Developers Console 來執行一些動作:

  1. 建立或選擇專案
  2. 啟用 Google Maps SDK for iOS
  3. 建立適當的金鑰
繼續

開始使用

在可以開始在 iOS 上進行「Google 地圖」作業之前,您必須下載 Google Maps SDK for iOS 並確保您已擁有 API 金鑰。

每個版本都提供完整的版本資訊

如果您是使用帶有 Google Maps APIs Premium Plan 授權的 Google Maps SDK for iOS,請改為參閱 Premium Plan 入門指南

步驟 1:取得最新版本的 Xcode

要使用 Google Maps SDK for iOS 建置專案,您需要版本 7.3 或更新版本的 Xcode

步驟 2:安裝 SDK

使用 CocoaPods

Google Maps SDK for iOS 是以 CocoaPods pod 的形式提供。CocoaPods 是適用於 Swift 與 Objective-C Cocoa 專案的開放原始碼相依性管理員。

如果您還沒有 CocoaPods 工具,請從終端機執行下列指令,以便在 macOS 上加以安裝。如需詳細資料,請參閱 CocoaPods 入門指南

sudo gem install cocoapods

為 Google Maps SDK for iOS 建立 Podfile,並使用它來安裝 API 與其相依項目:

  1. 如果您還沒有 Xcode 專案,請立即建立專案並將它儲存到您的本機電腦(如果您是 iOS 開發新手,請建立「單一檢視應用程式」。)
  2. 在專案目錄中建立名為 Podfile 的檔案。此檔案會定義您專案的相依性。
  3. 編輯 Podfile 並新增您的相依項目。這是一個範例,其中包含了 Google Maps SDK for iOS 和 Places API for iOS (可選)所需的相依性:
    source 'https://github.com/CocoaPods/Specs.git'
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps'
      pod 'GooglePlaces'
    end

    進階方案客戶還必須新增:pod 'GoogleMaps/M4B'

  4. 儲存該 Podfile
  5. 開啟終端機並移至包含該 Podfile 的目錄:

    cd <path-to-project>
  6. 執行 pod install 命令。這將會安裝 Podfile 中所指定的 API,以及那些 API 可能具有的任何相依性項目。

    pod install
  7. 關閉 Xcode,然後開啟 (按兩下) 您專案的 .xcworkspace 檔案以啟動 Xcode。之後,您必須使用 .xcworkspace 檔案來開啟該專案。

手動安裝

本指南顯示如何在 Xcode 中手動新增 GoogleMaps 架構到您的專案及設定您的建置設定。

  1. 下載 SDK 原始檔案:google-2.0.1
  2. 將原始檔案解除封裝。
  3. 啟動 Xcode,並開啟現有專案或建立新專案。如果您是 iOS 新手,請建立「單一檢視應用程式」,並且停用 [Use Storyboards],但要啟用 [Use Automatic Reference Counting]
  4. 將下列套件組合拖曳到您的專案(出現提示時,請選取 [Copy items if needed]):
    • Subspecs/Base/Frameworks/GoogleMapsBase.framework
    • Subspecs/Maps/Frameworks/GoogleMaps.framework
    • Subspecs/Maps/Frameworks/GoogleMapsCore.framework

    進階方案客戶還必須包括 Subspecs/M4B/Frameworks/GoogleMapsM4B.framework

  5. 在您的專案中,用滑鼠右鍵按一下 GoogleMaps.framework,然後選取 [Show In Finder]
  6. GoogleMaps.bundleResources 資料夾拖曳到您的專案。當出現提示時,請確認選取 [Copy items into destination group's folder]
  7. 從「Project Navigator」選取您的專案,並選擇應用程式的目標。
  8. 開啟 [Build Phases] 標籤,並在 [Link Binary with Libraries] 中新增下列架構:
    • GoogleMapsBase.framework
    • GoogleMaps.framework
    • GoogleMapsCore.framework
    • GoogleMapsM4B.framework (僅限進階方案客戶)
    • Accelerate.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreLocation.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libz.tbd
    • OpenGLES.framework
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  9. 選擇您的專案,而不是選擇特定目標,然後開啟 [Build Settings] 標籤。在 [Other Linker Flags] 區塊中,新增 -ObjC。如果看不見這些設定,請將 [Build Settings] 列的篩選器從 [Basic] 變更為 [All]

  10. 若要安裝 Places API for iOS,請參閱開始使用 Places API for iOS

步驟 4:取得 API 金鑰

請按一下下方按鈕,它將引導您完成啟用 Google Maps SDK for iOS 及取得 API 金鑰的程序。如果您的專案已經有 iOS 限定 API 金鑰,您可以使用該金鑰。

取得金鑰

或者,您也可以依照這些步驟取得 API 金鑰:

  1. 前往 Google API Console
  2. 建立或選取專案。
  3. 按一下 [Continue] 以啟用 Google Maps SDK for iOS。
  4. 憑證 頁面上,取得 API 金鑰
    注意:如果您擁有具有 iOS 限制的金鑰,您可以使用該金鑰。您可以將同一金鑰用於同一專案中您的任何 iOS 應用程式。
  5. 在顯示 API 金鑰的對話方塊中,選擇 [Restrict key] 以設定 API 金鑰上的 iOS 限制。
  6. [Restrictions] 區塊中,選擇 [iOS apps],然後輸入您應用程式的套件組合識別碼。例如:com.example.hellomap
  7. 按一下 [Save]

    您的新 iOS 限定 API 金鑰會出現在您專案的 API 金鑰清單中。API 金鑰是字元字串,類似於:

    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

您也可以在 Google API Console 中查詢現有金鑰

如需有關使用 Google API Console 的詳細資訊,請參閱 API Console 說明

步驟 5:將 API 金鑰新增到您的應用程式

Swift

將您的 API 金鑰新增到您的 AppDelegate.swift,如下所示:

  1. 新增下列重要陳述式:
    import GoogleMaps
  2. 新增下列內容到您的 application(_:didFinishLaunchingWithOptions:) 方法,將 YOUR_API_KEY 取代為您的 API 金鑰:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. 如果您使用的是 Places API,請如此處所示,再次新增您的金鑰:
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

將您的 API 金鑰新增到您的 AppDelegate.m,如下所示:

  1. 新增下列重要陳述式:
    @import GoogleMaps;
  2. 新增下列功能到您的 application:didFinishLaunchingWithOptions: 方法,將 YOUR_API_KEY 取代為您的 API 金鑰:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. 如果您使用的是 Places API,請如此處所示,再次新增您的金鑰:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

步驟 6:新增地圖

下列程式碼示範如何將簡單的地圖新增至現有的 ViewController。如果您正在建立新應用程式,請先依照上面的安裝指示,然後建立一個新的單一檢視應用程式;並且停用 [Use Storyboards],但要啟用 [Use Automatic Reference Counting] (ARC)。

現在,在您應用程式的預設 ViewController 中新增或更新幾個方法,以建立並初始化 GMSMapView 的實例。

Swift

import UIKit
import GoogleMaps

class YourViewController: UIViewController {

  // You don't need to modify the default init(nibName:bundle:) method.

  override func loadView() {
    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
    mapView.isMyLocationEnabled = true
    view = mapView

    // Creates a marker in the center of the map.
    let marker = GMSMarker()
    marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
    marker.title = "Sydney"
    marker.snippet = "Australia"
    marker.map = mapView
  }
}

Objective-C

#import "YourViewController.h"
#import <GoogleMaps/GoogleMaps.h>

@implementation YourViewController

// You don't need to modify the default initWithNibName:bundle: method.

- (void)loadView {
  // Create a GMSCameraPosition that tells the map to display the
  // coordinate -33.86,151.20 at zoom level 6.
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                          longitude:151.20
                                                               zoom:6];
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  mapView.myLocationEnabled = YES;
  self.view = mapView;

  // Creates a marker in the center of the map.
  GMSMarker *marker = [[GMSMarker alloc] init];
  marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
  marker.title = @"Sydney";
  marker.snippet = @"Australia";
  marker.map = mapView;
}

@end

執行您的應用程式 。您應該會看見一個單一標記位於澳洲雪梨地圖的中央。如果您看見了標記,但卻無法看見地圖,請確認您是否已提供 API 金鑰。

步驟 7:宣告 API 使用的 URL 配置

從 iOS 9 與 Xcode 7 開始,應用程式必須在應用程式的 Info.plist 檔案中,指定它們意圖開啟的網址配置來宣告該配置。 Google Maps SDK for iOS 會在使用者按一下地圖上的 Google 標誌時,開啟「Google 地圖」行動應用程式,因此您的應用程式必須宣告相關的網址配置。

如果要宣告 Google Maps SDK for iOS 使用的 URL 配置,請將下列行新增至您的 Info.plist

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>googlechromes</string>
    <string>comgooglemaps</string>
</array>

下列螢幕擷取畫面顯示 Xcode 使用者介面中的設定:

Xcode 中的 LSApplicationQueriesSchemes 設定

如果沒有上述宣告,當使用者點選地圖上的 Google 標誌時,將會發生下列錯誤:

-canOpenURL: failed for URL: "comgooglemaps://" - error:"This app is not allowed to query for scheme comgooglemaps"
-canOpenURL: failed for URL: "googlechromes://" - error:"This app is not allowed to query for scheme googlechromes"

如果要解決這些錯誤,請如上所述將宣告新增至您的 Info.plist

實驗 Google Maps SDK 示範專案

使用 pod try GoogleMaps 嘗試 SDK 示範。 如需更多詳細資料,請參閱程式碼範例指南。

從較早版本升級

依照下列指示將現有專案升級到最新版本的 Google Maps SDK for iOS。

注意:Google Maps SDK for iOS 版本 1.9.2 和更早版本以包含靜態架構 zip 檔案的形式提供。 此外,也有從 CocoaPods pod 安裝最新版本的選項。 從版本 1.10.0 開始,Google Maps SDK for iOS 只能透過 CocoaPods 來安裝。

如果先前已從包含靜態架構的 zip 檔案安裝 Google Maps SDK for iOS:

  1. 將所有針對先前版本架構的參照從您的 Xcode 專案移除。
  2. 依照上述注意中的指示使用 CocoaPods 安裝 Google Maps SDK for iOS。

  3. 做出所有因應升級而必須進行的變更。 參閱版本資訊以取得每個版本的變更清單。

  4. 透過選取 [Product] > [Clean] 然後選取 [Product] > [Build] 以清除並重建您的專案。

如果您已從 Google-Maps-iOS-SDK pod 安裝 Google Maps SDK for iOS:

  1. 將 pod 名稱變更為 GoogleMaps
  2. 執行 pod install
  3. 做出所有因應升級而必須進行的變更。 參閱版本資訊以取得每個版本的變更清單。

  4. 透過選取 [Product] > [Clean] 然後選取 [Product] > [Build] 以清除並重建您的專案。

如果您已從 GoogleMaps pod 安裝 Google Maps SDK for iOS:

  1. 檢查您的 Podfile 是否有任何版本限制條件,並確保您已移除或更新版本,以確保您擁有所需的版本。 參閱版本資訊以取得版本號碼清單。

  2. 執行 pod update

  3. 做出所有因應升級而必須進行的變更。 參閱版本資訊以取得每個版本的變更清單。

  4. 透過選取 [Product] > [Clean] 然後選取 [Product] > [Build] 以清除並重建您的專案。

傳送您對下列選項的寶貴意見...

這個網頁
Google Maps SDK for iOS
Google Maps SDK for iOS
需要協助嗎?請前往我們的支援網頁