ガイド変更履歴HERE SDK API references
ガイド

利用開始

このトピックでは、HERE SDKの利用を開始するための手順を紹介します。以下を行うには、指示に従ってください。

  • HERE SDKを使用するための資格情報を取得する。
  • HERE SDKパッケージをダウンロードする。
  • マシンのエミュレータで、基本的なHERE SDKを活用したサンプルアプリを実行する。

資格情報を取得する (ExploreとNavigate)

HERE基本プランにサインアップすると、すぐにHERE SDK (Explore) を使用できます。Navigateライセンスでは、資格情報を有効にする前に追加のオンボーディング手順が必要になります。ニーズに合ったライセンスが不明な場合は、ライセンスの概要を確認し、HEREアカウントエグゼクティブにご相談のうえ、適切な料金プランを選択してください。

HERE SDKを使用するには、1つ以上のアプリを登録し、OAuth 2.0の資格情報 (Access key IDAccess key secret) を取得する必要があります。

  1. HERE基本プランにサインアップし、HEREプラットフォームポータルへのアクセス権を取得します。
  2. HEREプラットフォームポータルにサインインします。
  3. OAuthによる認証」の手順に従って、OAuth2資格情報を取得します。**注:**必要なのは、OAuth 2.0資格情報のみです。OLP CLIをインストールしたりトークンを取得したりする必要はありません。
  4. 資格情報は常にアプリケーションIDに関連付けられています。HEREサポートチームに問い合わせる必要がある場合は、この情報を用意しておいてください。

HERE SDK (Explore) パッケージをダウンロードする

前の手順で作成した資格情報はExploreライセンスで有効なため、すぐに使用できます。

HERE SDK (Explore) パッケージをダウンロードして、アプリの構築を開始してください。

HERE SDK (Navigate) パッケージをダウンロードする

アクセス権を取得するにはお問い合わせください。NavigateパッケージはHERE Technologiesと契約を結んだお客様のみご利用いただけます。

アクセス権を待っている間に、同じAPIと機能のサブセットを提供するHERE SDK (Explore) を使用して構築を開始できます。

アクセス権を取得したら、次の手順に進みます。

  • アプリケーションIDを使用して、セールスポータルで見積もりを承認します。見積もりを承認するまで、資格情報はNavigateで使用できずNavigateパッケージをダウンロードすることもできません。この手順に関してサポートが必要な場合は、HEREアカウントエグゼクティブにお問い合わせください。
  • 前の手順を完了すると、HERE SDK (Navigate) パッケージをダウンロードできるようになります

これで、Navigateライセンスを使用してアプリの構築を開始する準備ができました。

HERE SDKパッケージの内容

HERE SDK パッケージの内容は以下のとおりです。

  • アプリに組み込むHERE SDKバイナリを含むheresdk.xcframework
  • このガイド、APIリファレンス、サンプルアプリなど、いくつかのドキュメントアセット。
  • HERE SDK を使用して作成されたすべてのアプリに含める必要がある HERE_NOTICE ファイル。詳細については、オープンソースに関する通知を参照してください。

バイナリはネイティブにコンパイルされたSDKです。ExploreバイナリはNavigateバイナリのサブセットであるため、NavigateバイナリはすべてのExploreサンプルアプリで動作しますが、その逆は当てはまらない場合があります。Navigate専用のAPIは、Exploreバイナリには含まれません。同様に、ChangelogとAPIリファレンスは各ライセンスに合わせて記載されており、対応するバイナリに一致しています。

資格情報は、HERE SDKパッケージおよびGitHubにある、該当ライセンス向けのすべてのサンプルアプリで使用できます。Navigateライセンスをお持ちの場合、資格情報はすべてのアプリと機能で使用できます。Exploreライセンスをお持ちの場合、資格情報はすべてのアプリで使用できますが、Navigateライセンスを必要とする一部の機能は使用できません。

Hello Mapサンプルアプリを実行する

HERE SDKリリースパッケージに含まれる、GitHubで入手可能なサンプルアプリでは、HERE SDKの機能を包括的にプレビューすることができます。まずは、基本的なHelloMapのサンプルアプリをエミュレータで実行してください。次の手順を実行します。

  1. Xcodeをインストールします。ダウンロードするには、こちらのページにアクセスしてください。
  2. HEREプラットフォームポータルからダウンロードしたHERE SDKリリースパッケージを解凍します。
  3. サンプルアプリでアーカイブを解凍します。名前がexamples-VERSION_NUMBER.zipで終わるアーカイブです。
  4. アプリのルートフォルダーにheresdk.xcframeworkフォルダーをコピーします。
  5. プロジェクトファイルHelloMap/HelloMap.xcodeprojをダブルクリックしてXcodeを実行します。
  6. XcodeでファイルHelloMap/HelloMap/HelloMapApp.swiftを開きます。
  7. このファイル内で次のコードのプレースホルダーをお使いの資格情報に変更します。
