GMSNavigator クラス リファレンス

GMSNavigator クラス リファレンス

概要

これは Google Navigation SDK for iOS のメインクラスで、デスティネーションへのナビゲーションを制御し、ルートや進行状況の情報にアクセスするためのメソッドを提供します。

このクラスはサブクラス化をサポートしていません。

このクラスはスレッドセーフではありません。すべてのメソッドはメインスレッドから呼び出す必要があります。

パブリック メンバーの関数

(void) - addListener:
 リスナーを追加します。
(BOOL)- removeListener:
 リスナーを削除します。
(void) - setDestinations:callback:
 ナビゲーション用に複数のデスティネーションを設定し、以前に設定したデスティネーションをオーバーライドします。
(void) - setDestinations:routingOptions:callback:
 ナビゲーション用に複数のデスティネーションを設定し、以前に設定したデスティネーションをオーバーライドします。
(void) - setDestinations:routeToken:callback:
 ルートトークンを使用して、事前に計算されたルートをナビゲートし、ナビゲーション用の複数のデスティネーションを設定します。
(void) - getRouteInfoForDestination:withRoutingOptions:callback:
 ルーティング戦略(デフォルトの最適ルートまたは短いルート)に基づいてルート情報を返します。
(null 値許容の GMSNavigationWaypoint *)- continueToNextDestination
 非推奨。
(void) - clearDestinations
 以前に設定したすべての目的地をクリアし、地図から計算されたルートをすべて削除します。
(NSTimeInterval)- timeToWaypoint:
 指定されたウェイポイントまでの推定時間を返します。ウェイポイントが現在のルートの一部でない場合は CLTimeIntervalMax を返します。
(CLLocationDistance)- distanceToWaypoint:
 指定されたウェイポイントまでの推定距離を返します。ウェイポイントが現在のルートに含まれない場合は CLLocationDistanceMax を返します。
(void) - setTransactionIDs:errorHandler:
 現在のナビゲーション セッション中のナビゲーション イベントに適用される、進行中のトランザクション ID をサーバーに設定してログに記録します。

プロパティ

BOOL avoidsHighways
 目的地へのルートを生成する際に高速道路を使わないかどうかを指定します。
BOOL avoidsTolls
 目的地へのルートを生成する際に有料道路を回避するかどうかを指定します。
BOOL avoidsFerries
 目的地へのルートを生成する際にフェリーを回避するかどうかを指定します。
GMSNavigationLicensePlateRestriction *licensePlateRestriction
 現在の運転手のナンバー プレートの下 1 桁と国コードを使用して、ナンバー プレートの制限を設定します。
BOOL guidanceActive
 ターンバイターン方式のガイダンスが現在有効かどうか。
BOOL stopGuidanceAtArrival
 -navigator:didArriveAtWaypoint: が呼び出されたときにガイダンスを自動的に停止するかどうか。
NSTimeInterval timeUpdateThreshold
 navigator:didUpdateRemainingTime: メソッドの呼び出しをトリガーする、次のデスティネーションまでの推定時間の最小変化。
CLLocationDistancedistanceUpdateThreshold
 navigator:didUpdateRemainingDistance: メソッドの呼び出しをトリガーする次のデスティネーションまでの推定距離の最小変化。
NSTimeInterval timeToNextDestination
 次の目的地までの推定時間を返します。
CLLocationDistancedistanceToNextDestination
 次の目的地までの推定距離を返します。
GMSNavigationDelayCategorydelayCategoryToNextDestination
 次のデスティネーションに遅延カテゴリを返します。
GMSRouteLeg *currentRouteLeg
 ジャーニーの現在の区間。
NSArray<GMSRouteLeg * >*routeLegs
 ルートの区間の配列。各区間は設定された目的地に対応します。
GMSPathGMSPath *traveledPath
 直近のガイダンス セッションでユーザーが移動した経路。前回 guideActive が YES に設定された日時として定義されます。
GMSNavigationVoiceGuidancevoiceGuidance
 交通情報やターンバイターン方式のアラートに対して、音声案内を有効にするかどうかを指定します。
