在開發 LBS (Location-Based Service) 地圖一定是必備的, 在 iOS 上有兩個比較常用的選擇, 一個是內建的 Apple Map 另一個就是在下覺得最好用的 Google Map, 以下就介紹如何使用 Google Map SDK

參考網址: https://developers.google.com/maps/documentation/ios/start?hl=zh-tw

照參考網址的步驟

  1. 下載 SDK
  2. 將 GoogleMaps.framework 拖拉近你的 Project
  3. 在 Project 中選擇 GoogleMaps.framework 按下滑鼠右鍵 選 show in Finder
  4. 將 Resources/GoogleMaps.bundle 拉出來到 Project裡
  5. 到 Build Phases 中的 Link Binary with Libraries 新增需要的 Framework
  6. 新增以下Frameworks

    AVFoundation.framework
    CoreData.framework
    CoreLocation.framework
    CoreText.framework
    GLKit.framework
    ImageIO.framework
    libc++.dylib
    libicucore.dylib
    libz.dylib
    OpenGLES.framework
    QuartzCore.framework
    SystemConfiguration.framework
    
  7. 到 Build Settings 裡的 Other Linker Flags 新加上 -ObjC

  8. 是 Swift 所以我們到 Bridge-Header 新增 (不知道什麼是 Bridge-Header 可參考 Swift-Facebook

    #import <GoogleMaps/GoogleMaps.h>
    
  9. 到 AppDelegate.swift 的 didFinishLaunchingWithOptions 加上

    GMSServices.provideAPIKey("APIKEY_FROM_GOOGLE"); //input your API KEY in it.
    
  10. 準備完成 先到ViewController.swift 新增

    @IBOutlet
    var MapView : GMSMapView!
    
  11. 到 StoryBoard 放一個 View 把 View 的 Class 指定成 GMSMapView 在和ViewController裡的 MapView 做連結

  12. 初始化 Map

        var camera : GMSCameraPosition = GMSCameraPosition.cameraWithLatitude(25.02, longitude: 25.055, zoom: 15);
    self.MapView.camera = camera;
    self.MapView.myLocationEnabled = true;
    
  13. 執行 App 就可以看到 Google Map 了

  14. One more thing.... 新增 Marker

        //creat maker
    var position = CLLocationCoordinate2DMake(25.02, 25.055);
    var placeMaker : GMSMarker = GMSMarker(position: position)
    
    placeMaker.title = "Hello Map; //Title
    placeMaker.snippet = "Hello World"; //Desc
    placeMaker.map = self.MapView;
    
  15. 這樣就會出現 Map + Marker 了 !

結語:
雖然 Google Map 不是 iOS 原生的, 但他本來的操作是大家所熟悉的所以我還是比較喜歡使用, 還可以融合街景, 計算路徑等等的功能, 應用範圍還是蠻廣的!