// Set your credentials for the HERE SDK.
let accessKeyID = "YOUR_ACCESS_KEY_ID"
let accessKeySecret = "YOUR_ACCESS_KEY_SECRET"
let authenticationMode = AuthenticationMode.withKeySecret(accessKeyId: accessKeyID,
                                                          accessKeySecret: accessKeySecret)
let options = SDKOptions(authenticationMode: authenticationMode)
  1. [Play](再生) ボタンを選択して、「HelloMap」アプリを構築し実行します。

Xcodeシミュレーターで実行されているHEREマップを表示したアプリを確認できるようになります。または、お好みのiOSデバイスでアプリを実行することもできます。

次にコードを試します。たとえば、MapViewUIRepresentableクラスにあるloadScene(...)メソッドのMapScheme.normalDayMapScheme.satelliteに置き換えて、サンプルを修正してみます。また、他のマップスキームを試したり、利用可能なマップレイヤーを調べたりすることもできます。

"HelloMap" example running in an emulator.

SDKNativeEngineを初期化する方法、HERE SDKで作成したアプリの基本的なビルディングブロックについては、「HERE SDKを統合する」を参照してください。

複数のアプリを構築する

複数のアプリに同じ資格情報を使用する場合は、アプリを区別するためにスコープを設定する必要があります。

次のステップ


EN 日本語

HERE documentation

Find answers to your product and technical questions

Documentation

What's new

Videos

EN 日本語

HERE ドキュメント

製品や技術に関する質問の答えを見つけましょう。より多くの内容と最新の情報については、英語版をご覧ください。

ドキュメント

ダイナミックマップ

動的コンテンツ関連のAPIをアプリやサービスに活用して、ドライバーが安全・快適かつ予定どおりに目的地へ到着できるよう支援します。

地図とデータ

世界中を走行する多数のマッピング車両から得られる最新の位置情報データを活用し、精度の高い地図やカスタムレイヤーを構築できます。

最新情報

動画

(function () { const input = document.querySelector('input[data-typeahead]'); if (!input) return; // Prevent the form from submitting/navigating input.closest('form')?.addEventListener('submit', e => e.preventDefault()); input.addEventListener('input', function () { const q = this.value.trim().toLowerCase(); document.querySelectorAll('.nav-group-name').forEach(group => { let anyVisible = false; group.querySelectorAll('.nav-group-task').forEach(task => { const text = task.textContent.trim().toLowerCase(); const show = !q || text.includes(q); task.style.display = show ? '' : 'none'; if (show) anyVisible = true; }); // Hide the whole group header if nothing matches group.style.display = anyVisible || !q ? '' : 'none'; }); }); })(); (function () { function onTokenClick(event) { var link = event.target.closest('.sdk-for-ios .item .token'); if (!link) return; event.preventDefault(); console.log('token clicked', link.textContent.trim()); var item = link.closest('.item'); if (!item) return; var content = item.querySelector('.height-container'); if (!content) { console.log('no .height-container found for item', item); return; } var isHidden = window.getComputedStyle(content).display === 'none'; content.style.display = isHidden ? 'block' : 'none'; link.classList.toggle('token-open', isHidden); var href = link.getAttribute('href'); if (href) { if (history.pushState) history.pushState({}, '', href); else location.hash = href; } } function openHashTarget() { var hash = window.location.hash.slice(1); if (!hash) return; var anchor = document.querySelector('.sdk-for-ios a[name="' + hash + '"]'); if (!anchor) return; var item = anchor.closest('.item'); if (!item) return; var link = item.querySelector('.token'); var content = item.querySelector('.height-container'); if (!link || !content) return; content.style.display = 'block'; link.classList.add('token-open'); } function init() { console.log('HERE SDK accordion init'); openHashTarget(); } document.removeEventListener('click', onTokenClick); document.addEventListener('click', onTokenClick); if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } window.addEventListener('hashchange', openHashTarget); window.addEventListener('pageLoad', init); })();