GMSVoiceGuidanceAudioDeviceTypeaudioDeviceType
 どのオーディオ機器で音声案内を再生するかを指定します。
BOOL vibrationEnabled
 音声アラートの再生時にデバイスのバイブレーションも行うかどうかを指定します。
BOOL sendsBackgroundNotifications
 アプリがバックグラウンドで実行されているときに、ガイダンス情報を含む UILocalNotifications を表示するかどうかを決定します。
GMSNavigationLightingModesuggestedLightingMode
 時間帯とデバイスの位置情報に基づくおすすめの照明モード。
BOOL shouldDisplayPrompts
 交通状況、より適切なルート、事象に関するプロンプトを表示するかどうかを決定します。
GMSNavigationSpeedAlertOptions *speedAlertOptions
 GMSNavigationSpeedAlertSeverity のトリガーしきい値をカスタマイズするための GMSNavigationSpeedAlertOptions

(これらはメンバー関数ではありません)。

typedef void(^GMSRouteStatusCallback )(GMSRouteStatus routeStatus)
 デバイスの位置から指定された宛先へのルートが見つかったか、RouteStatus で指定された理由で見つからなかった場合に呼び出されます。
typedef void(^GMSRouteInfoCallback )(GMSNavigationRouteInfo *_Nullable routeInfo)
 指定されたウェイポイントへのルート情報(ETA と距離)が計算されたときに呼び出されます。
typedef void(^GMSNavigationTransactionIDErrorHandler )(NSError *error)
 setTransactionIDs によるトランザクション ID の設定が失敗した場合に呼び出されます。

メンバー関数のドキュメント

- (void) addListener: (id< GMSNavigatorListener >) listener

リスナーを追加します。

リスナーは弱参照で保持されています。

パラメータ:
listenerGMSNavigatorListener プロトコルに準拠するオブジェクト。
-(BOOL)removeListener: (id< GMSNavigatorListener >) listener

リスナーを削除します。

パラメータ:
listenerGMSNavigatorListener プロトコルに準拠するオブジェクト。
戻り値:
リスナーが削除された場合は YES を返します。オブジェクトがリスナーではなかった場合、NO を返します。
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) 目的地
次のコールバックを使用します。 (GMSRouteStatusCallback) コールバック

ナビゲーション用に複数のデスティネーションを設定し、以前に設定したデスティネーションをオーバーライドします。

デバイスの位置から指定された目的地へのルートが見つかった場合、指定されたコールバックは GMSRouteStatusOK で呼び出されます。ルートが見つかる前に新しい目的地が設定されると、リクエストはキャンセルされ、GMSRouteStatusCanceled によってコールバックが呼び出されます。その他の理由で経路が見つからなかった場合は、適切なエラー ステータスでコールバックが呼び出されます。

コールバックは常にメインキューで非同期にディスパッチされます。

- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) 目的地
routingOptions: GMSNavigationRoutingOptions *) routingOptions
次のコールバックを使用します。 (GMSRouteStatusCallback) コールバック

ナビゲーション用に複数のデスティネーションを設定し、以前に設定したデスティネーションをオーバーライドします。

返されるルートは、ルーティング オプションを使用して計算されます。

パラメータ:
リンク先目的地のウェイポイントの配列。
routingOptionsルーティング ロジック(ルーティング戦略)に影響を与えるオプション。
callbackコンシューマーのロケーションから指定された宛先へのルートが見つかったか、RouteStatus で指定された理由で見つからなかった場合に呼び出されます。
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) 目的地
routeToken: (NSString *)  routeToken
次のコールバックを使用します。 (GMSRouteStatusCallback) コールバック

ルートトークンを使用して、事前に計算されたルートをナビゲートし、ナビゲーション用の複数のデスティネーションを設定します。

ルートは同じになり、モジュロの変更はドライバーの出発地と道路/交通状況の状態になります。再ルーティングは、トークンにエンコードされたルーティング オプションに基づいて引き続き行われます。

