マーカーが配置された地図を追加する
このチュートリアルでは、マーカーが配置されたシンプルな Google マップを iOS に追加する方法を説明します。 。Swift API や Cloud Build、 Objective-C と Xcode の一般的な知識が必要です。Google Kubernetes Engine の 開発者ガイドを参照してください。ご覧ください
このチュートリアルでは、次の地図を作成します。マーカーの位置は シドニー(オーストラリア)。
コードを取得する
アプリケーションのクローンを作成するか、 GitHub の Google Maps iOS サンプル リポジトリ。
または、次のボタンをクリックしてソースコードをダウンロードします。
Swift
import UIKit import GoogleMaps class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. // 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: self.view.frame, camera: camera) self.view.addSubview(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 "ViewController.h" #import <GoogleMaps/GoogleMaps.h> @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // 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:self.view.frame camera:camera]; mapView.myLocationEnabled = YES; [self.view addSubview: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
始める
Swift Package Manager
Maps SDK for iOS は、Swift Package Manager を使用してインストールできます。
- 既存の Maps SDK for iOS の依存関係がすべて削除されていることを確認します。
- ターミナル ウィンドウを開いて、
tutorials/map-with-marker
ディレクトリに移動します。 -
Xcode ワークスペースが閉じていることを確認し、次のコマンドを実行します。
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all rm Podfile rm map-with-marker.xcworkspace
- Xcode プロジェクトを開き、podfile を削除します。
- [ファイル >パッケージの依存関係を追加する。
- URL として「https://github.com/googlemaps/ios-maps-sdk」と入力し、Enter キーを押してパッケージを取得し、[Add Package] をクリックします。
- 必要に応じて、[File] >パッケージ >Reset Package Cache(パッケージ キャッシュのリセット)を参照してください。
CocoaPods を使用
- Xcode をダウンロードしてインストールする バージョン 15.0 以降。
- CocoaPods をまだお持ちでない場合は、
ターミナルから次のコマンドを実行して、macOS にインストールします。
sudo gem install cocoapods
tutorials/map-with-marker
ディレクトリに移動します。pod install
コマンドを実行します。これにより、Podfile
で指定した Maps SDK が依存関係とともにインストールされます。pod outdated
を実行して、インストールされた Pod のバージョンと新しいアップデートを比較します。新しいバージョンが検出された場合は、pod update
を実行してPodfile
を更新し、最新の SDK をインストールします。詳しくは、CocoaPods ガイドをご覧ください。- プロジェクトの map-with-marker.xcworkspace を開く(ダブルクリック)します。
Xcode で開くことができます。プロジェクトを開くには、
.xcworkspace
ファイルを使用する必要があります。
API キーを取得して必要な API を有効にする
このチュートリアルを最後まで進めるには、サービス アカウントに対して承認された Google API キーが必要です。 Maps SDK for iOS を使用します次のボタンをクリックすると、 API を有効にします。
使ってみる詳しくは、 API キーを取得します。
API キーをアプリに追加する
次のように、API キーを AppDelegate.swift
に追加します。
- 次の import ステートメントがファイルに追加されています。
import GoogleMaps
application(_:didFinishLaunchingWithOptions:)
の次の行を編集します。 メソッドで指定し、YOUR_API_KEY を実際の API キーに置き換えます。GMSServices.provideAPIKey("YOUR_API_KEY")
アプリをビルドして実行する
- iOS デバイスをパソコンに接続するか、 シミュレータ Xcode のスキームメニューから 選択できます
- デバイスを使用する場合は、位置情報サービスが有効になっていることを確認します。 シミュレータを使用している場合は、[機能] からロケーションを選択します。 選択します。
- Xcode で [Product/Run] メニュー オプション(または ボタンアイコンを使用します)。
- Xcode はアプリをビルドし、デバイスまたはシミュレータでアプリを実行します。
- このページの画像のように、オーストラリア東海岸のシドニーにマーカーが立った地図が表示されます。
トラブルシューティング:
- 地図が表示されない場合は、API キーを取得して 前述のように、それをアプリに追加します。確認 API キーに関するエラー メッセージを表示する Xcode のデバッグ コンソール。
- API キーを iOS バンドル ID で制限している場合は、
キーを追加して、アプリのバンドル ID を追加します。
com.google.examples.map-with-marker
。 - Wi-Fi または GPS の接続状態が良好であることを確認します。
- Xcode デバッグツールを使用する ログを表示し、アプリをデバッグできます。
コードを理解する
- 地図を作成し、
viewDidLoad()
でビューとして設定します。Swift
// 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) view = mapView
Objective-C
// 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.0]; GMSMapView *mapView = [[GMSMapView alloc] initWithFrame: CGRectZero camera:camera]; self.view = mapView;
viewDidLoad()
の地図にマーカーを追加します。Swift
// 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
// 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;
デフォルトでは、Maps SDK for iOS は ユーザーがマーカーをタップしたときに表示されます。クリック リスナーを追加する必要はありません。 デフォルトの動作で問題ない場合は、マーカーの位置を調整します。
これで完了です。Google マップを表示する iOS アプリが 特定の場所を示すマーカー。また、 Maps SDK for iOS
次のステップ
マップ オブジェクトの詳細と、 マーカーで可能な操作