(57)【要約】  ユーザを別個の配車サービスアプリケーションに向けることなく、クライアントコンピューティングデバイスにおいて地図アプリケーション内で配車サービスを提供するために、地図アプリケーションは、様々な配車サービスプロバイダからの配車サービスデータにアクセスするために1つまたはいくつかの配車サービスAPIを呼び出す。たとえば、地図アプリケーションは、目的地への移動道順に対する要求を受け取り、交通手段が配車サービスである経路区分を含むマルチモーダル移動道順を生成する。地図アプリケーションは、推定価格、推定待ち時間、または配車サービス経路区分に関する任意の他の適切な情報を読み出すために、1つまたはいくつかの配車サービスAPIを呼び出す。したがって、地図アプリケーションは、配車サービス経路区分に関する情報を含むマルチモーダル移動道順をユーザに提供する。
2020531886.tif 000002
【特許請求の範囲】
【請求項１】
マルチモーダル移動道順を提供するためのコンピューティングデバイスにおける方法であって、
ユーザインターフェースを介して、目的地への移動道順を取得するための要求を受け取るステップと、
1つまたは複数のプロセッサによって、前記目的地への移動のためのマルチモーダル移動道順を生成するステップであって、
配車サービスのサードパーティプロバイダから、送迎地と降車地との間の経路の第1の区分を通過するための乗車の指示を取得するステップであって、前記配車サービスが第1の交通手段を定義する、ステップと、
前記第1のモードとは異なる第2の交通手段を使用して前記経路の第2の区分を通過するための移動道順を取得するステップと
を含む、ステップと、
前記ユーザインターフェースを介して前記生成されたマルチモーダル道順の指示を提供するステップと
を備える、方法。
【請求項２】
前記経路の前記第2の区分の終点が前記乗車の前記送迎地であり、
前記第2の区分に対する前記取得された移動道順に従って、ユーザが前記送迎地に到達する推定時刻を決定するステップをさらに備え、
前記サードパーティプロバイダから前記乗車の前記指示を取得するステップが、前記送迎地において前記推定時刻に前記乗車が開始することを要求するステップを含む、請求項1に記載の方法。
【請求項３】
前記マルチモーダル移動道順を生成するステップが、
各々が送迎地および降車地を有し、各々が価格および推定時間と関連付けられる、複数の乗車候補に対するそれぞれの指示を取得するステップと、
前記複数の乗車候補から前記乗車を選択するステップと
を含む、請求項1に記載の方法。
【請求項４】
前記マルチモーダル移動道順を生成するステップが、前記目的地への移動の全体の価格を最小にするために最適化技法を使用するステップを含む、請求項3に記載の方法。
【請求項５】
前記マルチモーダル移動道順を生成するステップが、前記目的地への移動の全体の時間を最小にするために最適化技法を使用するステップを含む、請求項3に記載の方法。
【請求項６】
前記複数の乗車候補に対する前記それぞれの指示を取得するステップが、配車サービスの多数のプロバイダから前記それぞれの指示を取得するステップを含む、請求項3に記載の方法。
【請求項７】
前記1つまたは複数のプロセッサによって、(i)優先される配車サービスのプロバイダまたは(ii)優先される交通手段のうちの少なくとも1つに関するユーザデータを取得するステップをさらに備え、
前記複数の乗車候補から前記乗車を選択するステップが、前記取得されたユーザデータに鑑みて前記乗車を選択するステップを含む、請求項3に記載の方法。
【請求項８】
前記経路の前記第2の区分を通過するために前記ナビゲーション道順を取得するステップが、前記送迎地への徒歩の道順または前記降車地からの徒歩の道順を取得するステップを含む、請求項1に記載の方法。
【請求項９】
前記乗車の前記指示を取得するステップが、
(i)交通状況、(ii)一方通行の街路、または(iii)費用のうちの少なくとも1つに鑑みて前記送迎地を選択するステップと、
前記乗車の前記指示を取得するとき、前記配車サービスの前記サードパーティプロバイダに対して前記選択された送迎地を指定するステップと
を含む、請求項1に記載の方法。
【請求項１０】
前記配車サービスの前記サードパーティプロバイダとは別に、かつ独立に動作するナビゲーションサーバから、前記第2の交通手段を使用して前記経路の前記第2の区分を通過するための前記ナビゲーション道順を読み出すステップを含む、請求項1に記載の方法。
【請求項１１】
前記コンピューティングデバイスのローカルメモリに記憶されているキャッシュされた地図データを使用して前記第2の交通手段を使用して、前記経路の前記第2の区分を通過するための前記ナビゲーション道順を読み出すステップを含む、請求項1に記載の方法。
【請求項１２】
前記第2の交通手段を使用して前記経路の前記第2の区分を通過するための前記ナビゲーション道順を取得するステップが、運転の道順、徒歩の道順、または公共交通の道順のうちの1つを取得するステップを含む、請求項1に記載の方法。
【請求項１３】
前記ユーザインターフェースを介して前記生成されたマルチモーダル道順の前記指示を提供するステップが、デジタル地図上に前記経路の視覚化を表示するステップを含む、請求項1に記載の方法。
【請求項１４】
ユーザインターフェースと、
1つまたは複数のプロセッサと、
命令を記憶した非一時的コンピュータ可読記録媒体と
を備えるコンピューティングデバイスであって、前記命令が、前記1つまたは複数のプロセッサによって実行されると、前記コンピューティングデバイスに、
前記ユーザインターフェースを介して、目的地への移動道順を取得するための要求を受け取ることと、
前記目的地への移動のためのマルチモーダル移動道順を生成することであって、
配車サービスのサードパーティプロバイダから、送迎地と降車地との間の経路の第1の区分を通過するための乗車の指示を取得することであって、前記配車サービスが第1の交通手段を定義する、取得することと、
前記第1のモードとは異なる第2の交通手段を使用して前記経路の第2の区分を通過するためのナビゲーション道順を取得することと
を含む、生成することと、
前記ユーザインターフェースを介して前記生成されたマルチモーダル道順の指示を提供することと
を行わせる、コンピューティングデバイス。
【請求項１５】
前記マルチモーダル移動道順を生成するために、前記命令が、前記コンピューティングデバイスに、
各々が送迎地および降車地を有し、各々が価格および推定時間と関連付けられる、複数の乗車候補に対するそれぞれの指示を取得することと、
前記複数の乗車候補から前記乗車を選択することと
を行わせる、請求項14に記載のコンピューティングデバイス。
【請求項１６】
前記マルチモーダル移動道順が、前記目的地への移動の全体の価格を最小にするために最適化技法を使用して生成される、請求項15に記載のコンピューティングデバイス。
【請求項１７】
前記マルチモーダル移動道順が、前記目的地への移動の全体の時間を最小にするために最適化技法を使用して生成される、請求項15に記載のコンピューティングデバイス。
【請求項１８】
前記複数の乗車候補に対する前記それぞれの指示が、配車サービスの多数のプロバイダから取得される、請求項15に記載のコンピューティングデバイス。
【請求項１９】
前記命令がさらに、前記コンピューティングデバイスに、(i)優先される配車サービスのプロバイダまたは(ii)優先される交通手段のうちの少なくとも1つに関するユーザデータを取得することを行わせ、
前記複数の乗車候補からの前記乗車が、前記取得されたユーザデータに鑑みて選択される、請求項15に記載のコンピューティングデバイス。
【請求項２０】
前記経路の前記第2の区分を通過するための前記ナビゲーション道順が、前記送迎地への徒歩の道順または前記降車地からの徒歩の道順を含む、請求項14に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、アプリケーション間の通信に関し、より詳細には、地図アプリケーションと配車サービス(ride service)アプリケーションとの間のアプリケーション間の通信に関する。
【背景技術】
【０００２】
今日では、地理的エリアのデジタル地図が一般に、地図アプリケーション、ウェブブラウザなどを介して、コンピュータ、タブレット、および携帯電話などのコンピューティングデバイスに表示される。多くの地図アプリケーションは、閲覧する地図情報または地物のタイプを選択するための能力、ならびにデジタル地図の表示を調整するための能力をユーザに提供する。
【０００３】
加えて、地図アプリケーションプロバイダは、デジタル地図を表示して目的地へのステップバイステップのナビゲーション道順(navigation directions)を与えるために、地図およびナビゲーションデータにアクセスするためのアプリケーションプログラミングインターフェース(API)を提供する。たとえば、配車サービスアプリケーションは、ユーザの送迎地(pick-up location)、目的地、目的地に移動するためのナビゲーション道順などを含む地理的エリアのデジタル地図を提供するために、地図アプリケーションAPIを呼び出し得る。
【発明の概要】
【課題を解決するための手段】
【０００４】
ユーザを別個の配車サービスアプリケーションに向けることなく地図アプリケーション内で配車サービスを提供するために、地図アプリケーションは、1つまたはいくつかの配車サービスAPIを呼び出して、様々な配車サービスプロバイダからの配車サービスデータにアクセスする。たとえば、ユーザは、目的地への地図アプリケーション内でのナビゲーション道順を要求し得る。ユーザは次いで、配車サービスモードを含む、目的地へ移動するためのいくつかの交通手段から選択することができる。ユーザが配車サービスモードを選択するとき、地図アプリケーションは、それぞれの配車サービスAPIを呼び出すことによって、様々な配車サービスアプリケーションと通信することができる。地図アプリケーションは、配車サービスアプリケーションおよび/または配車サービスサーバと通信して、配車サービスプロバイダの各々によって提供される配車サービスのタイプの指示を読み出す。配車サービスのタイプには、配車サービスプロバイダがユーザの目的地への途中で追加の乗客を乗せる相乗り配車サービス、ユーザの目的地の途中で追加の乗客を乗せないタクシーサービス、車両内の追加の特徴を含むリムジンサービス、乗客の大きなグループを乗せるための特大車両サービスなどがあり得る。地図アプリケーションはまた、配車サービスの各タイプに対する推定価格、配車サービスの各タイプに対する待ち時間、配車サービスの各タイプに対する乗車時間、旅程のステータスに関する乗車ステータス情報(たとえば、運転手が配車を受け入れるのを待機中、運転手が送迎地に到着するのを待機中、乗車中、乗車終了)、ユーザの現在地の周囲の地理的エリア内の車両の数などを読み出すために、配車サービスアプリケーションと通信し得る。いくつかのシナリオでは、配車サービスアプリケーションはユーザのクライアントデバイスにダウンロードされる必要はなく、代わりに、地図アプリケーションがそれぞれの配車サービスAPIを呼び出して配車サービスサーバと通信する。
【０００５】
ユーザは次いで、自分の目的地への交通サービスを注文するために、地図アプリケーションから直接、配車サービスプロバイダおよび配車サービスのタイプを選択することができる。このようにして、ユーザは、比較のために対応する配車サービスアプリケーションの各々を開く必要なく、かつ地図アプリケーションから離れることなく、地図アプリケーション内でいくつかの配車サービスプロバイダ候補から選択することができる。その上、ユーザは、地図機能を内蔵しているアプリケーションの中で、送迎地および目的地を特定することができる。たとえば、ユーザは、送迎地の周りのエリアの3次元ストリートレベルビューを閲覧できるので、ユーザは送迎地において運転手を簡単に見つけることができる。地図アプリケーションはまた、ユーザの状況および位置、ならびにユーザの現在地から送迎地への徒歩の道順に基づいて、送迎地についての推奨を提供することができる。
【０００６】
具体的には、本開示の技法のある例示的な実施形態は、マルチモーダル移動道順(multi-modal travel direction)を提供するためのコンピューティングデバイスにおける方法である。方法は、ユーザインターフェースを介して、目的地への移動道順を取得するための要求を受け取るステップと、目的地への移動のためのマルチモーダル移動道順を生成するステップとを含む。マルチモーダル移動道順を生成するステップは、配車サービスのサードパーティプロバイダから、送迎地と降車地との間の経路の第1の区分を通過するための乗車の指示を取得するステップであって、配車サービスが第1の交通手段を定義する、ステップと、第1の手段とは異なる第2の交通手段を使用して経路の第2の区分を通過するためのナビゲーション道順を取得するステップとを含む。方法はさらに、ユーザインターフェースを介して、生成されたマルチモーダル道順の指示を提供するステップを含む。
【０００７】
別の例示的な実施形態は、ユーザインターフェースと、1つまたは複数のプロセッサと、命令を記憶した非一時的コンピュータ可読媒体とを含む、コンピューティングデバイスである。1つまたは複数のプロセッサによって実行されると、命令は、コンピューティングデバイスに、ユーザインターフェースを介して、目的地への移動道順を取得するための要求を受け取らせ、目的地への移動のためのマルチモーダル移動道順を生成させる。マルチモーダル移動道順を生成するために、命令は、コンピューティングデバイスに、配車サービスのサードパーティプロバイダから、送迎地と降車地との間の経路の第1の区分を通過するための乗車の指示を取得させ、配車サービスが第1の交通手段を定義し、第1の手段とは異なる第2の交通手段を使用して経路の第2の区分を通過するためのナビゲーション道順を取得させる。命令はさらに、コンピューティングデバイスに、ユーザインターフェースを介して、生成されたマルチモーダル道順の指示を提供させる。
【０００８】
さらに別の例示的な実施形態は、マルチモーダル移動道順を提供するためのコンピューティングデバイスにおける方法である。方法は、ユーザインターフェースを介してインタラクティブデジタル地図を提供するステップと、ユーザインターフェースを介して、目的地への移動道順を取得するための要求を受け取るステップと、配車サービスのサードパーティプロバイダから、経路の少なくとも一部分を通過するための送迎地から降車地への乗車の指示を取得するステップとを含む。方法はさらに、配車サービスのサードパーティプロバイダから、デジタル地図上に乗車の視覚化をレンダリングするための視覚化情報を受信するステップと、受信された視覚化情報に従ってデジタル地図上に乗車の視覚化を生成するステップとを含む。
【０００９】
別の例示的な実施形態は、ユーザインターフェースと、1つまたは複数のプロセッサと、命令を記憶した非一時的コンピュータ可読媒体とを含む、コンピューティングデバイスである。1つまたは複数のプロセッサによって実行されると、命令は、コンピューティングデバイスに、ユーザインターフェースを介してインタラクティブデジタル地図を提供させ、ユーザインターフェースを介して、目的地への移動道順を取得するための要求を受け取らせ、配車サービスのサードパーティプロバイダから、経路の少なくとも一部分を通過するための送迎地から降車地への乗車の指示を取得させる。命令はさらに、コンピューティングデバイスに、配車サービスのサードパーティプロバイダから、デジタル地図上に乗車の視覚化をレンダリングするための視覚化情報を受信させ、受信された視覚化情報に従ってデジタル地図上に乗車の視覚化を生成させる。
【００１０】
別の例示的な実施形態は、デジタル地図に乗車サービス情報を提供するためのポータブルコンピューティングデバイスにおける方法である。方法は、ユーザインターフェースを介して、地理的エリアのインタラクティブデジタル地図を提供するステップと、ユーザインターフェースを介して、目的地への移動道順を取得するための要求を受け取るステップと、配車サービスの複数のサードパーティプロバイダからの、目的地への経路の少なくとも一部分のための乗車候補のそれぞれの指示を要求するステップとを含み、指示の各々が、送迎地、推定価格、および送迎時刻を含む。方法はさらに、乗車候補の要求された指示を受信するステップと、価格および送迎時刻のうちの少なくとも1つに従った乗車候補のランキングを決定するステップと、デジタル地図上で、決定されたランキングに従って乗車候補のリストを提供するステップと、乗車候補のうちの1つがユーザインターフェースを介して選択されることに応答して、選択された乗車に対する要求を対応するサードパーティプロバイダに送信するステップとを含む。
【００１１】
さらに別の例示的な実施形態は、コンピューティングデバイス上で乗車サービスに関する地図データを提供するためのポータブルコンピューティングデバイスにおける方法である。方法は、ユーザインターフェースを介してインタラクティブ2次元デジタル地図を提供するステップと、ユーザインターフェースを介して、目的地への移動道順を取得するための要求を受け取るステップと、配車サービスのサードパーティプロバイダから、経路の少なくとも一部分を通過するための送迎地から降車地への乗車の指示を取得するステップとを含む。方法はさらに、送迎地のストリートレベル画像を取得するステップと、デジタル地図上に送迎地の取得されたストリートレベル画像を表示するステップと、ユーザインターフェースを介したストリートレベル画像の選択を検出したことに応答して、2次元デジタル地図をストリートレベル画像のインタラクティブ3次元パノラマ表示に移行するステップとを含む。
【図面の簡単な説明】
【００１２】
【図１】地図アプリケーションを介して配車サービスをポータブルデバイスに提供するための技法が実装され得る例示的なシステムのブロック図である。
【図２】図1のシステムにおいて動作することができる例示的なポータブルデバイスのブロック図である。
【図３】地図アプリケーションに提供されるユーザ入力に応答した地図アプリケーションと配車サービスアプリケーションとの間の情報の例示的な交換を示す例示的なシーケンス図である。
【図４】地図アプリケーション内での配車サービス要求の間のユーザインターフェース間の移行のための例示的な流れ図である。
【図５】配車サービスAPIを呼び出すことによって地図アプリケーションを介して配車サービスを要求するための例示的な状態図である。
【図６】開始地から目的地への推奨されるマルチモーダル経路を生成するための例示的な流れ図である。
【図７】ユーザを別個の配車サービスアプリケーションに向けることなく地図アプリケーション内で配車サービスを提供するための例示的な流れ図である。
【図８】ユーザが他の地図機能に移行するときに乗車ステータス情報を提示するための例示的な流れ図である。
【図９】地図アプリケーションにおいて配車サービスプロバイダを選択するための例示的な表示の図である。
【図１０】地図アプリケーションにおいて送迎地を選択するための例示的な表示の図である。
【図１１Ａ】配車サービスプロバイダによってカスタマイズされるレイアウト構成要素を含む地図アプリケーションにおける例示的な配車要求表示の図である。
【図１１Ｂ】配車サービスプロバイダによってカスタマイズされるレイアウト構成要素を含む地図アプリケーションにおける別の例示的な配車要求表示の図である。
【図１２Ａ】地図アプリケーションにおいて乗車を確定するための例示的な送迎要求表示の図である。
【図１２Ｂ】地図アプリケーションにおいて乗車を確定するための別の例示的な送迎要求表示の図である。
【図１２Ｃ】地図アプリケーションにおいて乗車を確定するためのさらに別の例示的な送迎要求表示の図である。
【図１３Ａ】ユーザが乗車サービスプロバイダによって乗せられるのを待っているときに地図アプリケーションに提示される例示的な乗車待機表示の図である。
【図１３Ｂ】地図アプリケーションに提示される別の例示的な乗車待機表示の図である。
【発明を実施するための形態】
【００１３】
概要
一般に、地図アプリケーション内で配車サービスを提供するための技法は、ポータブルコンピューティングデバイスもしくはウェアラブルデバイス、1つまたはいくつかのネットワークサーバ、またはこれらのデバイスの組合せを含むシステムにおいて動作する、地図アプリケーションにおいて実施され得る。しかしながら、明確にするために、以下の例は、ユーザがポータブルコンピューティングデバイス内の地図アプリケーションを介して配車サービスを要求する実施形態に主に注目する。地図アプリケーションは、それぞれの配車サービスアプリケーションおよび/または配車サービスサーバと通信するために、1つまたはいくつかの配車サービスAPIを呼び出す。地図アプリケーションはまた、ユーザの現在地の周りの地理的エリアのインタラクティブ2次元デジタル地図と、ユーザによって選択される目的地(本明細書では「降車地」とも呼ばれる)へのナビゲーション道順とを表示するための、地図およびナビゲーションデータを読み出すために、地図データサーバおよび/またはナビゲーションデータサーバと通信することができる。
【００１４】
地図アプリケーションは次いで、各配車サービスプロバイダによって提供される配車サービスのタイプ、配車サービスの各タイプに対する推定価格、配車サービスの各タイプに対する待ち時間、配車サービスの各タイプに対する乗車時間、ユーザの現在地の周りの地理的エリア内の車両などを含む、1つまたはいくつかの配車サービスプロバイダに対する配車サービスデータを表示することができる。
【００１５】
ユーザが配車サービスプロバイダおよび配車サービスのタイプを選択するとき、地図アプリケーションはユーザに送迎地を選択するように促し得る。いくつかの実施形態では、地図アプリケーションはユーザの現在地の近くのデフォルトの送迎地を提供し、ユーザはユーザコントロールを介して送迎地を調整することができる。またいくつかの実施形態では、地図アプリケーションは、ユーザの現在地および状況情報に基づいて、推奨される送迎地を提供することができる。たとえば、いくつかの一方通行の街路があるエリアでは、地図アプリケーションは、運転手がユーザを乗せた後で不必要な右左折を行う必要がないように、運転手が目的地の方向に移動することを可能にする街路における送迎地を推奨し得る。別の例では、推奨される送迎地は、交通量の多い街路を避けて費用を最小にするように、交通状況に基づいて決定され得る。
【００１６】
送迎地の選択を受け取ったことに応答して、地図アプリケーションは、選択された配車サービスプロバイダに対応する配車サービスAPIを呼び出し、ユーザの乗客識別情報、要求される送迎地、および配車サービスのタイプを、対応する配車サービスアプリケーションに提供することができる。配車サービスアプリケーションは次いで、配車識別子、更新された待ち時間、更新された推定価格、更新された乗車時間、および運転手識別情報を、配車サービスAPIを介して地図アプリケーション上に表示するために提供することができる。結果として、運転手は、要求された送迎地でユーザを乗せ、目的地でユーザを降ろすことができる。
【００１７】
例示的なハードウェアおよびソフトウェア構成要素
図1を参照すると、上で概説された技法が実装され得る例示的な通信システム100は、1つまたはいくつかの配車サービスアプリケーション126および地図アプリケーション128を実行するように構成されるポータブルデバイスなどの、クライアントコンピューティングデバイス102を含む。クライアントコンピューティングデバイス102に加えて、通信システム100は、地図表示およびナビゲーションデータをクライアントコンピューティングデバイス102に提供するように構成されるナビゲーションサーバデバイスなどの、サーバデバイス104を含む。通信システム100はまた、配車サービス機能を提供する目的でクライアントコンピューティングデバイス102およびサーバデバイス104と通信するように構成され得る、サードパーティプロバイダデバイス106(これはサーバデバイス104とは独立にかつ別々に動作する)を含む。クライアントコンピューティングデバイス102、サーバデバイス104、およびサードパーティプロバイダデバイス106は、ネットワーク108を通じて互いに通信可能に接続され得る。ネットワーク108は、インターネットなどの公開ネットワーク、またはイントラネットなどの非公開ネットワークであり得る。
【００１８】
サーバデバイス104は、ある例示的な実装形態において、様々な地理的エリアのための地図データを記憶するデータベース110へ通信可能に結合され得る。同様に、サーバデバイス104は、ある例示的な実装形態において、クライアントコンピューティングデバイス102のユーザと関連付けられる様々な車両、サードパーティプロバイダ106と関連付けられる車両、そのデータがサーバデバイス104もしくは他のサーバによって収集される他の車両、またはこれら3つすべての組合せのための車両データ144を記憶する、データベース144に通信可能に結合され得る。より一般的には、サーバデバイス104は、任意のタイプの適切な地理空間情報、またはクーポンもしくはオファーなどの地理的状況と結び付けられ得る情報を記憶する、1つまたはいくつかのデータベースと通信することができる。サーバデバイス104はまた、ある例示的な実装形態では、たとえば、最終的には配車サービスアプリケーション126、地図アプリケーション128、または両方によって利用され得る、運転、徒歩、自転車、または公共交通の道順などの、ステップバイステップのナビゲーション道順を含むナビゲーションデータを記憶する、データベース(図示せず)に通信可能に結合され得る。たとえば、サーバデバイス104は、地図データデータベース110からの地図データならびに車両データデータベース144からの関連する車両データを要求して受信することができる。いくつかの実装形態では、サーバデバイス104は、いくつかの通信可能に接続されるサーバデバイスを含み得る。同様に、データベース110および144にそれぞれ記憶されている地図データおよび車両データは、実際には、クラウドデータベース構成で通信可能に接続されるいくつかのデータベースであり得る。
【００１９】
ある例示的な実装形態では、クライアントコンピューティングデバイス102は、スマートフォンまたはタブレットコンピュータであってよく、たとえば、メモリ120、1つまたは複数のプロセッサ112、ネットワークインターフェース116、ユーザインターフェース(UI)114、および1つまたはいくつかのセンサ118を含む。メモリ120は、非一時的メモリであってよく、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュメモリ、他のタイプの持続性メモリなどの、1つまたはいくつかの適切なメモリモジュールを含み得る。UI114は、たとえばタッチスクリーンであり得る。より一般的には、本開示の技法は、ラップトップまたはデスクトップコンピュータ、車両ヘッドユニットなどの車両に組み込まれているデバイス、スマートウォッチまたはスマートグラスなどのウェアラブルデバイスなどの、他のタイプのデバイスにおいて実装され得る。
【００２０】
実装形態に応じて、1つまたは複数のセンサ118は、クライアントコンピューティングデバイス102の場所を検出するための全地球測位システム(GPS)モジュール、クライアントコンピューティングデバイス102の方向を決定するためのコンパス、回転および傾きを決定するためのジャイロスコープ、加速度計などを含み得る。
【００２１】
メモリ120はオペレーティングシステム(OS)122を記憶し、これは任意のタイプの適切なモバイルまたは汎用オペレーティングシステムであり得る。OS122は、アプリケーション(配車サービスアプリケーション126および地図アプリケーション128などの)が互いにインターフェースすること、または、たとえばセンサ測定値を読み出すことを可能にする、API関数を含み得る。たとえば、クライアントコンピューティングデバイス102上で実行するように構成されるソフトウェアアプリケーションは、その瞬間におけるクライアントコンピューティングデバイス102の現在地および向きを読み出すためにOS122のAPIを呼び出す命令を含み得る。APIはまた、APIがその推定についてどれだけ確かであるかの定量的な指示を(たとえば、百分率として)返すことができる。
【００２２】
メモリ120はまた、インタラクティブデジタル地図を生成するように構成される地図アプリケーション128を記憶する。地図アプリケーション128は、地図データデータベース110および/またはサーバデバイス104から、ラスター(たとえば、ビットマップ)フォーマットまたは非ラスター(たとえば、ベクトルグラフィクス)フォーマットで地図データを受信することができる。いくつかの場合、地図データは、道路、街路、自然の形成物などを図示する基本レイヤ、現在の交通条件を図示する交通レイヤ、現在の気象条件を図示する気象レイヤ、目的地に到達するための道筋を図示するナビゲーションレイヤなどの、レイヤへと編成され得る。地図アプリケーション128はまた、開始地から目的地へのナビゲーション道順を表示することができる。ナビゲーション道順は、運転、徒歩、または公共交通の道順を含み得る。
【００２３】
図1は、地図アプリケーション128をスタンドアロンアプリケーションとして示すが、地図アプリケーション128の機能は、クライアントコンピューティングデバイス102上で実行されるウェブブラウザを介してアクセス可能なオンラインサービスの形式で、クライアントコンピューティングデバイス102上で実行される別のソフトウェアアプリケーションのためのプラグインまたは拡張などとして、提供され得ることに留意されたい。地図アプリケーション128は一般に、異なるそれぞれのオペレーティングシステムの異なるバージョンにおいて提供され得る。たとえば、クライアントコンピューティングデバイス102のメーカーは、Android(登録商標)プラットフォームのための地図アプリケーション128を含むソフトウェア開発キット(SDK)、iOS(登録商標)プラットフォームのための別のSDKなどを提供することができる。
【００２４】
いくつかの実装形態では、サーバデバイス104は、1つまたは複数のプロセッサ130、API132、ネットワークインターフェース134、およびメモリ136を含む。API132は、サーバデバイス104上でメモリ136に記憶され得るアプリケーションとインターフェースするための機能を提供し得る。メモリ136は、有形の非一時的メモリであってよく、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュメモリ、他のタイプの持続性メモリなどを含む、任意のタイプの適切なメモリモジュールを含み得る。メモリ136は、地理的エリアに対して地図アプリケーション128によって表示されるべき地図表示を生成することができる、プロセッサ130上で実行可能な命令を記憶する。メモリ136、または別のサーバの中のメモリは、地理的エリア内の地理的位置へのナビゲーション道順を生成する命令を同様に記憶することができ、このナビゲーション道順は地図アプリケーション128による地図表示に重畳して表示され得る。いくつかの実装形態では、サードパーティプロバイダ106は、クライアントコンピューティングデバイス102上で配車サービスアプリケーション126によって使用され得るナビゲーション道順のために、サーバデバイス104への呼出しを開始し得る。
【００２５】
簡潔にするために、図1は、サーバの1つだけの実体としてサーバデバイス104を示す。しかしながら、いくつかの実装形態によるサーバデバイス104は、各々が1つまたは複数のプロセッサを備えて他のサーバデバイスと独立に動作することが可能な、1つまたは複数のサーバデバイスのグループを含む。そのようなグループで動作するサーバデバイスは、ある要求の処理と関連付けられる1つの動作があるサーバデバイス上で実行され、一方で同じ要求を処理することと関連付けられる別の動作が別のサーバデバイス上で実行されるような分散型の方式で、または任意の他の適切な技法に従って、クライアントコンピューティングデバイス102からの要求を個別に(たとえば、可用性に基づいて)処理することができる。この議論では、「サーバデバイス」という用語は、個々のサーバデバイスまたは2つ以上のサーバデバイスのグループを指し得る。
【００２６】
いくつかの実装形態では、サードパーティプロバイダデバイス106または配車サービスプロバイダデバイスは、プロセッサ138、API140、ネットワークインターフェース142、およびメモリ144を含み得る。API140は、サードパーティプロバイダ106上のメモリ144に記憶され得るアプリケーションとインターフェースするための機能を提供し得る。メモリ144は、有形の非一時的メモリであってよく、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュメモリ、他のタイプの持続性メモリなどを含む、任意のタイプの適切なメモリモジュールを含み得る。メモリ144は、クライアントコンピューティングデバイス102のメモリ120に記憶されている配車サービスアプリケーション126などの、配車サービスアプリケーションの中の配車サービス機能に対する要求を生成し、処理し、送信することができる、プロセッサ138上で実行可能な命令を記憶する。
【００２７】
いくつかの実装形態では、システム100は、いくつかの異なる配車サービスプロバイダに対応するいくつかのサードパーティプロバイダデバイス106を含む。またいくつかの事例では、クライアントコンピューティングデバイス102は、配車サービスプロバイダの各々に対応するいくつかの配車サービスアプリケーション126を含む。このようにして、ユーザは、いくつかの配車サービスプロバイダに対する配車サービスタイプ、推定価格、乗車時間、および推定待ち時間を比較することができる。
【００２８】
図2は、クライアントコンピューティングデバイス102上で実装され得る例示的なソフトウェアアーキテクチャ200のブロック図であり、オペレーティングシステム122、配車サービスアプリケーション126、地図アプリケーション128、クライアントコンピューティングデバイス上のサービス202、ならびに他のアプリケーション204の間で通信するためのプロトコルを含み得る。いくつかの実装形態では、配車サービスアプリケーションは、地図アプリケーション128によって呼び出される配車サービスAPI206を公開する。このようにして、地図アプリケーション128は、ユーザが地図アプリケーション128から離れる必要なく配車サービスを要求することを可能にし得る。たとえば、地図アプリケーション128は、送迎地および目的地を配車サービスAPI206に提供することができ、配車サービスAPI206が次いで、地理的エリアにおける配車サービスのタイプ、配車サービスの各タイプに対する推定価格、配車サービスの各タイプに対する待ち時間、配車サービスの各タイプに対する乗車時間、地理的エリア内の車両の数などを提供することができる。
【００２９】
一般に、地図アプリケーション128は、配車サービスAPI206にアクセスすることによって、配車サービスアプリケーション126または配車サービスサーバ106へのファンクションコールを行い得る。API206は、アプリケーション間の通信を促進し、プロセス、論理、およびユーザがどのように扱われるかについての制御を地図アプリケーション128と配車サービスアプリケーション126が維持することを、機能を他のアプリケーションに公開しながらでも可能にする。アプリケーション126および128は、オペレーティングシステム122によって提供されるプロセス間通信(IPC)方式を使用して通信することができる。クライアントコンピューティングデバイス102のいくつかの実施形態では、配車サービスアプリケーション126の機能は、配車サービスAPI208を介してアクセス可能な関数の静的ライブラリとして提供され得る。言い換えると、配車サービスアプリケーション126の機能の一部またはすべては、地図アプリケーション128の一部として実行することができる。より一般的には、配車サービスAPI208は、地図アプリケーション128に、当技術分野において現在知られているものを含む、任意の適切なソフトウェアアーキテクチャおよび通信方式を使用した配車サービスへのアクセスを提供する。配車サービスAPI208は一般に、異なるそれぞれのオペレーティングシステムのための異なるバージョンにおいて提供され得る。たとえば、クライアントコンピューティングデバイス102のメーカーは、Android(登録商標)プラットフォームのための配車サービスAPI208を含むソフトウェア開発キット(SDK)、iOS(登録商標)プラットフォームのための別のSDKなどを提供することができる。
【００３０】
いくつかの事例では、地図アプリケーション128は、それぞれのAPIを介していくつかの配車サービスアプリケーションと通信し得る。地図アプリケーション128が通信する配車サービスアプリケーションをユーザが有しない場合、ユーザは配車サービスアプリケーション126をダウンロードするように促され得る。他の実施形態では、ユーザは配車サービスアプリケーション126をダウンロードせず、地図アプリケーション128が、配車サービスAPI206を介して、図1に示されるようなサードパーティプロバイダデバイス106などの配車サービスサーバと通信し得る。
【００３１】
図3は、APIを利用した、地図アプリケーションと配車サービスアプリケーションとの間の呼出しを図示する例示的なシーケンス図300である。シーケンス図300は、本明細書で開示される実施形態の1つの実装形態に対する例示的なメッセージシーケンスチャートを示す。シーケンス図300は、ユーザ302、地図アプリケーション128、配車サービスアプリケーション126、および配車サービスAPI208を含む。
【００３２】
例示的なシーケンス図300において、ユーザ302は、地図アプリケーション128によって提示される表示に対するユーザコントールを介して配車サービス304を要求する。たとえば、ユーザは、配車サービス交通手段の選択された目的地への道順を要求し得る。この要求に応答して、地図アプリケーション128は、配車サービスアプリケーションAPI208への配車サービスのためのAPI呼出しを生成することができ、ここでAPI呼出しは、たとえばユーザの現在地および目的地とともに、配車サービスに対する要求306を含む。API呼出しは次いで、配車サービスアプリケーション126または、サードパーティプロバイダデバイス106などの配車サービスサーバへ、要求308として送信される。
【００３３】
配車サービスアプリケーション126は、ユーザ302にサービスすることが可能な配車サービスのタイプ、ユーザ302を目的地に輸送するための推定価格、ユーザ302を乗せるための待ち時間、ユーザの現在地の周りの地理的エリア内の車両の数などを決定するために、固有の内部関数を実行し得る。配車サービスアプリケーション126は次いで、地図アプリケーション128に送信されるべき応答310を、たとえば、利用可能な配車サービスのタイプ、配車サービスの各タイプを通じた乗車の推定到着時間、配車サービスの各タイプに対する推定価格、エリアの中の車両/運転手の推定、またはこれらの組合せとともに準備する。応答310は、配車サービスAPI208によって受信され、次いでフォーマットされて地図アプリケーション128(311参照)に提供され、そこで応答310が処理され、必要であればユーザ302への表示312のために操作される。
【００３４】
たとえば、地図アプリケーション128は、利用可能な配車サービスの各タイプの指示(たとえば、相乗り配車サービス、タクシー配車サービス、リムジン配車サービス、特大車両サービス)、配車サービスの各タイプに対する推定価格、配車サービスの各タイプに対する乗車時間、および配車サービスの各タイプに対する推定待ち時間を表示し得る。地図アプリケーション128はまた、配車サービスAPI126によって示されるような、地理的エリア内の車両の数に比例する、車両の指示を地図表示上に表示し得る。地図表示上の車両の位置は配車サービスプロバイダによって利用される車両の位置の正確な表現ではないことがあるが、エリアの中の車両の量の概略をユーザに示すために、地図表示上の車両の数が使用され得る。複数の配車サービスプロバイダが利用可能であるとき、地図アプリケーション128は、異なるスタイルまたは色で、各配車サービスプロバイダによって利用される車両の指示を表示し得る。
【００３５】
いくつかの実施形態では、利用可能な配車サービスのタイプの表示される指示は、配車サービスのタイプを選択するための選択可能なユーザコントロールを含み得る。ユーザ302は、表示された指示312を見て、配車サービスのタイプを選択する。地図アプリケーション128は次いで、送迎地を選択するためのユーザコントロールを提示し得る。ユーザコントロールは、ユーザの現在地に、またはユーザの現在地の近くに置かれたピンであってよく、ユーザは、住所または関心点(POI: point of interest)を入力することによって、ピンを別の位置にドラッグすることによって、または任意の他の適切な方式で、ピンを別の位置に移動することが可能であり得る。送迎地および配車サービスの選択されたタイプが次いで、配車サービスAPI208に提供され(316参照)、配車サービスアプリケーション126(318参照)に転送される。配車サービスアプリケーション126は次いで、送迎のための運転手およびユーザを選択し、選択された運転手の運転手識別情報(たとえば、運転手の名前、車両のメーカー、モデル、色、ナンバープレートの番号など)、更新された推定価格、更新された待ち時間、運転手がユーザを乗せるために向かっている途中であることを示すステータス情報を読み出すための乗車IDなどを配車サービスAPI208に送信し(320参照)、これは次いでフォーマットされて地図アプリケーション128に提供される(321参照)。したがって、地図アプリケーション128は、運転手のステータスの指示(たとえば、ユーザを乗せるために向かっている途中である)、更新された推定価格、更新された待ち時間、および運転手識別情報をユーザ302に提示することができる。
【００３６】
図4は、地図アプリケーション128内の配車サービス要求の間にユーザインターフェース間で移行するための例示的な流れ図500を示す。方法は、コンピュータ可読メモリに記憶されておりクライアントコンピューティングデバイス102の1つまたは複数のプロセッサ上で実行可能である、命令のセットにおいて実施され得る。たとえば、方法は、地図アプリケーション128、配車サービスアプリケーション128、またはこれらの任意の適切な組合せによって実装され得る。
【００３７】
ブロック502において、ユーザの現在地の周りの地理的エリアを含む地図表示が提示される。ユーザの現在地の指示も、地図表示上に提示され得る。そしてブロック504において、地図アプリケーション128は、ユーザから地理的検索クエリを取得し、地理的検索クエリに応答して検索結果を提供するための、検索バーを提示する。たとえば、検索結果は、POI、住所、交差点などを含むことがあり、ユーザは、検索結果のうちの1つを目的地として選択し、選択された目的地への道順を要求し得る。
【００３８】
地図アプリケーション128はまた、ある配車サービス交通手段を含む、いくつかの交通手段の中から選択するためのユーザコントロールを含み得る。配車サービス交通手段の選択を受け取ったことに応答して、地図アプリケーション128は、図11Bに示されるような表示と同様に、配車サービスプロバイダの指示、配車サービスプロバイダからの配車サービスのタイプ、配車サービスの各タイプに対する推定価格、配車サービスの各タイプに対する乗車時間、配車サービスの各タイプに対する待ち時間などを含む、配車要求表示を提示し得る(ブロック506)。いくつかの実施形態では、地図アプリケーション128は、1つまたはいくつかの配車サービスアプリケーションの各々のための配車サービスAPIを呼び出すことができ、それぞれのAPIを介して配車サービスアプリケーションの各々にユーザの現在地および目的地を提供することができる。
【００３９】
配車サービスプロバイダおよび/または配車サービスのタイプの選択を受け取ったことに応答して、地図アプリケーション128は、図12Aに示されるような表示と同様に、送迎地を選択するためのユーザコントロールを含む送迎要求表示を提示し得る(ブロック508)。送迎要求表示は、ユーザの現在地からある閾値の距離(たとえば、500フィート)以内のデフォルトの送迎地を含むことがあり、デフォルトの送迎地はユーザによって調整可能である。たとえば、ユーザは、送迎地を選択するために、送迎地に入り、またはデフォルトの送迎地に提示されているピンをドラッグし得る。いくつかの実施形態では、地図アプリケーション128は、時間および費用を節約するように推奨される送迎地を提供し得る。たとえば、推奨される送迎地はユーザの現在地から350フィートであることがあり、送迎要求表示は、推奨される送迎地を選択することによってユーザが「3分と2ドルを節約」できることを示し得る。送迎要求表示はまた、送迎地を選択した後で「乗車を確定する」ボタンなどの、送迎地を確定するためのユーザコントロールを含み得る。
【００４０】
送迎地の選択を受け取ったことに応答して、地図アプリケーション128は、図13Aに示されるような表示と同様に、乗車待機表示を提示し得る(ブロック510)。乗車待機表示は、運転手の現在地の指示、運転手の識別情報、運転手が選択された送迎地に到着するための推定待ち時間、および運転手に連絡するためのユーザコントロールを含み得る。運転手が到着すると、ユーザは目的地に輸送され得る。
【００４１】
ユーザが地図アプリケーション128内で配車サービスを要求するとき、地図アプリケーション128は、ユーザログイン情報を配車サービスプロバイダに提供して、配車サービスプロバイダによって保持されるユーザプロファイルにユーザをログインさせる。たとえば、ユーザプロファイルは、ユーザの支払方法、ユーザの名前、ユーザの電子メールアドレス、ユーザの電話番号、運転手がユーザを特定するためのユーザの写真、ユーザの評価、現在進行中の乗車もしくはユーザが要求している配車の乗車ID、または任意の他の適切なユーザプロファイル情報を含み得る。ユーザが配車要求を確定すると、地図アプリケーション128は、「運転手が配車要求を受け入れるのを待機中」、「運転手が送迎地に到着するのを待機中」、「乗車中」、「乗車終了」などの、乗車のステータス情報を読み出すための乗車IDを受信し得る。
【００４２】
図5は、配車サービスAPI208を呼び出すことによって、地図アプリケーション128を介して配車サービスを要求するための例示的な状態図600である。状態図600は、初期状態602、サインイン状態604、確定/予約状態606、復元状態608、乗車中状態610、および移行状態612などの、いくつかの状態を示す。任意の瞬間に、状態602〜610のいずれもが、状態図600に表記されるように初期状態に戻ることができる。
【００４３】
一実装形態では、ユーザは、地図アプリケーション128を開き、初期状態602において開始する。初期状態602において、地図アプリケーション128は、地理的エリアの地図表示を提示して、地理的検索クエリを受け取り、地理的検索クエリに応答して検索結果を提示し、ユーザの現在地または何らかの他の指定された開始地から選択された目的地へのナビゲーション道順または移動道順を表示することができる。ナビゲーション道順または移動道順は、いくつかの異なる交通手段(たとえば、徒歩、自転車、運転、公共交通、配車サービス、最短時間、距離、または最低費用などに基づく目的地に到着するための複数の交通手段を含み得る推奨される交通手段)に対して提供され得る。ユーザが配車サービス交通手段を選択するとき、または、配車サービスによってカバーされる区分を含むマルチモード移動道順を選択し、配車サービスの配車サービスプロバイダ/タイプを選択するとき、地図アプリケーション128はサインイン状態604に進む。
【００４４】
サインイン状態604において、地図アプリケーション128は、ユーザが地図アプリケーション128のプロバイダと関連付けられるクライアントアカウント616にサインインしているかどうかを決定する。ユーザがサインインしていない場合、地図アプリケーション128は、ユーザ名およびパスワードなどのユーザログイン情報を入力してクライアントアカウント616にサインインするための、ユーザコントロールを提供し得る。ユーザがサインインすると、地図アプリケーション128は、配車サービスを提供するサードパーティプロバイダ618と関連付けられるユーザプロファイルへとユーザをサインインさせる。いくつかの実施形態では、ユーザは、地図アプリケーション128のプロバイダと関連付けられるクライアントアカウント616を使用してサードパーティプロバイダにサインインし得る。ユーザがサードパーティプロバイダにサインインしているとき、地図アプリケーション128は、ユーザプロファイルと関連付けられる乗車IDを読み出して乗車が現在進行中であるかどうかを決定するために、乗車サービスAPI208を呼び出す。乗車が現在進行中である場合、地図アプリケーション128は、復元状態608に移行する。一方、乗車IDがない場合、地図アプリケーション128は確定/予約状態606に進む。
【００４５】
確定/予約状態606、およびより具体的には確定状態620において、地図アプリケーション128は、図12Aに示されるような表示と同様に、送迎地を選択するためのユーザコントロールを含む、送迎要求表示を提示する。送迎要求表示はまた、支払方法を選択または追加するためのユーザコントロールを含み得る。たとえば、地図アプリケーション128は、配車サービスAPI208を介して配車サービスプロバイダに記憶されているユーザの支払方法を読み出し得る。地図アプリケーション128は、ユーザがそこから選択すべき、これらの支払方法の各々の覆われた指示を表示することができ、ユーザが新しい支払方法を入力するための追加のユーザコントロールを表示することができる。いくつかの実施形態では、ユーザが送迎地および支払方法を選択すると、地図アプリケーション128は、「乗車を確定する」ボタンなどのユーザコントロールを提示することができ、これは、選択されると、地図アプリケーション128を予約状態622に移行する。
【００４６】
予約状態622において、地図アプリケーション128は、配車サービスAPI208を介して、送迎地から目的地への配車サービスプロバイダからの配車サービスを要求する。配車サービスAPI208は次いで、その乗車の運転手を選択するために、配車サービスプロバイダと通信する。たとえば、配車サービスプロバイダは、送迎地から閾値の距離以内の運転手の各々にメッセージをブロードキャストすることができ、ブロードキャストされたメッセージに応答した最初の運転手を選択することができる。いずれにしても、配車サービスAPI208は次いで乗車IDを地図アプリケーション128に提供することができ、地図アプリケーション128は乗車中状態626に進む。乗車中状態において、地図アプリケーション128は、乗車IDを配車サービスAPI208に提供することによって乗車のステータスに関するステータス情報を受信するために、乗車ステータス取得関数612を継続的または定期的(たとえば、5〜10秒ごと)に呼び出す。それに応答して、配車サービスAPI208は、ステータス情報を地図アプリケーション128に提供する。ステータス情報は、運転手が配車を受け入れるのを待機中628、運転手が送迎地に到着するのを待機中630、乗車中632、および乗車終了634を含み得る。
【００４７】
運転手が送迎地に到着するのを待機中状態630および乗車中状態632の間、配車サービスAPI208はまた、地図アプリケーション128を介した表示のために運転手の現在地を返し得る。このようにして、地図アプリケーション128は、送迎地までの運転手の進行状況または目的地への経路上の運転手の進行状況をユーザが見るための運転手の指示を、送迎地または目的地とともに地図表示上に提示し得る。加えて、運転手が配車を受け入れるのを待機中状態628、運転手が送迎地に到着するのを待機中状態630、および乗車中状態632の間、地図アプリケーション128は、選択されると、地図アプリケーション128に、配車サービスAPI208を介して配車サービスプロバイダへ、配車を取り消すための取消要求を提供させ得る、配車を取り消すためのユーザコントロールを提示し得る。地図アプリケーション128はまた、選択されると、地図アプリケーション128に、配車サービスAPI208を介して目的地変更要求を配車サービスプロバイダへ提供させ得る、目的地を変更するためのユーザコントロールを提示し得る。
【００４８】
ユーザが目的地で降ろされると、地図アプリケーション128は完了状態632に進む。完了状態632において、地図アプリケーション128は、乗車の最終価格を含む乗車の概要、運転手を評価するためのユーザコントロール、または評価に関する任意の他の適切な情報を提示し得る。そして、地図アプリケーション128は、初期状態602に戻り得る。
【００４９】
上で言及されたように、地図アプリケーション128は、ユーザがサードパーティプロバイダにサインインしており現在進行中の乗車があるとき、復元状態608に移行する。たとえば、ユーザは、地図アプリケーション128から離れて、そして配車を要求している間に地図アプリケーション128を再び開いた可能性がある。復元状態608において、地図アプリケーション128は、乗車中状態626に進み、乗車のステータスに関するステータス情報を受信するために乗車ステータス取得関数612を継続的にまたは定期的に(たとえば、5〜10秒ごとに)呼び出す。
【００５０】
配車サービスを提供することに加えて、地図アプリケーション128は、ユーザを目的地に案内するためのマルチモーダル交通手段を提供する。たとえば、ユーザは、最短時間、距離、最低費用などに基づいて、目的地への最適な経路を提供するための、複数の交通手段を含み得る推奨される交通手段を選択し得る。いくつかの実施形態では、ユーザは、「高速道路を避ける」、「公共交通を利用する」、「夜に道を歩くのを避ける」、「最低費用」、「最短時間」などの選好を提供することができ、優先される交通手段、優先される配車サービスプロバイダ、および/もしくは優先される配車サービスタイプ(たとえば、相乗り配車サービス)を示すことができ、または任意の他の適切な選好を提供することができる。したがって、地図アプリケーション128は、1つまたはいくつかの交通手段を使用して、かつユーザの選好に従って、目的地への1つまたはいくつかの最適な経路を提示することができる。
【００５１】
いくつかの実施形態では、地図アプリケーション128は、開始地、目的地、ユーザの選好を含むユーザデータを含む、推奨される交通手段を使用したナビゲーション道順に対する要求をサーバデバイス104に提供する。サーバデバイス104は、開始地から目的地への経路を生成するために、地図データ、ナビゲーションデータ、交通データなどを読み出し得る。またいくつかの実施形態では、サーバデバイス104は、経路の特定の区分に対する推定待ち時間および推定価格などの、配車サービスプロバイダに対する配車サービスデータを読み出すために、配車サービスAPI208を呼び出し得る。たとえば、最適な経路は、公共交通の停留所への、および/またはそこからの配車サービスを含み得る。より具体的には、サーバデバイス104は、ユーザの開始地から1マイルにある第1の公共交通の停留所と、ユーザの目的地から1マイルにある第2の公共交通の停留所とを含む、推奨されるマルチモーダル経路を生成し得る。推奨されるマルチモーダル経路は、開始地から第1の公共交通の停留所までの配車サービスと、第2の公共交通の停留所から目的地までの別の配車サービスとを含み得る。別の例では、推奨されるマルチモーダル経路は、開始地から第1の公共交通の停留所への、または第2の公共交通の停留所から目的地への、徒歩の道順を含み得る。
【００５２】
配車サービスプロバイダと通信することによって、サーバデバイス104は、費用および/または待ち時間を最小にする、配車サービスプロバイダおよび/または配車サービスタイプを特定し得る。ユーザが優先される配車サービスプロバイダまたは配車サービスタイプを示すとき、サーバデバイス104は、優先される配車サービスプロバイダから配車サービスデータを読み出し、優先される配車サービスプロバイダを経路に含めることができる。サーバデバイス104は次いで、1つまたはいくつかの推奨されるマルチモーダル経路を生成し、ユーザが推奨される経路のうちの1つを選択して目的地への進行を開始するための推奨される経路を地図アプリケーション128に提供し得る。
【００５３】
図6は、開始地から目的地への推奨されるマルチモーダル経路を生成するための例示的な方法800の流れ図を示す。方法は、サーバデバイス104のコンピュータ可読メモリおよび実行可能な1つまたは複数のプロセッサに記憶されている命令のセットにおいて実施され得る。他の実施形態では、方法は、クライアントコンピューティングデバイス102、またはサーバデバイス104とクライアントコンピューティングデバイス102の組合せの上で実行可能なアプリケーションによって実施され得る。
【００５４】
ブロック802において、開始地と目的地とを含む移動道順に対する要求が受け取られる。移動道順に対する要求は、ユーザのクライアントコンピューティングデバイス102上で実行されている地図アプリケーション128から受け取られ得る。ユーザは、たとえば、地理的検索クエリに応答して検索結果を選択すること、目的地を入力すること、地図表示上で目的地をタッチで選択すること、または任意の他の適切な方式によって、目的地を提供し得る。開始地は、ユーザによって提供されるユーザの現在地または別の位置であり得る。
【００５５】
ブロック804において、地図アプリケーション128はまた、推奨される交通手段に対する移動道順を受け取るための要求を提供し得る。推奨される交通手段は複数の交通手段を含み得る。加えて、推奨される交通手段を使用する移動道順に対する要求に応答して、サーバデバイス104は、ユーザがその中から選ぶべき1つまたは複数の交通手段を各々が伴う、目的地への複数の経路を提供し得る。推奨される交通手段を使用した移動道順を要求するとき、地図アプリケーション128は、「高速道路を避ける」、「公共交通を利用する」、「夜に道を歩くのを避ける」、「最低費用」、「最短時間」、優先される配車サービスプロバイダおよび/もしくは優先される配車サービスタイプ(たとえば、相乗り配車サービス)、または任意の他の適切なユーザ選好などの、推奨される経路に対するユーザ選好を提供し得る。
【００５６】
推奨される交通手段を使用した移動道順に対する要求を受け取ったことに応答して、サーバデバイス104は、各々が1つまたは複数の交通手段を伴う、開始地から目的地へのいくつかの経路を特定し得る(ブロック806)。いくつかの実施形態では、経路は、配車サービス交通手段を使用する第1の区分と、徒歩、運転、自転車、公共交通などの、別の交通手段を使用する第2の区分とを含み得る。たとえば、サーバデバイス104は、開始地から目的地への運転または配車サービスの注文を含む、第1の経路を特定し得る。サーバデバイス104は、駅まで歩くこと、第1の列車の停車駅から第2の列車の停車駅まで列車に乗ること、および第2の列車の停車駅から目的地までの配車サービスを注文することを含む、第2の経路を特定し得る。その上、サーバデバイス104は、開始地からバス停留所まで自転車に乗ること、第1のバス停留所から第2のバス停留所までバスに乗ること、第2のバス停留所から列車の駅まで歩くこと、第1の列車の停車駅から第2の列車の停車駅まで列車に乗ること、および目的地まで歩くことを含む、第3の経路を特定し得る。他の実施形態では、地図アプリケーション128は、クライアントコンピューティングデバイス102のローカルメモリに記憶されているキャッシュされた地図データを使用した移動道順を生成し、または、配車サービスを含まない経路の区分に対するキャッシュされた地図データを使用して移動道順を生成する。
【００５７】
いくつかの実施形態では、特定された経路は、特定の配車サービスプロバイダおよび/または配車サービスタイプを含み得る。たとえば、一部の配車サービスプロバイダは、シャトルタイプの配車サービスを含むことがあり、経路は、シャトル送迎地の近くの停車駅まで列車に乗り、次いで目的地から徒歩圏内にあるシャトル停留所までシャトル送迎地から配車サービスを使うことを含み得る。このようにして、ユーザは、シャトル送迎地と列車の停車駅の時間を合わせることができるとき、時間を節約して費用を減らすことができる。
【００５８】
ブロック808において、特定された経路の各々は、最適化技法に従ってランクまたはスコアを付けられる。たとえば、特定された経路は、距離、時間、費用、ユーザ選好を含むユーザデータなどの、1つまたはいくつかの要因に従ってランクまたはスコアを付けられ得る。たとえば、特定された経路は、目的地への移動の全体的な時間を最小にするようにランク付けされ得る。別の例では、特定された経路は、目的地への移動の全体の価格を最小にするようにランク付けされ得る。
【００５９】
さらに別の例では、各々の特定された経路は、距離スコア、時間スコア、費用スコア、ユーザ選好スコア、または任意の他の適切なスコアを受け取ることがあり、スコアは、重み付けられ、集約され、または任意の適切な方式で組み合わされて、各経路に対する全体のスコアを生成することがある。経路は次いで、費用、時間、および/または距離を最小にするために、それぞれのスコアの順序でランク付けされ得る。いくつかの実施形態では、ユーザ選好を満たさない経路は除外されることがあり、または0というスコアを受け取ることがある。このようにして、推奨される経路および/または配車サービスプロバイダ/配車サービスのタイプが、ユーザデータに鑑みてランク付け/選択され得る。たとえば、ユーザが夜に歩きたくないことを示す場合、閾値の時刻の後の徒歩の区分を含むあらゆる経路が除外され、または最低にランクされ得る。費用は、特定の公共交通機関を使用するための費用、または特定の配車サービスプロバイダおよび/もしくは配車サービスタイプを使用するための費用に基づいて決定され得る。たとえば、サーバデバイス104は、経路の区分に対して特定の配車サービスプロバイダおよび/または配車サービスタイプを使用するための推定価格を決定するために、1つまたはいくつかのライドシェアリングAPI208を呼び出し得る。
【００６０】
特定された経路をランク付けすることに加えて、サーバデバイス104は乗車候補をランク付けすることができ、ここで各乗車候補は特定の配車サービスプロバイダおよび配車サービスタイプに対応する。乗車候補は、距離、時間、費用、ユーザ選好を含むユーザデータなどの、1つまたはいくつかの要因に従ってランクまたはスコアを付けられ得る。たとえば、乗車候補は、送迎地に運転手が到着するための待ち時間を最小にするようにランク付けされ得る。別の例では、乗車候補は、目的地までの移動の全体の価格を最小にするようにランク付けされ得る。サーバデバイス104は、待ち時間、価格、または任意の他の適切なカテゴリに従って、乗車候補を別々にランク付けし得る。いくつかの実施形態では、乗車候補はまた、配車サービスプロバイダに対するユーザフィードバックデータに従ってランク付けされ得る。ユーザフィードバックデータは、乗客による配車サービスプロバイダの過去の評価またはレビューを示すデータを含み得る。
【００６１】
次いで、ブロック810において、サーバデバイス104は、閾値によるランキングの上位にランクされた経路のセットまたは乗車のリスト(たとえば、ランキング上位3つの経路)を、ユーザがそこから選ぶべき推奨される経路または乗車として、地図アプリケーション128に提供する。たとえば、ランキング上位3つの経路の各々の指示が、地図表示の領域に(たとえば、経路の区分に対する交通手段を表す一連のアイコンとして)提供されることがあり、ユーザは、推奨される経路の指示をタッチで選択することによって経路のうちの1つを選び得る。他の実施形態では、サーバデバイス104は、1つの経路(たとえば、ランキング最上位の経路)を選択し、地図アプリケーション128に選択した経路を提供する。ある例示的なシナリオでは、地図アプリケーション128は3つの経路を表示し、ここで第1の経路は開始地(たとえば、ユーザの現在地)から列車の駅までRiderにより提供されるタクシー配車サービスを注文すること、第1の列車の停車駅から第2の列車の停車駅まで列車に乗ること、および目的地まで歩くことを含む。第2の経路は、DriverCoによって提供されるシャトル配車サービスのシャトル送迎地まで歩くこと、第2のシャトル停留所/送迎地までシャトル配車サービスを使うこと、および目的地まで歩くことを含む。第3の経路は、バス停留所まで歩くこと、第1のバス停留所から第2のバス停留所までバスに乗ること、列車の駅まで歩くこと、第1の列車の停車駅から第2の列車の停車駅まで列車に乗ること、および第2の列車の停車駅から目的地までRiderによって提供される相乗り配車サービスを注文することを含む。
【００６２】
ユーザが、配車サービスによってカバーされる区分を含む推奨されるマルチモーダル経路のうちの1つを選択するとき、または配車サービス交通手段を使用する経路を選択するとき、地図アプリケーション128は、いくつかの配車サービスプロバイダと通信するために1つまたはいくつかの配車サービスAPI208を呼び出し得る。たとえば、経路は、第1の列車の停車駅から第2の列車の停車駅まで列車に乗ることと、第2の列車の停車駅から目的地まで配車サービスを注文することとを含み得る。この例では、第2の停車駅が配車サービスの送迎地であることがあり、目的地が降車地であることがある。地図アプリケーション128は、ユーザが第2の列車の停車駅に、したがって送迎地に到達する推定時刻を特定し得る。したがって、地図アプリケーション128は、乗車が送迎地において推定時刻に開始すること、または推定時刻から閾値の時間内に(たとえば、5分以内、10分以内など)開始することを、要求し得る。
【００６３】
また、ユーザが推奨されるマルチモーダル経路のうちの1つを選択するとき、地図アプリケーション128は、地図表示上に経路の視覚化を提示する。たとえば、視覚化は、2つの位置におけるピンなどの、開始地と目的地の指示を含み得る。視覚化はまた、開始地から目的地への経路の指示を含み得る。たとえば、経路に沿った街路、道路、高速道路、および案内(maneuver)の各々が、任意の適切な方式で強調または指示され得る。また、経路の各区分は、対応する区分に対するそれぞれの交通手段の指示を含み得る。たとえば、経路の第1の区分は、第1の区分に対する徒歩の道順を示す破線で表記されることがあり、経路の第2の区分は、第2の区分に対する運転の道順を示す実線で表記されることがある。
【００６４】
いくつかの実施形態では、特定の配車サービスプロバイダおよび配車サービスタイプを含む推奨されるマルチモーダル経路をユーザが選択するとき、地図アプリケーション128は、選択された配車サービスプロバイダおよび配車サービスタイプに対する配車サービスデータだけを提示し得る。たとえば、ユーザまたはサーバデバイス104がいくつかの乗車候補から特定の乗車を選択するとき、地図アプリケーション128は選択された乗車に対する配車サービスデータを要求し得る。他の実施形態では、地図アプリケーション128は、配車サービスプロバイダおよび配車サービスタイプを選択するための別の機会をユーザに与えるために、各配車サービスプロバイダおよび配車サービスタイプに対する配車サービスデータを提示する。
【００６５】
図7は、ユーザを別個の配車サービスアプリケーションに向けることなく、地図アプリケーション内で配車サービスを提供するための例示的な方法900の流れ図を示す。方法は、クライアントコンピューティングデバイス102のコンピュータ可読メモリおよび実行可能な1つまたは複数のプロセッサに記憶されている命令のセットにおいて実施され得る。たとえば、方法は、地図アプリケーション128などの、クライアントコンピューティングデバイスに記憶されるアプリケーションによって実施され得る。他の実施形態では、方法は、サーバデバイス104、またはクライアントコンピューティングデバイス102とサーバデバイス104の組合せによって実施され得る。
【００６６】
ブロック902において、配車サービスによってカバーされる区分を少なくとも含む、開始地から目的地への経路が選択される。たとえば、地図アプリケーション128は、目的地へのいくつかの推奨されるマルチモーダル経路を提示することができ、ユーザは、たとえば、図6を参照して上で説明されたように、経路の指示をタッチで選択することによって、推奨されるマルチモーダル経路のうちの1つを選ぶことができる。別の例では、地図アプリケーション128は、選択された目的地への移動道順を要求するためのユーザコントロールを含み得る。ユーザがユーザコントロールを介して移動道順を要求するとき、地図アプリケーション128は、配車サービス手段を含む交通手段を選択するためのユーザコントロールを提供し得る。
【００６７】
配車サービス手段が選択されるとき、地図アプリケーション128は、配車サービスを要求するためのそれぞれの配車サービスプロバイダと通信するために、1つまたはいくつかの配車サービスAPI208を呼び出し得る(ブロック904)。地図アプリケーション128は、たとえば、ユーザの現在地および目的地とともに、各配車サービスAPI208を使用して配車サービス要求を提供し得る。配車サービスAPI208は次いで、対応する配車サービスアプリケーション126または配車サービスプロバイダサーバ106に配車サービス要求を転送することができ、今度は配車サービスアプリケーション126または配車サービスプロバイダサーバ106が、配車サービスAPI208に配車サービス情報を提供することができ、配車サービス情報は次いで地図アプリケーション128に転送される(ブロック906)。配車サービス情報は、利用可能な配車サービスのタイプ、配車サービスの各タイプを通じた乗車の推定到着時刻、配車サービスの各タイプに対する推定価格、エリアの中の車両/運転手の推定などを含み得る。
【００６８】
配車サービス情報を提供することに加えて、配車サービスプロバイダは、配車サービスAPI208を介して、地図表示上に配車サービス情報を提示するための、地図表示上に他の要素を提示するための、または地図表示上に乗車の任意の適切な視覚化をレンダリングするための、スタイルまたは視覚化情報およびカスタムレイアウトを提供し得る。これは、図9〜図13Bを参照して以下でより詳細に説明される。より具体的には、地図アプリケーション128は、地図表示上の他の構成要素のレイアウトを配車サービスプロバイダがカスタマイズすることを可能にしながら、地図表示上のいくつかの構成要素に対する制御を保ち得る。たとえば、地図アプリケーション128は、地図表示に含まれる基本の地図に対する制御を保ち得るが、地図表示の上部において基本の地図に重畳する検索バーまたは地図表示の下部において基本の地図に重畳する長方形のレイアウトを配車サービスプロバイダがカスタマイズすることを可能にし得る。カスタマイズされたレイアウトは地図表示の上部または下部にある必要はなく、配車サービスプロバイダは、地図表示内のレイアウトの位置もカスタマイズし得る。レイアウトをカスタマイズすることに加えて、配車サービスプロバイダは、地図アプリケーション128によって制御される地図表示上の要素のスタイルを調整するために、スタイル情報を提供し得る。たとえば、配車サービスプロバイダは、基本の地図に対する背景色、高速道路および街路に対する色、地図ラベルに対するフォントサイズ、色、およびタイプ、基本の地図に対するカラースキーム、線の太さ、またはストロークのタイプ、地図上で車両の現在地を表す車両アイコン、ユーザの現在地を表すアイコン、送迎地を表す送迎地アイコン、降車地を表す降車地アイコン、クライアントコンピューティングデバイスの現在の方向を表す現在方向アイコンなどのグラフィック、または任意の他の視覚的な象徴などの、基本の地図における要素をレンダリングするためのスタイルまたは視覚化情報を提供し得る。
【００６９】
いずれにしても、地図アプリケーション128は次いで、図9に示されるような表示と同様に、地図表示上に配車サービス情報を提示し得る(ブロック908)。より具体的には、各配車サービスプロバイダに対して、地図アプリケーション128は、配車サービスプロバイダの名前およびロゴなどの、配車サービスプロバイダの指示を提示し得る。地図アプリケーション128はまた、配車サービスプロバイダ(たとえば、相乗り配車サービス、タクシー配車サービス、リムジン配車サービス、シャトル配車サービス、特大車両サービスなど)によって提供される配車サービスタイプの指示、ならびに各配車サービスタイプに対する価格および待ち時間の推定を提示し得る。地図アプリケーション128が地図表示上で複数の配車サービスプロバイダに対する配車サービス情報を提示するとき、ユーザは、配車サービスプロバイダの指示をタッチで選択することなどのユーザコントロールを介して、配車サービスプロバイダのうちの1つを選択し得る。配車サービスプロバイダを選択したことに応答して、地図アプリケーション128は、選択された配車サービスプロバイダによって提供される配車サービスタイプの指示、ならびに、各配車サービスタイプに対する価格および待ち時間の推定を提示し得る。ユーザはまた、配車サービスタイプの指示をタッチで選択することなどのユーザコントロールを介して、配車サービスタイプを選択し得る。
【００７０】
加えて、地図アプリケーション128は、対応する配車サービスプロバイダからのそれぞれのスタイルまたは視覚化情報およびカスタムレイアウトを用いて、配車サービスプロバイダの各々に対する配車サービス情報を提示し得る。したがって、地図アプリケーション128は、受信されたスタイルまたは視覚化情報に従って地図表示を再レンダリングし得る。いくつかの実施形態では、ユーザが配車サービスプロバイダ候補のうちの1つを選択するとき、地図アプリケーション128は、選択された配車サービスプロバイダのスタイル情報およびカスタムレイアウトを含むように地図表示を調整する。次いで、ユーザが別の配車サービスプロバイダを選択するとき、地図アプリケーション128は、他の配車サービスプロバイダに対するスタイル情報およびカスタムレイアウトを含むように地図表示を変更する。たとえば、Riderは、ピンクの車両アイコン、基本の地図に対する濃い青の背景色、ユーザの現在地を表すための三角形のアイコン、および配車サービスタイプを選択するためのカスタマイズされたレイアウトを提供することがあり、ここでユーザは、地図表示上で新しい配車サービスタイプを見るためにスワイプジェスチャーを行うことができる。カスタマイズされたレイアウトはまた、たとえば、安価な乗車または高級な乗車から選択するための、何人かの乗客で乗車の運賃を割り勘にするための、またはグループに対する乗車を注文するためのアイコンを含み得る。
【００７１】
ブロック910において、地図アプリケーション128は、配車サービスプロバイダおよび配車サービスタイプの選択を受け取る。たとえば、ユーザは、RiderPoolアイコンまたは「RiderPoolを選択する」ボタンなどの、ユーザコントロールをタッチで選択することによって、RiderからRiderPoolという名称の相乗りサービスを選択し得る。結果として、地図アプリケーション128は、図12Aに示されるような表示と同様に、送迎地を選択するためのユーザコントロールを含む送迎要求表示を提示する。ユーザコントロールは、地図表示上のデフォルトの送迎地に配置されるピンまたは他のアイコンであり得る。たとえば、デフォルトの送迎地は、ユーザの現在地であることがあり、または推奨される送迎地であることがある。
【００７２】
ユーザは次いで、たとえば、地図表示上の別の位置へのユーザコントロールをドラッグすることによって、送迎地を調整し得る。いくつかの実施形態では、送迎要求表示は、ユーザが推奨される送迎地を後で選択できるように、ユーザがピンを別の位置に移動するとき送迎要求表示上に残存する推奨される送迎地の指示を含む。推奨される送迎地の指示は、ユーザの現在地から推奨される送迎地への距離の指示と、推奨される送迎地と関連付けられる時間および費用の節約の指示を含み得る。たとえば、いくつかの一方通行の街路があるエリアでは、地図アプリケーション128は、運転手がユーザを乗せた後で不必要な右左折を行う必要がないように、運転手が目的地の方向へ移動することを可能にする街路における送迎地を推奨し得る。別の例では、推奨される送迎地は、費用を最小にするために交通量の多い街路を避けるように、交通状況に基づいて決定され得る。地図アプリケーション128は、乗車の時間および/または費用を最小にするために、ユーザの現在地から徒歩圏内または閾値の距離以内(たとえば、500フィートまたは1000フィート以内)にある推奨される送迎地を特定し得る。
【００７３】
加えて、送迎要求表示は、ユーザは送迎地において運転手を簡単に見つけることができるように、送迎要求表示の一部分に、送迎地の周りのエリアの3次元ストリートレベルビューのプレビューを含み得る。プレビューは、選択されると送迎要求表示が送迎地の周りのエリアの3次元パノラマストリートレベルビューのフルスクリーンビューを提示するような、選択可能なユーザコントロールを含み得る。いくつかの実施形態では、送迎要求表示は、送迎地に対応する位置などの、基本の地図上の固定されたあらかじめ定められた位置においてストリートレベルビューを重畳し得る。その上、送迎要求表示は、配車サービスプロバイダからのスタイル情報およびカスタムレイアウトを含む。たとえば、配車サービスプロバイダは、確定ボタンまたは他の適切なアイコンなどの送迎地を確定するためのユーザコントロールを提供することができ、送迎要求表示内のユーザコントロールの場所を示すことができる(たとえば、送迎要求表示の下部にある基本の地図の下、送迎要求表示の上部にある基本の地図の上など)。いくつかの実施形態では、送迎要求表示または任意の他の適切な表示はまた、降車地の周りのエリアの3次元ストリートレベルビューのプレビューを含み得る。プレビューは、選択されると対応する表示が降車地の周りのエリアの3次元パノラマストリートレベルビューのフルスクリーンビューを提示するような、選択可能なユーザコントロールを含み得る。いくつかの実施形態では、対応する表示は、降車地に対応する位置などの、基本の地図上の固定されたあらかじめ定められた位置においてストリートレベルビューを重畳し得る。
【００７４】
したがって、地図アプリケーション128は、確定ユーザコントロールが選択されると、送迎地を選択するためのユーザコントロールの場所として配車の送迎地を特定する。ブロック912において、地図アプリケーション128は、選択された配車サービスタイプおよび送迎地とともに、配車要求を配車サービスプロバイダに提供するために、配車サービスAPI208を呼び出す。いくつかの実施形態では、地図アプリケーション128はまた、配車サービスプロバイダによって維持されるユーザプロファイルへとユーザをログインさせるためのユーザログイン情報などの、乗客識別子を提供する。たとえば、ユーザプロファイルは、ユーザの支払方法、ユーザの名前、ユーザの電子メールアドレス、ユーザの電話番号、運転手がユーザを特定するためのユーザの写真、ユーザの評価、現在進行中の乗車もしくはユーザが要求している乗車の乗車ID、または任意の他の適切なユーザプロファイル情報を含み得る。配車サービスAPI208は次いで、対応する配車サービスアプリケーション126または配車サービスプロバイダサーバ106に配車サービス要求を転送することができ、今度は配車サービスアプリケーション126または配車サービスプロバイダサーバ106が、配車サービスAPI208に乗車確定情報を提供することができ、乗車確定情報は次いで地図アプリケーション128に転送される(ブロック914)。
【００７５】
乗車確定情報は、乗車のステータス情報、選択された運転手の運転手識別情報(たとえば、運転手の名前、車両のメーカー、モデル、色、ナンバープレートの番号など)、更新された推定価格、更新された待ち時間、および更新された乗車時間を読み出すための、乗車IDを含み得る。配車サービスプロバイダは、配車サービスAPI208を介して、地図表示上に乗車確定情報を提示するための、または地図表示上に他の要素を提示するための、スタイル情報およびカスタムレイアウトも提供することができる。
【００７６】
ブロック916において、地図アプリケーション128は、図13Aに示されるような表示と同様に、地図表示上に乗車確定情報を提示する。より具体的には、地図アプリケーション128は、運転手が送迎地に到着するための推定待ち時間の指示(たとえば、「運転手が1分で到着します」)、ユーザの現在地の指示、送迎地の指示、および基本の地図上での運転手の位置の指示を提示し得る。地図アプリケーション128はまた、運転手に連絡するためのユーザコントロールを提示し得る。加えて、地図アプリケーション128は、受信されたスタイル情報およびカスタムレイアウトとともに、配車サービスプロバイダのための乗車確定情報を提示し得る。
【００７７】
ブロック918において、地図アプリケーション128は、たとえば配車サービスAPI208を呼び出して乗車IDを提供することによって、ステータス要求を配車サービスプロバイダに定期的に送信する。ステータス要求は、5秒ごと、10秒ごと、30秒ごと、1分ごとなどに送信され得る(ブロック922)。配車サービスプロバイダは次いで、運転手が配車を受け入れるのを待機中、運転手が送迎地に到着するのを待機中、乗車中、乗車終了、または任意の他の適切なステータスなどの、ステータスを返し得る。ステータスが、運転手が送迎地に到着するのを待機中、または乗車中であるとき、配車サービスプロバイダは運転手の位置も返し得る。地図アプリケーション128は次いで、地図表示上にステータスインジケータおよび/または運転手の位置を提示する(ブロック920)。たとえば、ステータスが、運転手が配車を受け入れるのを待機中であるとき、地図表示は、運転手が配車を受け入れなかったことを示すバナーを含み得る。ステータスが、運転手が送迎地に到着するのを待機中であるとき、地図表示は、運転手が送迎地に到着するための推定待ち時間、および運転手の位置における車両アイコンなどの運転手の位置の指示を示すバナーを、基本の地図上に含み得る。さらに、ステータスが乗車中であるとき、地図表示は、基本の地図上に運転手の位置の指示を含み得る。地図アプリケーション128は、ステータスが乗車終了になるまでステータス要求を送信し続け得る(ブロック924)。
【００７８】
いくつかのシナリオでは、ユーザは、関心点または他の位置を検索するために、または、配車サービスを注文する間もしくは乗車中に任意の他の地図機能を実行するために、地図アプリケーション128の配車サービス部分から他の地理的エリアの地図ビューに移行することがある。ユーザが他の地図機能に移行するとき、地図アプリケーション128は、配車サービスプロバイダから乗車のステータスに関するステータス情報を受信し続け得る。いくつかの実施形態では、地図アプリケーション128は、地図表示に重畳するバナーを提示し、このバナーは乗車のステータスを示す。たとえば、バナーは、「乗車中です。あと10分です。」ということを述べ得る。バナーはユーザコントロールを含むことがあり、このユーザコントロールは、選択されると、乗車に関する詳細を見ること、目的地を変更すること、乗車を取り消すことなどのために、地図アプリケーション128を配車サービス部分に移行して戻す。
【００７９】
図8は、ユーザが他の地図機能に移行するとき、配車ステータス情報を提示するための例示的な方法1000の流れ図を示す。方法は、クライアントコンピューティングデバイス102のコンピュータ可読メモリおよび実行可能な1つまたは複数のプロセッサ上に記憶される命令のセットにおいて実施され得る。たとえば、方法は、地図アプリケーション128などの、クライアントコンピューティングデバイスに記憶されているアプリケーションによって実施され得る。他の実施形態では、方法は、サーバデバイス104によって、またはクライアントコンピューティングデバイス102とサーバデバイス104の組合せによって実施され得る。
ブロック1002において、地図アプリケーション128は、目的地への要求される乗車に対するステータスインジケータまたは運転手の位置を地図表示上に提示する。ステータスは、運転手が配車を受け入れるのを待機中、運転手が送迎地に到着するのを待機中、乗車中、乗車終了、または任意の他の適切なステータスであり得る。次いで、ブロック1004において、地図アプリケーション128は、配車サービス部分とは異なる地図機能を利用して、追加の地図データに対する要求を受け取る。たとえば、この要求は、地理的検索クエリ、地理的エリアを表示するための要求、または別の目的地への移動道順に対する要求であり得る。いずれにしても、地図アプリケーション128は、乗車のステータスを示す、地図表示に重畳するバナーなどの、乗車ステータスインジケータとともに要求された地図データを地図表示の中で提示する(ブロック1006)。バナーはユーザコントロールを含むことがあり、このユーザコントロールは、選択されると、乗車に関する詳細を見ること、目的地を変更すること、乗車を取り消すことなどのために、地図アプリケーション128を配車サービス部分に移行して戻す。ユーザコントロールの選択を受け取ったことに応答して(ブロック1008)、地図アプリケーション128は、乗車が完了したかどうかを決定する(ブロック1010)。乗車が完了していない場合、地図アプリケーション128は、配車サービス部分に移行して戻る(ブロック1002)。
【００８０】
図9〜図13Bは、配車要求表示(図9、図11A、図11B)、送迎要求表示(図10、図12A〜図12C)、および乗車待機表示(図13A、図13B)などの、地図アプリケーション128を介して配車サービスを提供するための例示的な地図表示1400〜1800Bを示す。地図表示の各々は、地図アプリケーション128によって提示されることがあり、1つまたはいくつかの配車サービスAPIを呼び出すことにより得られる1つまたは複数の配車サービスプロバイダからの配車サービスデータを含むことがある。またさらに、地図表示の各々は、図9に示されるような基本の地図1440などの基本の地図、ならびに、図11Aに示されるようなレイアウト構成要素1602、1608などの基本の地図に重畳し配車サービスプロバイダによって提供されるカスタマイズされたレイアウト構成要素を含み得る。加えて、基本の地図の中の要素は、配車サービスプロバイダによって様式化され得る。たとえば、配車サービスプロバイダは、基本の地図に対する背景色、高速道路および街路に対する色、地図ラベルに対するフォントサイズ、色、およびタイプ、地図上の車両を表すアイコン、ユーザの現在地を表すアイコン、目的地を表すピンなどの、基本の地図に含まれる要素に対するスタイル情報を提供し得る。
【００８１】
図9は、地図アプリケーション128において配車サービスプロバイダを選択するための例示的な表示1400を示す。表示1400は、図1に示されるようなクライアントコンピューティングデバイス102などのポータブルデバイス上に現れ得る。表示1400は、開始地を入力するためのユーザコントロール1402、目的地を入力するためのユーザコントロール1404、開始地から目的地への移動のための交通手段を選択するためのユーザコントロール1406、およびユーザの現在地の周り1408を中心とする基本の地図1440を含み得る。いくつかの実施形態では、デフォルトの開始地1402はユーザの現在地であり得る。ユーザが配車サービス交通手段1442を選択するとき、または、配車サービスによってカバーされる区分を含むマルチモーダル移動道順を有する推奨される交通手段(図示せず)を選択するとき、表示1400は、1つまたはいくつかの配車サービスプロバイダ1420、1422の指示を提示する基本の地図1440に重畳するカスタマイズされたレイアウト1410を含み得る。
【００８２】
例示的な表示1400において、配車サービスプロバイダは、Rider1420およびDriverCo1422を含む。配車サービスプロバイダの各々がカスタマイズされたレイアウトを提供することができ、表示1400は選択された配車サービスプロバイダによってカスタマイズされたレイアウトを提示することができる。たとえば、ユーザは表示1400上のRiderの指示をタッチで選択することによってRider1420を選択することができ、表示1400はRiderによってカスタマイズされたレイアウト1410を提示することができる。カスタマイズされたレイアウト1410は、あるタイプの配車サービス1430(RiderPool)の指示と、安価または高級、複数の乗客で運賃を割り勘にする、大きなグループのためのRiderPoolを要求するなどの、RiderPoolサービスに対して選択可能な選択肢とを含む。カスタマイズされたレイアウト1410において、ユーザは、スワイプジェスチャーを実行して、Riderによって提供される他のタイプの配車サービスを見ることができる。しかしながら、これは説明のためだけの1つの例示的なレイアウトにすぎない。他のカスタマイズされたレイアウトでは、表示1400は、配車サービス1430の各タイプの指示を同時に含んでもよく、ユーザは、たとえば、対応する指示をタッチで選択することによって配車サービスのタイプを選ぶことができる。いずれにしても、カスタマイズされたレイアウト1410は、Riderによって提供されるRiderPoolサービスを選択するためのユーザコントロール1432も含む。
【００８３】
図10は、地図アプリケーション128の中で送迎地を選択するための例示的な表示1500を示す。表示1500は、図1に示されるようなクライアントコンピューティングデバイス102などのポータブルデバイス上に現れ得る。図9に示されるように、表示1500は、ユーザの現在地1520の周りを中心とする基本の地図1502を含み得る。表示はまた、送迎地を選択するためのピンなどのユーザコントロール1522を含み得る。いくつかの実施形態では、デフォルトの送迎地はユーザの現在地1520であることがあり、ユーザはピンをドラッグして送迎地のために別の位置を選択することが可能であることがある。表示1500はまた、円として示される推奨される送迎地1504および1506の指示を含む。送迎地の周りのエリアの3次元ストリートレベルビュー1508のプレビューが、推奨される送迎地のうちの1つのために提供され得るので、ユーザは送迎地において運転手を簡単に見つけることができる。プレビューは、選択されると送迎要求表示が送迎地の周りのエリアの3次元ストリートレベルビューのフルスクリーンビューを提示するような、選択可能なユーザコントロールを含み得る。加えて、表示1500は、配車サービスプロバイダによって利用される利用可能な車両1510の数の指示を含み得る。地図表示上での車両の位置は、配車サービスプロバイダによって利用される車両の位置の正確な表現ではないことがあるが、地図表示上の車両の数は、エリアの中の車両の量の概略をユーザに示すために使用され得る。
【００８４】
いくつかの実施形態では、地図アプリケーション128は、送迎地に対応する、または送迎地から閾値の距離(たとえば、100フィート)以内にあるランドマークを特定する。地図アプリケーション128は次いで、3次元ストリートレベルビュー1508の中に、特定されたランドマークのストリートレベル画像を含めることができる。地図アプリケーション128は、加えて、または代わりに、「Disney Storeの前で乗る」などのランドマークの指示を、インターフェースを介して提供することができる。たとえば、地図アプリケーション128は、送迎地の地理的座標または住所(たとえば、「123 Elm St.」)を取得してこれらの座標またはこの住所に対応する適切なランドマークを特定するために、配車サービスプロバイダによって公開されるAPIを呼び出すことができる。この目的で、地図アプリケーション128は、座標および/または住所を地図データサーバに送信することができ、またはいくつかの場合、キャッシュされた地図データおよびストリートレベル画像に依存することができる。地図データサーバが、またはキャッシュされたデータが使用されるときには地図アプリケーション128が、目立つものであること(たとえば、ランドマークの近傍にある他の物体に対する相対的なランドマークの大きさ、またはランドマークと近くの物体との間での色の違い)、見えるものであること(たとえば、送迎地とランドマークとの間で直線の見通し線があること)、人気があること(たとえば、ランドマークに関する写真、レビューなどのユーザにより生成されるコンテンツの量)、または他の適切な指標などの性質に基づいて、ランドマークを特定することができる。さらに、いくつかの実施形態では、地図データサーバまたは地図アプリケーション128は、ビュー1508に含めるために、ランドマークに対する相対的な送迎地におけるユーザの予想される方向とは無関係に、ランドマークの方を向いたようなランドマーク位置に対するストリートレベル画像を選択することができる。たとえば、地図データサーバまたは地図アプリケーション128は、モニュメントの画像を提供して、「モニュメントから通りの向かい側の123 Elm St.において乗せる」という通知を生成することができる。
【００８５】
図11Aおよび図11Bは、配車サービスプロバイダによってカスタマイズされるレイアウト構成要素を含む、地図アプリケーション128の中の例示的な配車要求表示1600A、1600Bを示す。表示1600A、1600Bは、図1に示されるようなクライアントコンピューティングデバイス102などのポータブルデバイス上に現れ得る。上で言及されたように、配車サービスプロバイダは、地図アプリケーション128において提示するためのカスタマイズされたレイアウトおよびスタイル情報を提供し得る。配車要求表示1600Aは、基本の地図1604、基本の地図1604に重畳するカスタム位置検索構成要素1602、基本の地図に重畳するカスタムサードパーティレイアウト構成要素1608を含む。配車サービスプロバイダは、任意の適切な方式でこれらの構成要素1602、1608をカスタマイズすることができ、配車要求表示1600A内の構成要素1602、1608の場所を調整することができる。たとえば、Riderは、位置検索構成要素1602が配車要求表示1600Aの下部に提示されることを要求し得る。一例では、位置検索構成要素1602は、開始地、目的地、目的地への移動道順を提供するための交通手段を提供するための、ユーザコントロールを含む。カスタムサードパーティレイアウト構成要素1608は、配車サービスプロバイダによって提供される配車サービスタイプの各々の選択可能な指示、ならびに各配車サービスタイプに対する価格推定および待ち時間の指示を含む。カスタム構成要素はまた、アイコン、背景色、アニメーション、または任意の他の適切なグラフィカル要素を含み得る。図11Bは、配車要求表示1600Bのための例示的なカスタムレイアウト構成要素1602、1608を示す。配車要求表示1600Bにおいて、カスタム位置検索構成要素1602は、開始地および目的地を提供するためのユーザコントロールを含む。カスタムサードパーティレイアウト構成要素1608は、配車サービスプロバイダから利用可能な配車サービスタイプの円形の選択可能な指示1610a〜eを含む。カスタムサードパーティレイアウト構成要素1608はまた、推定価格、推定待ち時間、支払方法、ならびに選択された配車サービスプロバイダおよび/または配車サービスタイプを要求するためのユーザコントロール1612を含む。
【００８６】
選択された配車サービスプロバイダおよび/または配車サービスタイプを要求するためのユーザコントロール1612の選択を受け取ったことに応答して、地図アプリケーション128は、図12A〜図12Cに示されるような送迎要求表示1700A〜Cを提示する。送迎要求表示1700A〜Cは、図1に示されるようなクライアントコンピューティングデバイス102などのポータブルデバイス上に現れ得る。送迎要求表示1700Aは、基本の地図1702、送迎地レイアウト構成要素1704、および送迎確定レイアウト構成要素1706を含む。いくつかの実施形態では、送迎確定レイアウト構成要素1706は、選択された配車サービスプロバイダによってカスタマイズされる。送迎要求表示1700Aはまた、ユーザの現在地1710の指示、および送迎地を選択するためのピンなどのユーザコントロール1712を含む。いくつかの実施形態では、デフォルトの送迎地はユーザの現在地1710であることがあり、ユーザはピンをドラッグして送迎地のために別の位置を選択することが可能であることがある。送迎要求表示1700Aはまた、ユーザが送迎地において運転手を簡単に見つけることができるように、選択された送迎地の周りまたは推奨される送迎地の周りのエリアの3次元ストリートレベルビュー1708のプレビューを含む。プレビューは、選択されると、送迎要求表示1700Aが送迎地の周りのエリアの3次元ストリートレベルビューのフルスクリーンビューを提示するような、選択可能なユーザコントロールを含み得る。
【００８７】
図12Bは、ユーザ1710が空港に位置しておりいくつかの推奨される送迎地があるときの、別の例示的な送迎要求表示1700Bを示す。推奨される送迎地は、利用可能な送迎エリアとして位置リスト1714に示されている。ユーザは、送迎確定レイアウト構成要素1706を使用して、これらの送迎地のうちの1つを選択して選択を確定し得る。図12Cは、ユーザ1710が空港に位置しているときのさらに別の例示的な送迎要求表示1700Cを示す。位置リスト1714に加えて、送迎要求表示1700Cは、ユーザを送迎することができるいくつかの階のうちの1つを選択するためのユーザコントロール1716を含む。たとえば、位置リスト1714は、建物の第1の階に対する推奨される送迎地の第1のセットと、建物の第2の階に対する推奨される送迎地の第2のセットとを含み得る。
【００８８】
送迎地を確定するためのユーザコントロール1706の選択を受け取ったことに応答して、地図アプリケーション128は、図13Aおよび図13Bに示されるように、乗車待機表示1800A、1800Bを提示する。乗車待機表示1800A、1800Bは、図1に示されるように、クライアントコンピューティングデバイス102などのポータブルデバイス上に現れ得る。乗車待機要求1800Aは、ユーザの現在地1802の指示、ユーザを乗せる車両1804の指示、および送迎地の指示を含み得る。乗車待機表示1800Aはまた、運転手が選択された送迎地に到着するための推定待ち時間の指示を含む、到着レイアウト構成要素1808を含み得る。加えて、乗車待機表示1800Aは、運転手に連絡するためのユーザコントロールを伴う運転手連絡レイアウト構成要素1810を含む。いくつかの実施形態では、運転手連絡レイアウト構成要素1810は、選択された配車サービスプロバイダによってカスタマイズ可能である。また、いくつかの実施形態では、SMSアプリケーションまたはチャットアプリケーションを介して運転手に連絡することができる。
【００８９】
図13Bは、ユーザ1802が空港に位置しているときに提示される別の乗車待機表示1800Bを示す。乗車待機表示1800Bは、到着レイアウト構成要素1808、ならびに送迎地までの詳細な徒歩の道順を提供するための追加命令レイアウト構成要素1812を含む。図12Cのように、乗車待機表示1800Bは、ユーザを送迎することができるいくつかの階のうちの1つを選択するためのユーザコントロール1814を含む。
【００９０】
追加の検討
以下の追加の検討は前述の議論に適用される。本明細書全体で、複数のインスタンスが、単一のインスタンスとして説明される構成要素、動作、または構造を実装し得る。1つまたは複数の方法の個別の動作が、別々の動作として図示され説明されるが、個別の動作のうちの1つまたは複数は同時に実行されてよく、動作が示される順序で実行されることを要求するものは何もない。例示的な構成において別々の構成要素として提示される構造および機能は、組み合わされた構造または構成要素として実装され得る。同様に、単一の構成要素として提示される構造および機能は、別々の構成要素として実装され得る。これらおよび他の変形、修正、追加、および改善が、本開示の主題の範囲内にある。
【００９１】
加えて、いくつかの実施形態は、論理またはいくつかの構成要素、モジュール、もしくは機構を含むものとして本明細書で説明される。モジュールは、ソフトウェアモジュール(たとえば、機械可読媒体に記憶されるコード)またはハードウェアモジュールのいずれかからなり得る。ハードウェアモジュールは、いくつかの動作を実行することが可能な有形ユニットであり、何らかの方式で構成または配置され得る。例示的な実施形態では、1つまたは複数のコンピュータシステム(たとえば、スタンドアロン、クライアントまたはサーバコンピュータシステム)またはコンピュータシステムの1つまたは複数のハードウェアモジュール(たとえば、プロセッサまたはプロセッサのグループ)が、本明細書で説明されるようないくつかの動作を実行するように動作するハードウェアモジュールとしてソフトウェア(たとえば、アプリケーションまたはアプリケーション部分)によって構成され得る。
【００９２】
様々な実施形態では、ハードウェアモジュールは機械的または電気的に実装され得る。たとえば、ハードウェアモジュールは、いくつかの動作を実行するように恒久的に構成される専用回路または論理を(たとえば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)などの専用プロセッサとして)備え得る。ハードウェアモジュールはまた、いくつかの動作を実行するようにソフトウェアによって一時的に構成されるプログラム可能論理または回路を(たとえば、汎用プロセッサまたは他のプログラム可能プロセッサ内に包含されるものとして)備え得る。ハードウェアモジュールを、機械的に、専用の恒久的に構成される回路において、または一時的に構成される回路(たとえば、ソフトウェアによって構成される)において実装するという決定は、費用および時間の考慮によって引き起こされ得ることが理解されるであろう。
【００９３】
したがって、ハードウェアという用語は、ある方式で動作するように、または本明細書で説明されるいくつかの動作を実行するように、物理的に構築され、恒久的に構成され(たとえば、ハードワイヤリングされ)、または一時的に構成される(たとえば、プログラムされる)有形なエンティティを包含するものと理解されるべきである。本明細書で使用される「ハードウェアで実装されるモジュール」はハードウェアモジュールを指す。ハードウェアモジュールが一時的に構成される(たとえば、プログラムされる)実施形態を考慮すると、ハードウェアモジュールの各々は1つの瞬間において構成または実体化される必要はない。たとえば、ハードウェアモジュールがソフトウェアを使用して構成される汎用プロセッサを備える場合、汎用プロセッサは異なる時間にそれぞれの異なるハードウェアモジュールとして構成され得る。したがって、ソフトウェアは、たとえば、ある瞬間において特定のハードウェアモジュールを構成し、異なる瞬間において異なるハードウェアモジュールを構成するように、プロセッサ上で構成され得る。
【００９４】
ハードウェアモジュールは、他のハードウェアに情報を提供し、他のハードウェアから情報を受信することができる。したがって、説明されるハードウェアモジュールは、通信可能に結合されるものと見なされ得る。そのようなハードウェアモジュールのうちの複数が同時に存在するので、ハードウェアモジュールと接続する信号送信を通じて(たとえば、適切な回路およびバスを介して)通信が達成され得る。複数のハードウェアモジュールが異なる時間において構成または実体化される実施形態では、そのようなハードウェアモジュール間の通信は、たとえば、複数のハードウェアモジュールがアクセス権を有するメモリ構造における情報の記憶および読み出しを通じて達成され得る。たとえば、1つのハードウェアモジュールは、動作を実行し、ハードウェアモジュールが通信可能に結合されるメモリデバイスにその動作の出力を記憶し得る。さらなるハードウェアモジュールは次いで、より後の時間に、記憶されている出力を読み出して処理するためにメモリデバイスにアクセスし得る。ハードウェアモジュールはまた、入力デバイスまたは出力デバイスとの通信を開始してよく、リソース(たとえば、情報の集合体)に対して動作することができる。
【００９５】
方法500、800、900、および1000は、1つまたは複数の機能ブロック、モジュール、個別の関数またはルーチンを、非一時的コンピュータ可読記憶媒体に記憶されコンピューティングデバイス(たとえば、本明細書で説明されるような、サーバ、パーソナルコンピュータ、スマートフォン、タブレットコンピュータ、スマートウォッチ、モバイルコンピューティングデバイス、または他の個人用コンピューティングデバイス)のプロセッサを使用して実行される、有形なコンピュータ実行可能命令の形式で含み得る。方法500、800、900、および1000は、任意のバックエンドサーバの一部として(たとえば、本明細書で説明されるような、地図データサーバ、ナビゲーションサーバ、または任意の他のタイプのサーバコンピューティングデバイス)、例示的な環境のポータブルデバイスモジュールとして、たとえば、またはそのような環境の外部にあるモジュールの一部として含まれ得る。図面は、説明を簡単にするために他の図面を参照して説明され得るが、方法500、800、900、および1000は、他の物体およびユーザインターフェースとともに利用され得る。さらに、上の説明は、特定のデバイス(クライアントコンピューティングデバイス102およびサーバデバイス104など)によって実行されるものとして方法500、800、900、および1000のステップを説明するが、これは説明のためのものにすぎない。
【００９６】
本明細書で説明される例示的な方法の様々な動作が、関連する動作を実行するように(たとえば、ソフトウェアによって)一時的に構成される、または恒久的に構成される、1つまたは複数のプロセッサによって少なくとも部分的に実行され得る。一時的に構成されるか恒久的に構成されるかにかかわらず、そのようなプロセッサは、1つまたは複数の動作または機能を実行するように動作する、プロセッサで実装されるモジュールを構成し得る。本明細書で言及されるモジュールは、いくつかの例示的な実施形態では、プロセッサで実装されるモジュールを備え得る。
【００９７】
同様に、本明細書で説明される方法またはルーチンは少なくとも部分的にプロセッサで実装され得る。たとえば、方法の動作の少なくとも一部は、1つまたは複数のプロセッサまたはプロセッサで実装されるハードウェアモジュールによって実行され得る。動作のうちのいくつかの実行は、単一の機械内に存在するだけではなくいくつかの機械にわたって展開される、1つまたは複数のプロセッサの間で分散され得る。いくつかの例示的な実施形態では、1つまたは複数のプロセッサが単一の位置に(たとえば、家庭の環境、事務所の環境内に、またはサーバファームとして)位置していることがあり、他の実施形態では、プロセッサはいくつかの位置にわたって分散されることがある。
【００９８】
1つまたは複数のプロセッサはまた、「クラウドコンピューティング」環境において関連する動作の実行をサポートするように、またはSaaSとして動作することができる。たとえば、上で示されたように、動作のうちの少なくともいくつかはコンピュータのグループによって(プロセッサを含む機械の例として)実行されることがあり、これらの動作はネットワーク(たとえば、インターネット)を介して、および1つまたは複数の適切なインターフェース(たとえば、API)を介してアクセス可能である。
【００９９】
またさらに、図面は、説明だけを目的に例示的な環境のいくつかの実施形態を図示する。本明細書で示される構造および方法の代替的な実施形態が、本明細書で説明される原理から逸脱することなく利用され得ることを、当業者は以下の議論から容易に認識するであろう。
【０１００】
本開示を読めば、当業者は、本明細書の開示される原理を通じて地図表示内でユーザの位置を確認するための、さらなる追加の代替の構造的および機能的な設計を理解するであろう。したがって、特定の実施形態および適用例が図示され説明されたが、開示される実施形態は本明細書で開示される厳密な構築物および構成要素に限定されないものと理解されるべきである。当業者に明らかになるであろう、様々な修正、変更、および変形が、添付の特許請求の範囲において定義される趣旨および範囲から逸脱することなく、本明細書で開示される方法および装置の配置、動作、および詳細において行われ得る。
【符号の説明】
【０１０１】
100  通信システム
102  クライアントコンピューティングデバイス
104  サーバ
106  サードパーティプロバイダ
108  ネットワーク
110  地図データ
112  プロセッサ
114  API
116  ネットワークインターフェース
118  アプリケーション
120  メモリ
122  オペレーティングシステム
124  アプリケーション
126  配車サービスアプリケーション
128  地図アプリケーション
130  プロセッサ
132  API
134  ネットワークインターフェース
136  アプリケーション
138  プロセッサ
140  API
142  ネットワークインターフェース
144  車両データ、データベース、メモリ
200  ソフトウェアアーキテクチャ
202  サービス
204  他のアプリケーション
206  配車サービスAPI
208  配車サービスアプリケーションAPI
300  シーケンス図
302  ユーザ
304  配車サービス
306  要求
308  要求
310  応答
312  表示
500  方法
600  状態図
602  初期状態
604  サインイン状態
606  確定/予約状態
608  復元状態
610  乗車中状態
612  移行状態
800  方法
900  方法
1000  方法
1400  表示
1402  ユーザコントロール
1404  ユーザコントロール
1406  ユーザコントロール
1408  ユーザの現在地
1410  カスタマイズされたレイアウト
1420  配車サービスプロバイダ、Rider
1422  配車サービスプロバイダ、DriverCo
1430  配車サービス
1432  ユーザコントロール
1440  基本の地図
1442  配車サービス交通手段
1500  表示
1502  基本の地図
1504  送迎地
1506  送迎地
1508  3次元ストリートレベルビュー
1510  利用可能な車両
1520  ユーザの現在地
1600A、1600B  配車要求表示
1602  カスタム位置検索レイアウト構成要素
1604  基本の地図
1608  カスタムサードパーティレイアウト構成要素
1610a〜e  円形の選択可能な指示
1612  ユーザコントロール
1700A、1700B、1700C  送迎要求表示
1702  基本の地図
1704  送迎地レイアウト構成要素
1706  送迎確定レイアウト構成要素
1708  3次元ストリートレベルビュー
1710  ユーザの現在地
1712  ユーザコントロール
1714  位置リスト
1800A、1800B  乗車待機表示
1802  ユーザの現在地
1804  車両
1808  到着レイアウト構成要素
1810  運転手連絡レイアウト構成要素
1812  追加命令レイアウト構成要素
1814  ユーザコントロール
【図１】
2020531886.tif 000003
【図２】
2020531886.tif 000004
【図３】
2020531886.tif 000005
【図４】
2020531886.tif 000006
【図５】
2020531886.tif 000007
【図６】
2020531886.tif 000008
【図７】
2020531886.tif 000009
【図８】
2020531886.tif 000010
【図９】
2020531886.tif 000011
【図１０】
2020531886.tif 000012
【図１１Ａ】
2020531886.tif 000013
【図１１Ｂ】
2020531886.tif 000014
【図１２Ａ】
2020531886.tif 000015
【図１２Ｂ】
2020531886.tif 000016
【図１２Ｃ】
2020531886.tif 000017
【図１３Ａ】
2020531886.tif 000018
【図１３Ｂ】
2020531886.tif 000019
【手続補正書】
【提出日】令和2年2月17日(2020.2.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチモーダル移動道順を提供するためのコンピューティングデバイスにおける方法であって、
ユーザインターフェースを介して、目的地への移動道順を取得するための要求を受け取るステップと、
1つまたは複数のプロセッサによって、前記目的地への移動のためのマルチモーダル移動道順を生成するステップであって、
配車サービスのサードパーティプロバイダから、送迎地と降車地との間の経路の第1の区分を通過するための乗車の指示を取得するステップであって、前記配車サービスが第1の交通手段を定義する、ステップと、
前記第1の交通手段とは異なる第2の交通手段を使用して前記経路の第2の区分を通過するための移動道順を取得するステップと
を含む、ステップと、
前記ユーザインターフェースを介して前記生成されたマルチモーダル道順の指示を提供するステップと
を備える、方法。
【請求項２】
前記経路の前記第2の区分の終点が前記乗車の前記送迎地であり、
前記第2の区分に対する前記取得された移動道順に従って、ユーザが前記送迎地に到達する推定時刻を決定するステップをさらに備え、
前記サードパーティプロバイダから前記乗車の前記指示を取得するステップが、前記送迎地において前記推定時刻に前記乗車が開始することを要求するステップを含む、請求項1に記載の方法。
【請求項３】
前記マルチモーダル移動道順を生成するステップが、
各々が送迎地および降車地を有し、各々が価格および推定時間と関連付けられる、複数の乗車候補に対するそれぞれの指示を取得するステップと、
前記複数の乗車候補から前記乗車を選択するステップと
を含む、請求項1に記載の方法。
【請求項４】
前記マルチモーダル移動道順を生成するステップが、前記目的地への移動の全体の価格を最小にするために最適化技法を使用するステップを含む、請求項3に記載の方法。
【請求項５】
前記マルチモーダル移動道順を生成するステップが、前記目的地への移動の全体の時間を最小にするために最適化技法を使用するステップを含む、請求項3に記載の方法。
【請求項６】
前記複数の乗車候補に対する前記それぞれの指示を取得するステップが、配車サービスの多数のプロバイダから前記それぞれの指示を取得するステップを含む、請求項3に記載の方法。
【請求項７】
前記1つまたは複数のプロセッサによって、(i)優先される配車サービスのプロバイダまたは(ii)優先される交通手段のうちの少なくとも1つに関するユーザデータを取得するステップをさらに備え、
前記複数の乗車候補から前記乗車を選択するステップが、前記取得されたユーザデータに鑑みて前記乗車を選択するステップを含む、請求項3に記載の方法。
【請求項８】
前記経路の前記第2の区分を通過するための前記移動道順を取得するステップが、前記送迎地への徒歩の道順または前記降車地からの徒歩の道順を取得するステップを含む、請求項1に記載の方法。
【請求項９】
前記乗車の前記指示を取得するステップが、
(i)交通状況、(ii)一方通行の街路、または(iii)費用のうちの少なくとも1つに鑑みて前記送迎地を選択するステップと、
前記乗車の前記指示を取得するとき、前記配車サービスの前記サードパーティプロバイダに対して前記選択された送迎地を指定するステップと
を含む、請求項1に記載の方法。
【請求項１０】
前記配車サービスの前記サードパーティプロバイダとは別に、かつ独立に動作するナビゲーションサーバから、前記第2の交通手段を使用して前記経路の前記第2の区分を通過するための前記移動道順を読み出すステップを含む、請求項1に記載の方法。
【請求項１１】
前記コンピューティングデバイスのローカルメモリに記憶されているキャッシュされた地図データを使用して前記第2の交通手段を使用して、前記経路の前記第2の区分を通過するための前記移動道順を読み出すステップを含む、請求項1に記載の方法。
【請求項１２】
前記第2の交通手段を使用して前記経路の前記第2の区分を通過するための前記移動道順を取得するステップが、運転の道順、徒歩の道順、または公共交通の道順のうちの1つを取得するステップを含む、請求項1に記載の方法。
【請求項１３】
前記ユーザインターフェースを介して前記生成されたマルチモーダル道順の前記指示を提供するステップが、デジタル地図上に前記経路の視覚化を表示するステップを含む、請求項1に記載の方法。
【請求項１４】
ユーザインターフェースと、
1つまたは複数のプロセッサと、
命令を記憶した非一時的コンピュータ可読記録媒体と
を備えるコンピューティングデバイスであって、前記命令が、前記1つまたは複数のプロセッサによって実行されると、前記コンピューティングデバイスに、
前記ユーザインターフェースを介して、目的地への移動道順を取得するための要求を受け取ることと、
前記目的地への移動のためのマルチモーダル移動道順を生成することであって、
配車サービスのサードパーティプロバイダから、送迎地と降車地との間の経路の第1の区分を通過するための乗車の指示を取得することであって、前記配車サービスが第1の交通手段を定義する、取得することと、
前記第1の交通手段とは異なる第2の交通手段を使用して前記経路の第2の区分を通過するためのナビゲーション道順を取得することと
を含む、生成することと、
前記ユーザインターフェースを介して前記生成されたマルチモーダル道順の指示を提供することと
を行わせる、コンピューティングデバイス。
【請求項１５】
前記マルチモーダル移動道順を生成するために、前記命令が、前記コンピューティングデバイスに、
各々が送迎地および降車地を有し、各々が価格および推定時間と関連付けられる、複数の乗車候補に対するそれぞれの指示を取得することと、
前記複数の乗車候補から前記乗車を選択することと
を行わせる、請求項14に記載のコンピューティングデバイス。
【請求項１６】
前記マルチモーダル移動道順が、前記目的地への移動の全体の価格を最小にするために最適化技法を使用して生成される、請求項15に記載のコンピューティングデバイス。
【請求項１７】
前記マルチモーダル移動道順が、前記目的地への移動の全体の時間を最小にするために最適化技法を使用して生成される、請求項15に記載のコンピューティングデバイス。
【請求項１８】
前記複数の乗車候補に対する前記それぞれの指示が、配車サービスの多数のプロバイダから取得される、請求項15に記載のコンピューティングデバイス。
【請求項１９】
前記命令がさらに、前記コンピューティングデバイスに、(i)優先される配車サービスのプロバイダまたは(ii)優先される交通手段のうちの少なくとも1つに関するユーザデータを取得することを行わせ、
前記複数の乗車候補からの前記乗車が、前記取得されたユーザデータに鑑みて選択される、請求項15に記載のコンピューティングデバイス。
【請求項２０】
前記経路の前記第2の区分を通過するための前記ナビゲーション道順が、前記送迎地への徒歩の道順または前記降車地からの徒歩の道順を含む、請求項14に記載のコンピューティングデバイス。
【国際調査報告】
2020531886.tif 000020
2020531886.tif 000021