HERE SDK を使用して簡単なアプリを作成します
このガイドでは、 SDK 用の簡単な iOS アプリケーションを作成して、 iOS デバイス でマップをレンダリングする方法について説明します。 パン、回転、チルト、ピンチなどのタッチジェスチャを使用して、地図をナビゲートできます。 このガイドの内容は、 Xcode 13.0 および iOS SDK に適用 16 されます。
このチュートリアルは、 Objective-C を使用した開発に適用されます Swift を使用して同じタスクを実行する方法については 、「 Swift を使用してシンプルな HERE SDK アプリを作成する」を参照してください。
HERE SDK 資格情報を取得します
Before working with HERE SDK you need to acquire a set of credentials by registering your application on https://here-tech.skawa.fun. Each application requires a unique set of credentials. For the available authentication options, see the Identity & Access Management Developer Guide.
新しいシングルビューアプリケーションを作成します
- Xcode メニューから して、新規プロジェクトダイアログボックスを開きます ( または、 Shift キーを押しながら Command キーを押しながら N キーを押します ) 。
- 作成するアプリケーションの種類として、 を選択します。 次へを押します。
- In the next dialog enter your Product Name (such as
HelloMap
) and Organization Identifier (such asedu.self
). The resulting Bundle Identifier must be the same as you have registered on here-tech.skawa.fun. - 次に 、「言語」の下の「 Objective-C」を選択し、「次へ」をクリックします。 プロジェクトを保存するディレクトリに移動 し、 [ 作成 ] を選択します。
- 次の手順で は、このプロジェクトで HERE SDK を使用するように設定します。
iOS for SDK を追加します
- CocoaPods.
- 動的フレームワークを手動でインポートします
CocoaPod を使用して HERE SDK をインポートするには、次の手順を実行
- プロジェクトに Podfile を作成し、次の内容を追加します。 を
YourApp
プロジェクト名に置き換えます。platform :ios, '13.0' target 'YourApp' do pod 'HEREMaps' end
- 次に、ワークステーションのコマンドラインターミナルを開きます。 プロジェクトのルートフォルダーから、次のコマンドを実行します。
pod install
NMAKit.xcframework
Apple が推奨するフォーマットを統合します。 または 、 HERE SDK 動的フレームワークを手動でインポートするには、次の手順を
- ダウンロードSDK for iOS package from https://here-tech.skawa.fun and extract it to somewhere in your local file system.
-
NMAKit.xcframework
を Xcode プロジェクトに追加します。 アプリのターゲットをクリックし、 [ 全般 ] タブを選択します。 「フレームワーク、ライブラリ、および埋め込みコンテンツ」というセクションを探し、プラス記号 (+) をクリックして、「その他を追加」をクリックしてから、「ファイルを追加」ボタンをクリックします。 ファイルダイアログボックスで、「 NMAKit.xcframework 」フォルダを選択し、 「完了」をクリックします。 -
NMAKit.xcframework
が「フレームワーク、ライブラリ、および埋め込みコンテンツ」セクションに表示されていることを確認します。
アプリを確認して実行します
- 次に、モジュールが有効になっていることを確認します。 「ビルド設定」タブをクリックして、「 Apple Clang-Language-Modules 」セクションに移動します。 「モジュールの有効化 (C および Objective-C ) 」の値が「はい」であることを確認してください。
- アプリケーションを実行します。 Xcode メニューバーから します。 プロジェクトが iOS シミュレータでエラーなく実行されていることを確認してください。
- SDK for iOS が Xcode プロジェクトで使用できるようになりました。 HERE SDK で動作するようにプロジェクトが設定されました。サンプルアプリケーションを拡張して、マップをレンダリングしてください。
マップ ビューを作成します
このセクションでは NMAMapView
、および NMAGeoCoordinates
クラスを使用してマップをレンダリングします。
-
を作成
NMAMapView
します。-
Main.storyboard
ナビゲータでを選択し、 Command + Option + Control + 3 キーを押してユーティリティビューを開きます。 View オブジェクトを Object ライブラリから View Controller にドラッグアンドドロップします。 必要に応じて、ビューのサイズを変更して、表示領域全体を表示できるようにします。 - Interface Builder で、作成したビューをクリックし、 Command + Option + 3 キーを押してユーティリティビューで Identity Inspector を開きます。 クラスの値を
UIView
からに変更NMAMapView
し、 Return キーを押します。 [ ドキュメントのアウトライン マップ ビュー] に、ビューの名前が [ ビュー ] から [ ビュー ] に変更されたことが表示されます。
-
-
ViewController で
NMAMapView
へのアウトレットを作成します。-
Main.storyboard
ナビゲータでを選択します。 - Command + Option + Return キーを押して、 Assistant Editor を開きます。 ViewController.m が表示されます
- このファイルの先頭に次のインポートステートメントを追加します。
@import NMAKit;
- キーボードの Control キーを押しながらクリックし、マップ ビューから ViewController.m のインターフェイスブロックにドラッグします 青い線と、「コンセントまたはコンセントの接続」を示すツールチップが表示されます。 マウスボタンを離すと、ダイアログが表示され、アウトレットを作成できます。
-
アウトレット の名前をマップビューにし、他のデフォルトオプションを使用してから [ 接続 ] を選択します。
-
-
アウトレットがに
NMAMapView
設定されました。 変更されたファイルは次のとおりです。#import "HelloMapViewController.h" @import NMAKit; @interface HelloMapViewController () @property (weak, nonatomic) IBOutlet NMAMapView *mapView; @end @implementation HelloMapViewController - (void)viewDidLoad { [super viewDidLoad]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } @end
-
NMAMapView
viewDidLoad
次のようにメソッドを変更して、セットアップおよびライフサイクルコードを実装します。- (void)viewDidLoad { [super viewDidLoad]; //set geo center NMAGeoCoordinates *geoCoordCenter = [[NMAGeoCoordinates alloc] initWithLatitude:49.260327 longitude:-123.115025]; [self.mapView setGeoCenter:geoCoordCenter withAnimation:NMAMapAnimationNone]; // Note, logo is not shown when its size is greater than 1/8 of NMAMapView's height or width. self.mapView.copyrightLogoPosition = NMALayoutPositionBottomCenter; //set zoom level self.mapView.zoomLevel = 13.2; }
- HEREアプリケーションの資格情報を追加します。
- AppDelegate.m を開き、 次のインポート文をファイルの先頭に追加して NMAKit をインポートします。
@import NMAKit;
- Add the following to
didFinishLaunchingWithOptions
method replacingYOUR_APP_ID
,YOUR_APP_CODE
andYOUR_LICENSE_KEY
with the credentials that you received from https://here-tech.skawa.fun.[NMAApplicationContext setAppId:@"YOUR_APP_ID" appCode:@"YOUR_APP_CODE" licenseKey:@"YOUR_LICENSE_KEY"];
- AppDelegate.m を開き、 次のインポート文をファイルの先頭に追加して NMAKit をインポートします。
-
アプリケーションをビルドして実行します。 ビルドが正常に完了すると、次のスクリーンショットと同様のマップを表示するアプリケーションが作成され、ジェスチャを使用して操作できるようになります。