「Google Maps SDK for iOS」 の使い方

「Google Maps SDK for iOS」をちょっとさわる機会がありましたので、使い方を簡単にまとめてみました。
とは言っても、
https://developers.google.com/maps/documentation/ios/start
に書かれている内容とそう変わりません。

前準備

SDKのダウンロード
https://developers.google.com/maps/documentation/ios/start
の[Getting the Google Maps SDK for iOS]にダウンロード用のリンクがありますので、
そこから落として下さい。

SDKの有効化
https://code.google.com/apis/console/から適当なGoogleIDでログインして「Services」をクリックすると、Googleが展開しているサービスがずらーっと表示されます。
その中で「Google Maps SDK for iOS」ってのを見つけて、有効にして下さい。

20130301_1_1

20130301_1_2

APIキーの取得
「API Access」を開くと右下に「Create new iOS Key…」ってのがあると思いますので、それをクリック。

20130301_1_3
アプリのバンドルIDをテキストエリアに書いて「Create」します。

そしたらAPIキーが表示されると思いますので、それを控えておきます。

XCodeプロジェクトの設定

※googleのドキュメントだとARCを使う事が勧められてるんですけど、私は使わずにやってみました。

適当なプロジェクトを作ったらそのFrameworksにダウンロードしておいたSDKの中から「GoogleMaps.framework」をドラッグ&ドロップします。

20130301_4

そしたらこんなのが表示されるので「Copy items destination group’s folder(if needed)」にチェックを入れて「finish」

20130301_1_5

で次に、追加した「GoogleMaps.framework」のコンテクストメニューを表示して「show in finder」します。

20130301_01_6

で GoogleMaps.framework/Resources/ を開くと「GoogleMaps.bundle」があります。

20130301_01_7

これを先ほどと同様にFrameworksへドラッグ&ドロップします。
でもこの時は「Copy items destination group’s folder(if needed)」はチェックしないで下さい。

次に「Link Binary With Libraries」へ必要なライブラリを追加します。
私たテストしたsdk version1.1.0では下記の通りでした。

  • AVFoundation.framework
  • CoreData.framework
  • CoreLocation.framework
  • CoreText.framework
  • GLKit.framework
  • ImageIO.framework
  • libicucore.dylib
  • libstdc++.dylib
  • libz.dylib
  • OpenGLES.framework
  • QuartzCore.framework
  • SystemConfiguration.framework

追加の仕方を念のため補足しておきますと
下記の画面で丸に囲ったアイコンをクリックすると追加できます。

20130301_1_8

Architecturesをarmv7に変更する

私の環境では初期状態で下記の画面でした。
おそらくこのarmv7sを外せば良いのだと思いますが、別に外さなくても動作してます。

20130301_1_9

Other Linker Flagsに”-ObjC”を設定する

20130301_1_10

この項目が表示されていない時は左上の「ALL」ってところをクリックすると表示されるはずです。

マップを表示してみる

ここから実際のコーディングです。

まず取得したAPIキーを設定します。
AppDelegateのapplication:didFinishLaunchingWithOptionsの先頭に


[GMSServices provideAPIKey:@"取得したAPIキー"];

と記述します。
あっと、事前にインポートしておいて下さい。

#import <GoogleMaps/GoogleMaps.h> 

ViewControllerへGMSMapViewを追加
ちょっとGoogleのガイドとは違いますが、viewDidLoadでsubviewとして追加してみています。


- (void)viewDidLoad	
{	
    [super viewDidLoad];	
    // Do any additional setup after loading the view, typically from a nib.	
    
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:36.5946816	
                                                            longitude:136.6255726	
                                                                 zoom:10];	
    GMSMapView* mapView = [GMSMapView mapWithFrame:self.view.bounds camera:camera];	
    mapView.myLocationEnabled = YES;	
    [self.view addSubview:mapView];	
}

これで実行すると。。。

20130301_1_11
デデーン!

こんな感じで表示されます。
スクロールやズームもそのまま動きますよ。

表示するだけなら簡単ですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です