オフラインルーティング
アクティブなデータ接続がない場合でも 、 SDK for iOS で開発されたアプリケーション は、ある場所から別の場所への移動を支援するためのルーティング情報を要求できます。
アプリケーションユーザーは、ルートを計算して地図に表示するために、アクティブなデータ接続を維持する必要はありません。 オフライン時にルーティングリクエストを開始するための更新されたマップおよびデータベース情報を事前にダウンロードできます。 たとえば、ユーザーがカリフォルニア州とオレゴン州のオフライン地図をダウンロードした場合、サンディエゴからポートランドまでのルートをデータに接続せずに作成できます。
オフライン地図のダウンロードの詳細 については、「マップ データのプリロード」を参照してください。
強制的にオンラインまたはオフラインにします
NMACoreRouter
インスタンスでconnectivity
プロパティを使用すると、デバイスまたは HERE SDK の接続を変更せずに、オンラインまたはオフラインのルーティングを開始できます。 connectivity
このプロパティには、次の 3 つの値を設定できます。 -
NMACoreRouterConnectivityDefault
接続モードを使用してリクエストを開始するとNMAApplicationContext
、接続設定に従ってリクエストが実行されます。NMAApplicationContext
がオンラインモードに設定されているときにデバイスがオフラインの場合、要求は失敗します。 -
NMACoreRouterConnectivityOnline
接続モードを使用してリクエストを開始するとNMAApplicationContext
、接続設定に関係なくオンラインリクエストが実行されます。 -
NMACoreRouterConnectivityOffline
接続モードを使用してリクエストを開始するとNMAApplicationContext
、接続設定に関係なくキャッシュされたデータを使用してオフラインリクエストが実行されます。
接続モードが確実に適用されるようにするには、 NMACoreRouter
計算リクエストを開始する前に connectivity
プロパティを設定します。 NMACoreRouterConnectivityOnline
接続の問題によりルート計算要求が失敗した場合 、 HERE SDK は NMARoutingErrorNetworkCommunication
エラーコードを返します。 NMACoreRouterConnectivityOffline
キャッシュされたデータが不足しているためにルート計算要求が失敗した場合 、 HERE SDK は NMARoutingErrorGraphDisconnected
エラーコードを返します。
NMACoreRouter
クラス を通る車、自転車、トラック、および歩行者のルート指定にのみ適用 されます。