ルートトークンを使用してナビゲーション セッションを開始する場合は、GMSNavigationTravelModeDrivingGMSNavigationTravelModeTwoWheeler のみがサポートされます。travelMode を設定して、交通手段を構成します。現在の移動手段がサポートされていない場合、この呼び出しは失敗し、コールバックで GMSRouteStatusTravelModeUnsupported が返されます。

パラメータ:
リンク先目的地のウェイポイントの配列。ルートトークンを取得するために RoutesPreferred API に指定された目的地と同じにする必要があります。
routeTokenRoutesPreferred API によって返されるルート トークンの文字列。RoutesPreferred API で指定されたルーティング オプションは、このルートトークンでエンコードされ、再ルーティングが行われると事前計算されたルートまたは新しいルートを再生成するために使用されます。
callbackコンシューマーのロケーションから指定された宛先へのルートが見つかったか、RouteStatus で指定された理由で見つからなかった場合に呼び出されます。
- (void) getRouteInfoForDestination: GMSNavigationWaypoint *) リンク先
withRoutingOptions: GMSNavigationRoutingOptions *) routingOptions
次のコールバックを使用します。 (GMSRouteInfoCallback) コールバック

ルーティング戦略(デフォルトの最適ルートまたは短いルート)に基づいてルート情報を返します。

この方法は、Google からトランザクション単位で請求されるモビリティ サービスのお客様にのみご利用いただけます。プロジェクトにこの API を呼び出す権限がない場合は、「nil」値を返します。

パラメータ:
destination目的地のウェイポイント。
routingOptionsルート情報の取得に使用されるオプション。このメソッドはすべてのルーティング戦略のルート情報を返すため、ルーティング戦略と代替ルート戦略は無視されます。
callbackルート情報を受信したときに呼び出されるコールバック。

非推奨です。

代わりに、新しいデスティネーションのリストを指定して、-setDestinations:... メソッドのいずれかを呼び出します。

現在のデスティネーション リストから最初のデスティネーションをポップします。この通話の後、次の目的地(ある場合)への案内が提供されます。

戻り値:
ウェイポイント ガイダンスが向いている方向を向いているか、残りのウェイポイントがない場合は nil になります。
注:
これは非推奨です。代わりに、いずれかの -setDestinations:... メソッドを使用してください。

以前に設定したすべての目的地をクリアし、地図から計算されたルートをすべて削除します。

ガイダンスが有効になっている場合は、自動的に停止します。

- (NSTimeInterval) timeToWaypoint: GMSNavigationWaypoint *) 地点

指定されたウェイポイントまでの推定時間を返します。ウェイポイントが現在のルートの一部でない場合は CLTimeIntervalMax を返します。

ガイダンスが有効な状態で、現在のデバイスの位置に基づいて更新されます。

指定されたウェイポイントが現在のルートの目的地でない場合、CLTimeIntervalMax を返します。

- (CLLocationDistance) distanceToWaypoint: GMSNavigationWaypoint *) 地点

指定されたウェイポイントまでの推定距離を返します。ウェイポイントが現在のルートに含まれない場合は CLLocationDistanceMax を返します。

ガイダンスが有効である間は、現在のデバイスの位置に基づいて更新されます。

指定されたウェイポイントが現在のルートの目的地でない場合、CLLocationDistanceMax を返します。

