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
 目的地へのルートを生成する際にフェリーを使わないかどうかを指定します。
GMSNavigationLicensePlateRestrictionlicensePlateRestriction
 現在の運転手のナンバー プレートの末尾 1 桁と国コードを使用して、ナンバー プレートの制限を設定します。
BOOL guidanceActive
 ターンバイターン方式の案内が現在有効になっているかどうか。
BOOL stopGuidanceAtArrival
 -navigator:didArriveAtWaypoint: が呼び出されたときにガイダンスを自動的に停止するかどうかを指定します。
NSTimeInterval timeUpdateThreshold
 navigator:didUpdateRemainingTime: メソッドの呼び出しをトリガーする次のデスティネーションまでの推定時間の最小変化。
CLLocationDistancedistanceUpdateThreshold
 navigator:didUpdateRemainingDistance: メソッドの呼び出しをトリガーする、次の目的地までの推定距離の最小変化。
NSTimeInterval timeToNextDestination
 次の目的地までの推定所要時間を返します。
CLLocationDistancedistanceToNextDestination
 次の目的地までの推定距離を返します。
GMSNavigationDelayCategorydelayCategoryToNextDestination
 次のデスティネーションに遅延カテゴリを返します。
GMSRouteLegcurrentRouteLeg
 ジャーニーの現在の区間。
NSArray< GMSRouteLeg * > * routeLegs
 設定された目的地に対応する区間の配列。
GMSPathtraveledPath
 前回の guideActive が [はい] に設定されてからのデバイスの移動経路。
GMSNavigationVoiceGuidancevoiceGuidance
 交通状況やターンバイターン方式のアラートで音声案内を有効にするかどうかを指定します。
GMSVoiceGuidanceAudioDeviceTypeaudioDeviceType
 音声案内を再生できるオーディオ機器を指定します。
BOOL vibrationEnabled
 音声アラートの再生時にデバイスのバイブレーションも作動させるかどうかを指定します。
BOOL sendsBackgroundNotifications
 アプリがバックグラウンドで動作しているときに、ガイダンス情報を含む UILocalNotifications を表示するかどうかを決定します。
GMSNavigationLightingModesuggestedLightingMode
 時間帯とデバイスの位置情報に基づく、ライティング モードの推奨値です。
BOOL shouldDisplayPrompts
 交通状況、適切なルート、インシデントに関するプロンプトを表示するかどうかを指定します。
GMSNavigationSpeedAlertOptionsspeedAlertOptions
 GMSNavigationSpeedAlertOptions により、GMSNavigationSpeedAlertSeverity のトリガーしきい値をカスタマイズできるようになりました。

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

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

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

-(void)addListener: (id< GMSNavigatorListener >) リスナー

リスナーを追加します。

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

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

リスナーを削除します。

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

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

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

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

- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) リンク先
routingOptions: GMSNavigationRoutingOptions *) routingOptions
使用します。 GMSRouteStatusCallback callback

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

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

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

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

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

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

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

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

プロジェクトにこの API を呼び出す権限がない場合は、nil 値を返します。

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

非推奨です。

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

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

戻り値:
現在地点の案内が現在向かっている状態。地点が残っていない場合は nil。
注:
これは非推奨となりました。代わりに、-setDestinations:... メソッドのいずれかを使用してください。
-(void)clearDestinations

以前に設定した目的地をすべて消去し、計算したルートを地図から削除します。

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

- (NSTimeInterval) timeToWaypoint: GMSNavigationWaypoint *) 地点

指定された地点までの推定所要時間を返します。地点が現在の経路に含まれない場合は CLTimeIntervalMax を返します。

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

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

- (CLLocationDistance) distanceToWaypoint: GMSNavigationWaypoint *) 地点

指定された地点までの推定距離を返します。地点が現在のルートの一部でない場合は、CLLocationDistanceMax を返します。

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

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

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

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

トランザクション ID はナビゲーション セッションの終了時に消去されます。

パラメータ:
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]

ターンバイターン方式の案内が現在有効になっているかどうか。

projectsActive が YES で、現在利用可能なルートがない場合は、ルートが利用可能になったときにガイダンスが開始されます。ClearDestinations が呼び出された場合、または地点に到着した場合、このプロパティは NO に設定されます。

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

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

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

YES の場合、guidanceActive は到着時に自動的に NO に設定されます。

デフォルトは 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 が [はい] に設定されてからのデバイスの移動経路。

ガイダンスがまだ開始されていない場合、このパスは空です。この経路は、GMSRoadSnappedLocationProvider から返される道路脇にある場所で構成されますが、冗長なポイントを削除するために簡略化されています。たとえば、連続する同じ直線上の点を 1 つの線分に変換します。

- (GMSNavigationVoiceGuidancevoiceGuidance [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 により、GMSNavigationSpeedAlertSeverity のトリガーしきい値をカスタマイズできるようになりました。

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

nil を設定すると、速度フィードデータは送信されず、NavSDK のデフォルトの速度アラートが表示されます。速度が時速 5 マイル(時速 10 km)を超えると、速度アラートは赤色のテキストを表示し、時速 10 マイル(20 km)を超えると白色のテキストと赤の背景を表示します。