読者です 読者をやめる 読者になる 読者になる

Swift,Objective-Cプログラミング ~ iOS ~

Objective-C,Swift,Apple Watchなどのプログラミング

【iOS Swift入門 #229】Google Maps SDKセットアップガイド・使い方

Swift Swift2.0 入門

1.Google Maps SDKインストール
CocoaPodsを使う。

pod初期化
ターミナルでプロジェクトファイルのあるフォルダに移動し、下記コマンドを実行

pod init

②フォルダに作成されたPodfileをエディタで開く
③ファイルを下記のように編集する(#追記がある行を追記)

# Uncomment this line to define a global platform for your project
# platform :ios, '6.0'
source 'https://github.com/CocoaPods/Specs.git' #追記
platform :ios, '8.1' #追記

target 'SampleGoogleMap' do
pod 'GoogleMaps' #追記
end

target 'SampleGoogleMapTests' do

end

④ターミナルで下記コマンドを実行
pod install

2.API Keyを取得する
Google Developer Consoleを開く
https://console.developers.google.com/

必要ならログインをする。

②下記スクリーンショットのとおりに手順を進める
●●●
f:id:fjswkun:20150712001638p:plain

●●●
f:id:fjswkun:20150712001657p:plain

●●●
f:id:fjswkun:20150712001709p:plain

●●●
f:id:fjswkun:20150712001722p:plain

●●●
f:id:fjswkun:20150712001733p:plain

●●●
f:id:fjswkun:20150712001747p:plain

●●●
f:id:fjswkun:20150712001758p:plain

●●●
f:id:fjswkun:20150712001813p:plain

●●●
f:id:fjswkun:20150712001829p:plain

●●●
f:id:fjswkun:20150712001844p:plain

3.GoogleMaps SDKの初期セットアップのソースを書く
①SampleGoogleMap.xcworkspaceを開く

②AppDelegate.swiftを開く

③//追記がついた行をファイルに追記する

import UIKit
import GoogleMaps;  //追記

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?
    let cGoogleMapsAPIKey = "Googleで取得したAPIKey"  //追記

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.
        // Google Mapsの初期設定
        GMSServices.provideAPIKey(cGoogleMapsAPIKey) //追記

        return true
    }

    func applicationWillResignActive(application: UIApplication) {
        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
        // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
    }

    func applicationDidEnterBackground(application: UIApplication) {
        // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
        // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
    }

    func applicationWillEnterForeground(application: UIApplication) {
        // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
    }

    func applicationDidBecomeActive(application: UIApplication) {
        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
    }

    func applicationWillTerminate(application: UIApplication) {
        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
    }


}

④ビルドできることを確認する

4.画面にとりあえずの地図を表示する
①ViewController.swiftを開く
②import文を追記する

import GoogleMaps

②viewDidLoadの処理を下記のようにする

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    // とりあえずの地図を表示
    var camera = GMSCameraPosition.cameraWithLatitude(-33.86,longitude: 151.20, zoom: 6)
    var mapView = GMSMapView.mapWithFrame(CGRectZero, camera: camera)
    mapView.myLocationEnabled = true
    self.view = mapView

    var marker = GMSMarker()
    marker.position = CLLocationCoordinate2DMake(-33.86, 151.20)
    marker.title = "Sydney"
    marker.snippet = "Australia"
    marker.map = mapView
}

デバッグ実行してみる
f:id:fjswkun:20150712004125p:plain

地図が表示できてるはず。

地図を表示できなかった方はこちらからサンプルプロジェクトをダウンロードし、
APIKeyを変更して実行してみてください。
SampleGoogleMap_End.zip - Google ドライブ

■おわりに
上級をめざすなら英語も。

iOS 8 Swift Programming Cookbook: Solutions & Examples for iOS Apps

【参考情報】
iOSアプリ開発未経験の人向け
iOSアプリ開発をはじめたとき最初に買った書籍
【アプリ作成未経験の人向け】
Storyboardを使って画面を作成していく。
手順にしたがって操作していくと、ボタンの作成やWebViewの作成などができる。
アプリって、こんな感じで作るんだというのを体験できる。

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】

・わかりやすくていい、と聞いた本
立ち読みした感じだと【アプリ作成未経験の人向け】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

②を終えたくらいの知識の方向け
・アプリ開発独学中に2冊めに購入した書籍
プログラミング知識はなくても、若干理解するのに時間がかかる程度で、
読み進められるわかりやすさがある。

iPhoneアプリ開発塾

iPhoneアプリ開発塾

③中級者、上級者向け

詳解 Swift

詳解 Swift