- (void) setTransactionIDs: (NSArray< NSString * > *) transactionIDs
errorHandler: (null 値許容の GMSNavigationTransactionIDErrorHandler errorHandler

現在のナビゲーション セッション中のナビゲーション イベントに適用される、進行中のトランザクション ID をサーバーに設定してログに記録します。

トランザクション ID は、ナビゲーション セッションが終了すると消去されます。この方法は、Google からトランザクション単位で請求されるモビリティ サービスのお客様にのみご利用いただけます。プロジェクトにこの API を呼び出す権限がない場合は、「nil」値を返します。

パラメータ:
transactionIDs現在のナビゲーション セッションに適用されるトランザクション ID。取引 ID は、請求対象の取引ごとに一意である必要があります。個々の取引 ID は 1 ~ 64 文字で指定してください。トランザクションが終了しても、セッションがまだ進行中である場合、リストは空にできます。
errorHandlerトランザクション ID が無効なときにエラーが発生した場合に、メインスレッドで非同期に呼び出されるブロック。

- (typedef void(^ GMSRouteStatusCallback)(GMSRouteStatus routeStatus)) [related]

デバイスの位置から指定された宛先へのルートが見つかったか、RouteStatus で指定された理由で見つからなかった場合に呼び出されます。

- (typedef void(^ GMSRouteInfoCallback)(GMSNavigationRouteInfo *_Nullable routeInfo)) [related]

指定されたウェイポイントへのルート情報(ETA と距離)が計算されたときに呼び出されます。

パラメータ:
routeInfo指定された目的地へのルート情報。計算が失敗した場合は nil になります。
- (typedef void(^ GMSNavigationTransactionIDErrorHandler)(NSError *error)) [related]

setTransactionIDs によるトランザクション ID の設定が失敗した場合に呼び出されます。

詳しくは、API のドキュメントをご覧ください。


プロパティのドキュメント

-(BOOL)avoidsHighways [read, write, assign]

目的地へのルートを生成する際に高速道路を使わないかどうかを指定します。

デフォルトは NO です。

- (BOOL) avoidsTolls [read, write, assign]

目的地へのルートを生成する際に有料道路を回避するかどうかを指定します。

デフォルトは NO です。

-(BOOL)avoidsFerries [read, write, assign]

目的地へのルートを生成する際にフェリーを回避するかどうかを指定します。

デフォルトは YES です。

現在の運転手のナンバー プレートの下 1 桁と国コードを使用して、ナンバー プレートの制限を設定します。

これにより、ナンバー プレート番号に基づく特定の種類の道路規制を回避できるようになります。この値は、この値が設定された後に行われる setDestinations 呼び出しにのみ適用されます。ナビゲータを取得したらすぐに設定するのが理想的です。

ナンバー プレートの制限がない場合は nil に設定します。デフォルトは nil です。

- (BOOL) guidanceActive [read, write, assign]

ターンバイターン方式のガイダンスが現在有効かどうか。

graphActive が YES でも利用できる経路がない場合は、経路が利用可能になったときに案内が開始されます。このプロパティは、clearDestinations が呼び出された場合、またはウェイポイントに到着した場合に NO に設定されます。

-(BOOL)stopGuidanceAtArrival [read, write, assign]

-navigator:didArriveAtWaypoint: が呼び出されたときにガイダンスを自動的に停止するかどうか。

設定しない場合、ナビゲーション ヘッダーとフッターは到着後も引き続き表示されます。時間/距離が 0 に達するまで、ナビゲーション ヘッダーには最後の案内ステップが表示され続け、ナビゲーション フッターには残りの時間と距離が更新されます。また、-navigator:didUpdateRemainingTime と -navigator:didUpdateRemainingDistance の更新も続行されます。ガイダンスと残りの時間/距離の更新を停止するには、guidanceActive を明示的に NO に設定します。

「はい」の場合、guidanceActive は到着時に自動的に「いいえ」に設定されます。

デフォルトは YES です。

- (NSTimeInterval) timeUpdateThreshold [read, write, assign]

navigator:didUpdateRemainingTime: メソッドの呼び出しをトリガーする、次のデスティネーションまでの推定時間の最小変化。

これが NSTimeIntervalMax に設定されている場合、時間更新コールバックは無効になります。負の値に設定した場合は、デフォルトのしきい値である 1 秒が使用されます。デフォルトは 1 秒です。

注:
navigator:didUpdateRemainingTime: を実装しているリスナーがない場合、この値は無視されます。
- (CLLocationDistance) distanceUpdateThreshold [read, write, assign]

navigator:didUpdateRemainingDistance: メソッドの呼び出しをトリガーする次のデスティネーションまでの推定距離の最小変化。

これが CLLocationDistanceMax に設定されている場合、距離更新コールバックは無効になります。負の値に設定した場合は、デフォルトのしきい値である 1 メートルが使用されます。デフォルトは 1 メートルです。

注:
navigator:didUpdateRemainingDistance: を実装しているリスナーがない場合、この値は無視されます。
- (NSTimeInterval) timeToNextDestination [read, assign]

次の目的地までの推定時間を返します。

ガイダンスが有効である間は、現在のデバイスの位置に基づいて更新されます。

利用可能なルートがない場合は CLTimeIntervalMax を返します。

- (CLLocationDistance) distanceToNextDestination [read, assign]

次の目的地までの推定距離を返します。

ガイダンスが有効である間は、現在のデバイスの位置に基づいて更新されます。

利用できるルートがない場合、CLLocationDistanceMax を返します。

- (GMSNavigationDelayCategory) delayCategoryToNextDestination [read, assign]

次のデスティネーションに遅延カテゴリを返します。

ガイダンスが有効である間は、現在のデバイスの位置に基づいて更新されます。

利用できるルートがない場合や交通データを利用できない場合は、GMSNavigationDelayCategoryNoData を返します。

- (GMSRouteLeg*) currentRouteLeg [read, assign]

ジャーニーの現在の区間。

この GMSRouteLeg の開始位置は、デバイスの最新の既知の(道路スナップされた)位置になります。

- (NSArray<GMSRouteLeg *>*) routeLegs [read, assign]

ルートの区間の配列。各区間は設定された目的地に対応します。

- (GMSPath*) traveledPath [read, assign]

直近のガイダンス セッションでユーザーが移動した経路。前回 guideActive が YES に設定された日時として定義されます。

このパスは、GMSRoadSnappedLocationProvider によって返される、道路スナップされた位置で構成され、線分を生成するために簡略化されています。

注:
システムはクライアントに GPS 信号をポーリングし、位置情報を取得します。GPS 信号が弱いとさらに補間が発生し、ルートの精度が低下する可能性があります。ガイダンスが始まっていない場合、このパスは空です。
- (GMSNavigationVoiceGuidance) voiceGuidance [read, write, assign]

交通情報やターンバイターン方式のアラートに対して、音声案内を有効にするかどうかを指定します。

デフォルトは GMSNavigationVoiceGuidanceAlertsAndGuidance です。

-(GMSVoiceGuidanceAudioDeviceTypeaudioDeviceType [read, write, assign]

どのオーディオ機器で音声案内を再生するかを指定します。

デフォルトは GMSVoiceGuidanceAudioDeviceTypeBluetooth です。

-(BOOL)vibrationEnabled [read, write, assign]

音声アラートの再生時にデバイスのバイブレーションも行うかどうかを指定します。

-(BOOL)sendsBackgroundNotifications [read, write, assign]

アプリがバックグラウンドで実行されているときに、ガイダンス情報を含む UILocalNotifications を表示するかどうかを決定します。

デフォルトは YES です。

時間帯とデバイスの位置情報に基づくおすすめの照明モード。

-(BOOL)shouldDisplayPrompts [read, write, assign]

交通状況、より適切なルート、事象に関するプロンプトを表示するかどうかを決定します。

デフォルトは YES です。

-(GMSNavigationSpeedAlertOptions*)speedAlertOptions [read, write, assign]

GMSNavigationSpeedAlertSeverity のトリガーしきい値をカスタマイズするための GMSNavigationSpeedAlertOptions

このプロパティを使用すると、軽微なアラートとメジャー アラートの両方について、速度アラートをトリガーするしきい値をパーセンテージでカスタマイズできます。また、このメソッドを使用して、主要速度アラートのトリガーのしきい値を時間に基づいてカスタマイズすることもできます。

nil を設定すると、速度の速いフィードデータは受け取らず、NavSDK のデフォルトの速度アラートが表示されます。速度が時速 5 マイルまたは時速 10 キロを超えると、速度アラートは赤色で表示され、時速 10 マイルまたは時速 20 km 以上で速度が上がると、白のテキストと赤の背景が表示されます。