iOS 開発者ガイド for SDK

オフライン検索

強制的にオンラインまたはオフラインにします

NMARequestインスタンスのconnectivityプロパティを使用すると、デバイスまたは HERE SDK の接続を変更せずに、オンラインまたはオフラインで検索を開始できます。 このプロパティは、すべて NMARequest のサブクラスに適用できます。

注 : HERE SDK v3.4 では、ルーティング接続モード(NMARequestConnectivity)の動作が SDK の他の部分とより整合性を保つように更新されました。
connectivity プロパティには、次の 3 つの値を設定できます。
  • NMARequestConnectivityDefault 接続モードを使用してリクエストを開始すると NMAApplicationContext 、接続設定に従ってリクエストが実行されます。 NMAApplicationContext がオンラインモードに設定されているときにデバイスがオフラインの場合、要求は失敗します。
  • NMARequestConnectivityOnline 接続モードを使用してリクエストを開始すると NMAApplicationContext 、接続設定に関係なくオンラインリクエストが実行されます。
  • NMARequestConnectivityOffline 接続モードを使用してリクエストを開始すると NMAApplicationContext 、接続設定に関係なくオフラインリクエストが実行されます。
いずれの場合も、要求が失敗しても、フォールバックアクションは自動的には実行されません。

接続モードが確実に適用されるようにするには、 NMARequest を実行する前に connectivity プロパティを設定します。

検索リクエストと接続モードによっては、いくつかのエラーが発生することがあります。

  • 接続の問題によりNMARequestConnectivityOnline検索リクエストが失敗 した場合、 HERE SDKNMARequestErrorUnknownエラーコードを返します。
  • 接続の問題によりNMARequestConnectivityOnlineジオ コーディングまたは Reverse ジオ コーディングリクエストが失敗 した場合、 HERE SDKNMARequestErrorNetworkCommunicationエラーコードを返します。
  • キャッシュされたデータが不足しているためにNMARequestConnectivityOffline検索リクエストが失敗 した場合、 HERE SDK は結果をゼロに戻します。