iOS 開発者ガイド for SDK

HERE Map Data ダウンロード

HERE SDK で提供 される主な機能の一部は、ダウンロードされてデバイスにキャッシュされている HERE Map Data によって異なります。 たとえば、地図を画面に表示するには、まずマップ データをデバイスにダウンロードする必要があります。 同様に、マップ データをデバイスにダウンロードせずに正確なターン・バイ・ターンナビ (矢印ナビ)を提供することはできません。 オフラインルーティングや検索などのオフライン操作を行う場合は、デバイスに先立ってマップ データをダウンロードする必要があります。 このセクションでは、マップ データのダウンロードを管理するためのさまざまなアプローチについて説明します。

パッシブダウンロードアプローチ

パッシブアプローチでは、必要に応じて SDK にマップ データのダウンロードを許可します。 一般的な例としては、ユーザーがマップをパンし、オンデマンドのマップ データダウンロードをトリガーしてマップをレンダリングする場合があります。

この方法でダウンロードされたマップ データは、デフォルトサイズの 256 MB の永続キャッシュに保存されます。 キャッシュされたマップ データは、デバイスがローミングモードの場合など、ネットワーク接続が利用できないか、または望ましくない場合にオフライン操作に使用できます。 ただし、オフライン検索やオフラインルーティングなど、すべてのオフライン操作を有効にするために十分なデータがダウンロードされたかどうかを確認する方法はありません。

注 : パッシブアプローチによって取得されたマップ データのバージョンが最新バージョンであることを確認するに NMAMapLoader は、 API を使用して最新バージョンに更新します。
注 : [NMAApplicationContext setDiskCacheSize:NSUInteger] デフォルトのディスクキャッシュサイズを変更する場合に使用します。

アクティブなダウンロードアプローチ

HERE SDK では、マップ データをアクティブにフェッチするための 2 つの方法があります

  • マップ データは、定義済みの地域または国のマップパッケージの形式でダウンロードできます。
  • 任意のバウンディング ボックスまたはルート周辺の半径のマップ データをダウンロードできます。

最初のアクティブなアプローチで NMAMapLoader は、 API を使用して国または地域全体をカバーするマップ データパッケージのダウンロードを要求します。 これを行うには、マップパッケージのリストから選択します。 地図パッケージは、州 ( カリフォルニア州など ) 、地域、または国 ( ベルギーなど ) です。

注 : このプリロードされたマップ データは、上記のパッシブダウンロードアプローチで言及されているマップ データキャッシュとは別に保存されます。 マップ データパッケージで使用できる容量は、デバイスの空き容量によってのみ制限されます。

2 つ目のアクティブなアプローチで NMAMapDataPrefetcher は、バウンディング ボックスまたはルート周辺の半径を指定して、 API を介してマップ データのフェッチを明示的にトリガーします。 結果としてダウンロードされたマップ データは、パッシブダウンロードアプローチで使用されているのと同じキャッシュに保存されます。キャッシュサイズはデフォルトで 256 MB です。 SDK では、ダウンロードが要求された領域のサイズに制限はありませんが、開発者はこのキャッシュ制限を認識し、この制限未満のサイズのマップ データダウンロードの結果となる領域のみを要求することが予想されます。 NMAMapDataPrefetcher API を介してダウンロードされるマップ データのサイズ見積もりを取得できます。

ダウンロードできるデータ量を説明するには、次のスクリーンショットに示されているように、ニューヨーク市の 200 km × 200 km のエリアをカバーするバウンディング ボックスを検討してください。 この場合、約 250 MB のマップ データがダウンロードされます。

次の例は、ニューヨークからフィラデルフィアまでの 160 km のルートを示しています。半径(ルートコリドー幅)は 500 m です ダウンロードされたマップ データは約 100 MB です。

マップ データをダウンロードするためのさまざまなアプローチの比較を以下に示します。

表 1. マップ データダウンロードのアプローチ
  受動的なアプローチ アクティブなアプローチ
オンデマンド パッケージをマップします バウンディング ボックス / ルート
ダウンロードしたマップ データをオフライン操作に使用できます 制限あり (1) はい はい
ダウンロードの管理に伴う複雑さ なし
マップ データダウンロードのサイズ メディア (10 MB ) 大( 100 MB ) メディア (10 MB )
データが保存されるキャッシュの上限サイズ (2) 256 MB ~ 2 GB ( 2 ) なし (3) 256 MB ~ 2 GB ( 2 )
マップ データが以前にダウンロードされた領域を確認するオプション (4) いいえ はい いいえ
ダウンロードするマップ データのサイズを事前に確認できます いいえ はい はい
ダウンロードしたマップ データを選択的に削除するオプション いいえ (5) はい いいえ (5)
マップ データバージョン間で差分アップデートを実行できます はい (6) はい (6) はい (6)
  • ( 1 ): オンデマンドでダウンロードされたマップ データは、レンダリングや検索などの一部のオフライン操作をサポートしている場合がありますが、ルーティングなどの他のオフライン操作は、重要なデータが不足しているため、正しく動作しません。
  • ( 2 ): ディスクキャッシュの上限のデフォルト値は 256 MB です。 ディスクキャッシュサイズの上限を変更 [NMAApplicationContext setDiskCacheSize:NSUInteger] するには、メソッドを使用します。
  • ( 3 ): ダウンロードできるマップ データパッケージの数は、デバイスで利用可能な容量によってのみ制限されます。
  • ( 4 ): たとえば、マップ データがダウンロードされ、オフラインで使用できる内容をユーザーに表示する場合です。
  • (5) MapDataPrefetcher API を使用してキャッシュを完全に消去する唯一のオプションは、オンデマンドでダウンロードされたすべてのマップ データを削除し、バウンディング ボックスまたはルートを指定することです。 ダウンロードした地図パッケージは削除されません。
  • (6) : 2 つの以前のリリースから最新のマップ データリリースに更新する場合、差分更新が利用できます。 変更内容のみがダウンロードされるため、通常は差分アップデートのダウンロードは小規模です。 たとえば、 2017 年第 4 四半期または 2017 年第 3 四半期のリリースから 2018 年第 1 四半期のマップ データリリースに更新する場合、増分更新またはパッチが使用されます。 パッチが利用できない場合( 2017 年第 2 四半期から 2018 年第 1 四半期までの更新など)、すべてのマップ データパッケージが再ダウンロードされ、ダウンロードサイズが大幅に増加します。また、オンデマンドでダウンロードされたマップ データ、またはバウンディングボックス / ルートを指定してダウンロードされた が削除されます。

多くのアプリケーションでは、 3 つのアプローチすべてを組み合わせて使用できます。 たとえば、ユーザーがダウンロードするマップパッケージを選択できるように UI を提供できます。 また、ターン・バイ・ターンナビ (矢印ナビ)を開始する前に、ルートのマップ データをダウンロードするオプションが提供される場合があります。 マップ データのオンデマンドダウンロードは、他の方法でマップ データがダウンロードされなかった場合のフォールバックとして、常に利用できます。

注 : ターン・バイ・ターンナビ (矢印ナビ)中に初めて高速オフライン再ルーティングが実行されたときに再ルーティングする場合。 重要なデータが不足しているためにエラーが発生した場合、オンラインリクエストが送信されて新しいルートが作成されます。 高速で信頼性の高いルート変更を行うには、ターン・バイ・ターンナビ (矢印ナビ)を開始する前に、ルートのマップ データをダウンロードすることをお勧めします。