(58)【調査した分野】(Int.Cl.,DB名)
前記インタラクティブな3次元ウィジェットが、前記ユーザインターフェースディスプレイエリアにおいて表示された前記視覚コンテンツによって表された前記ロケーションまたは領域に対応する前記インタラクティブな3次元ウィジェットの部分が可視であるように配向される、請求項1に記載の方法。
前記インタラクションに基づいて前記視覚インジケータまたは前記インタラクティブな3次元ウィジェットを調整することによって、前記ユーザインターフェースディスプレイエリアに対するインタラクションの受信に応答するステップを含む、請求項2に記載の方法。
前記ユーザインターフェースディスプレイエリアにおいて表示された前記視覚コンテンツが仮想カメラと前記3次元物体との間の仮想距離に依存し、前記ポリゴンの前記形状が、
前記ユーザインターフェースディスプレイエリアにおいて表示された前記視覚コンテンツのコーナーピクセルの各々について、前記コーナーピクセルと前記仮想カメラの投影の中心から伸びる光線との間の交点を決定するステップと、
前記ユーザインターフェースディスプレイエリアにおいて表示された前記視覚コンテンツのエッジの各々における少なくとも1つのピクセルについて、前記ピクセルと、前記仮想カメラの前記投影の中心から伸びる光線との間の交点を決定するステップと
によって計算され、
前記ポリゴンの前記形状が、前記決定された交点によって定義される、
請求項1に記載の方法。
前記視覚インジケータが、前記3次元ウィジェットの配向に対する前記ユーザインターフェースディスプレイエリアにおいて表示された前記視覚コンテンツに関連付けられた配向を示すように構成される、請求項3に記載の方法。
前記インタラクティブな3次元ウィジェットを消滅させることによって、前記3次元物体の前記ロケーションまたは領域を表す前記視覚コンテンツが前記ユーザインターフェースディスプレイエリアの全体をもはや満たさないとの判定に応答するステップ
を含む、請求項1から6のいずれか一項に記載の方法。
前記インタラクティブな3次元ウィジェットを消滅させることに続いて、前記インタラクティブな3次元ウィジェットを再現させることによって、前記3次元物体の前記ロケーションまたは領域を表す前記視覚コンテンツが前記ユーザインターフェースディスプレイエリアの全体を満たすとの判定に応答するステップ
を含む、請求項7に記載の方法。
前記インタラクティブな3次元ウィジェットに対する前記受信されたインタラクションが、ナビゲーションインタラクションを備え、前記ユーザインターフェースディスプレイエリアにおいて表示された前記視覚コンテンツを適合させることが、前記ナビゲーションインタラクションに基づいて前記3次元物体上の新しいロケーションまたは領域を表す視覚コンテンツを表示させることを含む、請求項1から8のいずれか一項に記載の方法。
前記ユーザインターフェースディスプレイエリアにおいて表示された前記視覚コンテンツを適合させることが、前記元のロケーションまたは領域を表す前記視覚コンテンツから前記新しいロケーションまたは領域を表す前記視覚コンテンツまでのナビゲーションを表すアニメーションを表示させることを含む、請求項9に記載の方法。
前記アニメーションが、前記3次元物体の全体が前記ユーザインターフェースディスプレイエリアにおいて可視になるまで、前記元のロケーションまたは領域を表す前記視覚コンテンツからズームアウトすること、前記3次元物体を回転させること、および前記新しいロケーションまたは領域を表す前記視覚コンテンツにズームインすることを含む、請求項10に記載の方法。
前記アニメーションの表示中に、前記アニメーションを現在のビューにおいて停止することによって前記ユーザインターフェースディスプレイエリアについてのインタラクションの受信に応答するステップを含む、請求項10または11に記載の方法。
前記新しいロケーションまたは領域に対応する前記インタラクティブな3次元ウィジェットの部分が前記ユーザインターフェースディスプレイ上で可視であるように前記インタラクティブな3次元ウィジェットの回転させることによって、前記ナビゲーションインタラクションの受信に応答するステップを含む、請求項9から12のいずれか一項に記載の方法。
前記ナビゲーションインタラクションの受信中に、前記元のロケーションまたは領域から前記新しいロケーションまたは領域までの経路を前記3次元ウィジェット上で表示させるステップ
を含む、請求項9から13のいずれか一項に記載の方法。
前記インタラクティブな3次元ウィジェットが回転軸の周りを回転可能であり、前記3次元ウィジェットに対するインタラクションが現在受信されていないとき、前記回転軸および前記ユーザインターフェースディスプレイエリアの相対配向が一定である、請求項1から14のいずれか一項に記載の方法。
1つまたは複数のユーザ選択可能オプションを表示させることによって、前記インタラクティブな3次元ウィジェットについての選択インタラクションの受信に応答するステップを含む、請求項1から15のいずれか一項に記載の方法。
前記ウィジェットが、前記ユーザインターフェースディスプレイエリアにおいて表示された前記視覚コンテンツによって表された前記元のロケーションに対応する前記ウィジェットの部分が可視であるように配向される、請求項17に記載のコンピュータ実装方法。
前記視覚インジケータが、前記ウィジェットの配向に対する前記ディスプレイエリアにおいて表示された前記視覚コンテンツに関連付けられた配向を示すように構成される、請求項17または18に記載のコンピュータ実装方法。
前記視覚コンテンツが、前記3次元物体の表面に対する調整可能なズームレベルに少なくとも部分的に基づいて表示され、前記視覚インジケータが、前記ズームレベルがズームしきい値を上回るとき第1の形態において表示され、前記視覚インジケータが、前記ズームレベルが前記ズームしきい値を下回るとき、第2の形態において表示される、請求項17から19のいずれか一項に記載のコンピュータ実装方法。
前記ユーザ入力が前記ユーザインターフェースディスプレイエリアに向けられ、前記1つまたは複数のコンピューティングデバイスによって、前記視覚コンテンツ、前記ウィジェット、および前記視覚インジケータのうちの少なくとも1つを調整するステップが、
前記1つまたは複数のコンピューティングデバイスによって、前記ユーザインターフェースディスプレイエリアに向けられた前記ユーザ入力に少なくとも部分的に基づいて、前記視覚インジケータを調整するステップ
を含む、請求項17から21のいずれか一項に記載のコンピュータ実装方法。
前記ユーザ入力が前記ユーザインターフェースディスプレイエリアに向けられ、前記ユーザ入力が新しいロケーションに向けられたナビゲーションインタラクションであり、前記1つまたは複数のコンピューティングデバイスによって、前記視覚コンテンツ、前記ウィジェット、および前記視覚インジケータのうちの少なくとも1つを調整するステップが、
前記1つまたは複数のコンピューティングデバイスによって、前記新しいロケーションに対応する前記ウィジェットの部分が可視であるように前記ウィジェットを調整するステップ
を含む、請求項17から22のいずれか一項に記載のコンピュータ実装方法。
前記ユーザ入力が前記ウィジェットに向けられ、前記ユーザ入力が新しいロケーションに向けられたナビゲーションインタラクションであり、前記1つまたは複数のコンピューティングデバイスによって、前記視覚コンテンツ、前記ウィジェット、および前記視覚インジケータのうちの少なくとも1つを調整するステップが、
前記1つまたは複数のコンピューティングデバイスによって、前記新しいロケーションに対応するように前記ディスプレイエリアにおいて提示された前記視覚コンテンツを調整するステップ
を含む、請求項17から23のいずれか一項に記載のコンピュータ実装方法。
前記1つまたは複数のコンピューティングデバイスによって、前記新しいロケーションに対応するように前記ディスプレイエリアにおいて提示された前記視覚コンテンツを調整するステップが、
前記1つまたは複数のコンピューティングデバイスによって、前記元のロケーションから前記新しいロケーションまでのナビゲーションを表す前記視覚コンテンツに関連付けられたアニメーションを提示するステップ
を含む、請求項24に記載のコンピュータ実装方法。
前記ユーザ入力の受信中に、前記1つまたは複数のコンピューティングデバイスによって、前記ウィジェット上に表示するための前記元のロケーションに対応する前記ウィジェットの部分から前記新しいロケーションに対応する前記ウィジェットの部分まで伸びる第2インジケータを提示するステップをさらに含む、請求項24または25に記載のコンピュータ実装方法。
前記ウィジェットが、回転軸の周りを回転可能であり、前記ウィジェットに対するインタラクションが現在受信されていないとき、前記回転軸および前記ディスプレイエリアの相対配向が一定である、請求項17から27のいずれか一項に記載のコンピュータ実装方法。
前記視覚インジケータが、前記ウィジェットの配向に対する前記ディスプレイエリアにおいて表示された前記視覚コンテンツに関連付けられた配向を示すように構成される形状を備える、請求項29に記載のシステム。
前記ユーザ入力が前記ウィジェットに向けられ、前記ユーザ入力が、新しいロケーションに向けられたナビゲーションインタラクションであり、前記視覚コンテンツ、前記ウィジェット、および前記視覚インジケータのうちの少なくとも1つを調整することが、
前記新しいロケーションに対応するように前記ディスプレイエリアにおいて提示された前記視覚コンテンツを調整すること
を含む、請求項29または30に記載のシステム。
前記ユーザ入力が前記ディスプレイエリアに向けられるとき、前記ウィジェットの少なくとも可視の部分が、前記ディスプレイエリアにおいて提示された前記視覚コンテンツに一致するように調整し、前記ユーザ入力が前記ウィジェットに向けられるとき、前記ディスプレイエリアにおいて提示された少なくとも前記視覚コンテンツが、前記ウィジェットの前記可視の部分に一致するように調整する、請求項33に記載のユーザデバイス。
【発明を実施するための形態】
【0012】
以下で実施形態を詳細に参照し、その1つまたは複数の例が図面に示される。各例は、本開示の限定ではなく実施形態の説明として提供される。実際は、本開示の範囲または趣旨から逸脱することなく様々な変更および変形が実施形態に対して行われることが可能であることは、当業者には明らかであろう。たとえば、ある実施形態の一部として図示または説明する特徴は、またさらなる実施形態を生じるために、別の実施形態とともに使用されることが可能である。したがって、本開示の態様がそのような変更および変形を含むことが意図される。
【0013】
本開示の例示的な態様は、視覚コンテンツのナビゲート可能性、およびそのような視覚コンテンツのためのジオコンテキストを提供するインタラクティブな3次元ウィジェットを対象とする。本明細書で使用するウィジェットは、グラフィカルユーザインターフェースの要素を指す。ウィジェットは、ユーザインターフェースにおけるインタラクションの要素であることが可能である。たとえば、ディスプレイデバイスは、ディスプレイエリアを含むユーザインターフェースを表示することができる。ディスプレイエリアは、3次元物体上の地理的ロケーション(たとえば、地球のエリア、領域など)を表す視覚コンテンツを提示することができる。ユーザインターフェースはまた、3次元物体の外観に対応する外観を有するより小さいインタラクティブなウィジェットを含むこともできる。たとえば、インタラクティブなウィジェットは、地球の外観に対応する「小型の地球」のインタラクティブな3次元レンダリングであることが可能である。ウィジェットは、ユーザインターフェースのディスプレイエリアにおいて視覚コンテンツによって示されるロケーションを示す視覚インジケータ(たとえば、ポリゴン)を含むことができる。ユーザが、3次元物体上で新しいロケーションを見るために視覚コンテンツをナビゲートするとき、視覚インジケータおよび/またはウィジェットは、視覚コンテンツによって提示されたロケーションに一致するように自動的に調整することができる。これによって、たとえば地球の何の部分をユーザが見ているかについてのジオコンテキストをユーザに提供することを助けることができる。その上、ユーザは、ユーザインターフェースにおいて提示されたロケーションイメージを変更するために、ウィジェットとインタラクションすることができる。このようにして、ユーザは、見られているロケーションのユーザのジオコンテキスト理解を維持しながら、視覚コンテンツをより容易にナビゲートすることができる。
【0014】
より具体的には、ユーザデバイスは、ディスプレイデバイス上に表示するためにユーザインターフェースを提供することができる。ユーザインターフェースは、視覚コンテンツを提示するためのディスプレイエリアを含むことができる。視覚コンテンツは、3次元物体上のロケーションを表すことができる。たとえば、視覚コンテンツは、地球の地理的関心エリアを示すことができる。ディスプレイエリアはまた、インタラクティブなウィジェット(以下、「ウィジェット」)を含むことができる。ウィジェットは、3次元物体に対応する外観を有することができる。たとえば、3次元物体が地球である場合、ウィジェットは、(たとえば、球状の地球を表すために)円形であることが可能であり、同様の陸地/水域境界を示すグラフィックス(たとえば、「小型の地球」)を有することができる。ウィジェットは、表示された視覚コンテンツにおいて表されたロケーションに対応するウィジェットの部分が可視であるように配向されることが可能である。例として、ディスプレイエリアにおける視覚コンテンツが、日本の国をほぼ含む領域を示している場合、ウィジェット(たとえば、「小型の地球」)は、日本に対応するその部分がユーザにとって可視であるように配向されることが可能である。
【0015】
ユーザのためのジオコンテキストの提供を助けるために、ウィジェットは、視覚インジケータを含むことができる。視覚インジケータは、ウィジェット上で、視覚コンテンツによって表されたロケーションを示すことができる。たとえば、視覚インジケータは、ディスプレイエリアにおいて表示された視覚コンテンツに対応するウィジェットの部分を描写する形状を有するポリゴンを含むことができる。たとえば、ディスプレイエリアにおける視覚コンテンツが、(たとえば、日本を含む)地球の表面の領域を示している場合、ウィジェットは、地球のその領域に対応するウィジェットの部分を示す四辺形を含むことができる。追加および/または代替として、視覚インジケータは、ウィジェットに対する視覚コンテンツに関連付けられた配向を示すことができる。たとえば、視覚インジケータの部分(たとえば、ドロップレット部分)は、ユーザがディスプレイエリアの視覚コンテンツを回転させるとき、方位を識別することができる。
【0016】
視覚インジケータは、視覚コンテンツとのユーザインタラクションに少なくとも部分的に基づいて変化することができる。たとえば、視覚コンテンツは、調整可能なズームレベル(たとえば、仮想カメラと3次元物体との間の仮想距離)を介して見られることが可能である。視覚インジケータは、ズームレベルに少なくとも部分的に基づいて、配向、サイズ、形状、形態などにおいて変化することができる。たとえば、ユーザが、視覚コンテンツにおいて示された地球の表面から離れるようにズームアウトする(たとえば、仮想距離を増す)とき、視覚インジケータのサイズが増大し、地球のより大きいエリアがディスプレイエリアにおいて提示されることを示すことができる。ある上限ズームしきい値を上回ると(たとえば、仮想カメラが、大気圏外空間に入るある距離であるように見えるとき)、視覚インジケータはウィジェットから消滅することができる。追加および/または代替として、ユーザが、視覚コンテンツにおいて示された地球の表面に向かってズームインする(たとえば、仮想距離を減らす)とき、視覚インジケータのサイズが減少し、地球のより小さいエリアがディスプレイエリアにおいて提示されることを示すことができる。いくつかの実装形態では、ある下限ズームしきい値を下回ると、視覚インジケータは、第1のフォーマット(たとえば、多角形)から視覚コンテンツによって提示されたロケーションを示す第2のフォーマット(たとえば、十字線の形状)に形状を変化させることができる。これによって、高度にズームされたビュー内でナビゲートするとき、ユーザに、(たとえば、精度識別子を使用して)より微細なジオコンテキスト情報を伝えることができる。本明細書でさらに説明するようにいくつかの実装形態では、ウィジェット自体は、1つまたは複数のズームレベルに少なくとも部分的に基づいて消滅することができる。
【0017】
ウィジェット(および/または視覚インジケータ)は、視覚コンテンツに向けられたユーザ入力に基づいて調整することができる。たとえば、ユーザは、ディスプレイエリアにおいて見るための新しいロケーションを選択するために、視覚コンテンツとインタラクション(たとえば、クリック、ドラッグ、回転)することができる。したがって、視覚コンテンツは、新しいロケーションに対応するように調整されることが可能である。追加として、ウィジェットは、新しいロケーションに対応するウィジェットの部分がユーザにとって可視であるように調整されることが可能である。例として、ユーザが、韓国に対応する視覚コンテンツ上の新しいロケーションをクリックする場合、視覚コンテンツは、韓国のビューに対応するように調整されることが可能である。その上、ウィジェット(たとえば、「小型の地球」)は、韓国に対応するウィジェットの部分がディスプレイデバイスによって提示されることが可能であるように調整されることが可能である。追加および/または代替として、視覚インジケータは、韓国がディスプレイエリアにおいて提示されることを現在示すように調整されることが可能である。
【0018】
ユーザはまた、ウィジェットとのインタラクションを介して、視覚コンテンツを調整することができる。たとえば、ユーザは、ウィジェットが回転し、ウィジェットの他の部分がユーザにとって可視になるようにウィジェットをクリックアンドドラッグすることができる。ユーザがウィジェットをドラッグするとき、元のロケーションから新しいロケーションへと伸びる第2の視覚インジケータ(たとえば、矢印)が、ウィジェット上で提供されることが可能である。ドラッグユーザ入力をリリースすると、視覚コンテンツは、アニメーションを含むことができる。たとえば、アニメーションは、元のロケーション(たとえば、日本)から新しいロケーション(たとえば、韓国)への「上空飛行」ナビゲーションアニメーションを示すことができる。
【0019】
本明細書で説明する方法および装置は、いくつかの技術的利点を提供する場合がある。たとえば、それを介してユーザインターフェースディスプレイエリアにおいて表示された視覚コンテンツが適合されることが可能であるインタラクティブな3次元ウィジェットの提供は、限定はしないが、地球などの3次元物体の表現をナビゲートするための効率的かつ直観的な手段を提供する場合がある。これは、3次元物体をナビゲートするために、ユーザによって必要とされるユーザ入力の数を低減する場合があり、そのためユーザ入力を扱うことに関連する処理の量を低減する場合がある。追加として、低減された数の入力、およびナビゲーションの直観性の結果として、ユーザは、アプリケーションを使用して費やす時間をより少なくすることが可能である場合があり、それによって画面上の時間を低減し、それによって電力使用を低減してもよい。
【0020】
3次元物体の形状に対応する形状を有するウィジェットの3次元性は、3次元物体上で表示された領域またはロケーションと全体としての3次元物体との間の関係をユーザがより容易に理解することを可能にする場合がある。ジオナビゲーションの実装形態では、インタラクティブな3次元ウィジェットの提供は、ディスプレイエリアにおいて現在表示される視覚コンテンツのグローバルなジオコンテキストの認識を増すと言われる場合がある。ユーザが、現在表示される視覚コンテンツの3次元物体上のロケーションをより容易に理解することが可能である場合があるので、ジオナビゲーションに適用されるか否かにかかわらず、インタラクティブな3次元ウィジェットの提供は、3次元物体のナビゲーションを容易にする場合がある。したがって、ユーザは、新しいロケーションまたは関心領域がディスプレイエリアにおいて表示されるようにするために、どの方向に視覚コンテンツをナビゲートするべきであるかをより容易に決定することが可能である場合がある。したがって、ユーザは、3次元物体をナビゲートするときに迷うことになる可能性が低くなり、それによってAからBにナビゲートするときに必要とされる場合がある入力の数が低減する場合がある。この効果は、ディスプレイエリアにおいて表示された視覚コンテンツによって表される3次元物体上の現在のロケーションもしくは領域を正確に示す、かつ/または全体として物体に対する視覚コンテンツの配向を示すインタラクティブな3次元ウィジェットをオーバーレイする視覚インジケータの提供によって高められる場合がある。
【0021】
加えて、ユーザがウィジェットとのインタラクションに基づいてディスプレイエリアにおいて表示された視覚コンテンツを適合させることを可能にすることによって、ユーザは、特に所望のナビゲーションの程度が大きいとき、より少ない入力を使用して3次元物体をナビゲートしてもよい。たとえば、ユーザは、長距離を進行するために、インタラクティブな3次元ウィジェットについて単一のナビゲーションインタラクションを適用することが可能であってもよく、長距離の進行には、そうでない場合、表示された視覚コンテンツについていくつかの入力が適用されることが必要になる。
【0022】
いくつかの例では、ウィジェットについてのナビゲーションインタラクションに続いて、ユーザがロケーションまたは領域の間のナビゲーションの経路をよりよく理解することを可能にする場合がある、特に直観的な方法で元のロケーションまたは領域から新しいロケーションまたは領域へのナビゲーションを示すアニメーションが提供されてもよい。いくつかの態様では、ユーザは、新しいロケーションに到達するより前に、アニメーションを停止するためにインタラクションを提供することが可能であってもよい。これによって、ユーザが、新しいロケーションまでずっと、および次いで中間ロケーションに戻るようにナビゲートする必要なしに中間ロケーションにナビゲートすることが可能になる場合がある。この場合も、これによって必要とされるユーザ入力の数が低減する場合がある。
【0023】
本明細書で説明する方法および装置のいくつかの態様は、必要に応じてウィジェットの消滅および再現を引き起こすことを含んでもよい。たとえば、ディスプレイエリアにおいて表示される3次元物体の量が、ユーザがウィジェットを使用することなく3次元物体の形状およびその現在の配向を理解することが可能であるように十分であるとき、ウィジェットは、ディスプレイから除去させられてもよい。これによって、ディスプレイ上の貴重な空間が空く場合があり、一般に散らかっていないユーザインターフェースがもたらされる場合がある。また、ディスプレイエリアを最大限に活用するために、ウィジェットは、いくつかの例では1つまたは複数の選択可能なオプションを表示させるためにユーザによって選択可能であってもよい。これによって、いかなる機能を犠牲にすることもなくディスプレイ上の空間が空く場合がある。
【0024】
本開示のシステム、方法、および装置は、ユーザデバイス上で提示されたマップインターフェースのナビゲーション効率およびジオコンテキスト理解を増すことによって、計算リソースを節約するためにユーザデバイスコンピュータ技術を向上させることができる。より具体的には、ナビゲーションのために必要とされるユーザ入力の数と、ユーザのジオコンテキストの欠如のためのマップリセット(たとえば、マップインターフェースを3次元物体の高レベル画像に変更すること)の頻度とを減らすことによって処理リソースを節約することができる。そのような向上は、インタラクティブなウィジェットを3次元として提供すること、および3次元物体に対応する外観を有すること、ならびにディスプレイエリアにおいて視覚コンテンツによって表されたロケーションをウィジェット上で示すように構成される視覚インジケータを含むことによって生じることが可能である。その上、ユーザインターフェースディスプレイエリアおよびウィジェットのうちの少なくとも1つに向けられたユーザ入力を受信するため、ならびにそれに応じて視覚コンテンツ、ウィジェット、および/または視覚インジケータを調整するための能力によって、本明細書で説明するように必要とされるナビゲーション入力を減らして、計算リソースを節約することができる。これによって、マップインターフェースを実行するために必要とされる処理リソースを減らすことができるので、ユーザデバイスコンピュータ技術を向上させることができる。その上、これによってユーザデバイスが、たとえばより高い解像度のインターフェースをレンダリングするために、その節約されたコンピューティングリソースを割り振ることを可能にしてもよい。
【0025】
図1は、本開示の例示的な実施形態による例示的なシステム100を示す。システム100は、プロバイダコンピューティングシステム102と、1つまたは複数のユーザデバイス104とを含むことができる。プロバイダシステム102およびユーザデバイス104は、直接接続を介して相互接続可能であり、かつ/あるいはワイヤードもしくはワイヤレスであってもよい、または任意の数のワイヤードもしくはワイヤレス通信リンクを含むことができる、LAN、WAN、インターネットなどの通信ネットワーク106を介して結合可能である。
【0026】
プロバイダシステム102は、Google Inc.(カリフォルニア州マウンテンビュー)によって開発されたGoogle MapsもしくはGoogle Earth、または他の好適な地理的サービスなどのマッピングサービスプロバイダに関連付けられることが可能である。いくつかの実装形態では、プロバイダシステム102は、表示されるべき3次元物体に関連付けられることが可能である(たとえば、建築家、ビル所有者、政府機関)。プロバイダシステム102は、本明細書で説明するように様々な動作および機能を行うための様々な構成要素を含むことができる。たとえば、プロバイダシステム102は、1つまたは複数のコンピューティングデバイス108(たとえば、サーバ)を含むことができる。本明細書でさらに説明するようにコンピューティングデバイス108は、1つまたは複数のプロセッサと、1つまたは複数のメモリデバイスとを含むことができる。1つまたは複数のメモリデバイスは、1つまたは複数のプロセッサによって実行されると、たとえばインタラクティブなジオコンテキストインターフェースを提供するために本明細書で説明するものなどの動作および機能を1つまたは複数のプロセッサに行わせる、命令を記憶することができる。コンピューティングデバイス108は、マップデータベース110などの様々なデータベースに結合されることが可能であり、かつ/またはそれらを含むことが可能である。コンピューティングデバイス108は、ネットワーク106を介して、マップデータベース110からユーザデバイス104に様々なデータを提供することができる。
【0027】
ユーザデバイス104は、タブレット、携帯情報端末(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、電話、スマートフォン、コンピュータ化された時計(たとえば、スマートウォッチ)、コンピュータ化されたアイウェア、コンピュータ化されたヘッドウェア、他のタイプのウェアラブルコンピューティングデバイス、ゲーミングシステム、メディアプレーヤ、電子ブックリーダー、テレビプラットフォーム、ナビゲーションシステム、組込みコンピューティングデバイス、または任意の他のタイプのモバイルおよび/もしくは非モバイルコンピューティングデバイスなどの様々なタイプのユーザデバイスであることが可能である。ユーザデバイス104は、本明細書で説明するように様々な動作および機能を行うための様々な構成要素を含むことができる。たとえば、ユーザデバイス104は、ディスプレイデバイス112と、1つまたは複数のコンピューティングデバイス114とを含むことができる。ディスプレイデバイス112は、CRT、LCD、プラズマスクリーン、タッチスクリーン、TV、プロジェクタなどのユーザインターフェースを表示するように構成される出力デバイスを含むことができる。本明細書でさらに説明するようにコンピューティングデバイス114は、1つまたは複数のプロセッサと、1つまたは複数のメモリデバイスとを含むことができる。1つまたは複数のメモリデバイスは、1つまたは複数のプロセッサによって実行されると、たとえばディスプレイデバイス112上でユーザインターフェースを提示するために本明細書で説明するものなどの動作および機能を1つまたは複数のプロセッサに行わせる命令を記憶することができる。いくつかの実装形態では、本明細書でさらに説明するように(プロバイダシステム102の)コンピューティングデバイス108は、(たとえば、ユーザデバイス104の)ディスプレイデバイス112上に表示するためにユーザインターフェースを提供することができる。
【0028】
図2Aは、本開示の例示的な実施形態によるユーザインターフェース200を示す。ユーザインターフェース200は、視覚コンテンツ204を提示するためのディスプレイエリア202を含むことができる。視覚コンテンツ204は、3次元物体に関連付けられることが可能である。3次元物体は、地理的物体(たとえば、地球、月、火星、他の惑星、他の天体)、および/または別の物体(たとえば、建築物、構造、物、粒子、解剖学的部分)であることが可能である。視覚コンテンツ204は、3次元物体上のロケーション206を表すことができる。ロケーションは、3次元物体上の場所、エリア、位置、自治体、領域などであることが可能である。いくつかの実装形態では、ロケーション206は、インターフェース200とのユーザインタラクションを介してユーザによって選択されることが可能である。
【0029】
ユーザインターフェース200は、任意の好適なレンダリング技法を使用してディスプレイデバイス上で表示されることが可能である。たとえば、プロバイダシステム102は、指定されたロケーションに対応するマップデータを(たとえば、データベース110から)取得し、ユーザデバイス104に伝送することができる。いくつかの実装形態では、アプリケーションプログラミングインターフェースは、プロバイダシステム102および/またはデータベース110に、(たとえば、ロケーション座標、他の識別子に基づいて)指定されたロケーションに関連付けられたデータを要求することができる。いくつかの実装形態では、マップデータは、ベクトルデータ、固定サイズの「タイル」に区分されたラスタデータ、ベクトルデータおよびラスタデータの組合せを、ならびに/または任意の他の好適なフォーマットにおいて含むことができる。その上、マップデータは、2次元マップまたは3次元マップを生成することを可能にすることができる(たとえば、メッシュを定義する頂点、およびテクスチャ)。ユーザデバイス104上で動作するソフトウェアアプリケーションは、マップデータに少なくとも部分的に基づいて、指定されたロケーションのためのユーザインターフェース200をレンダリングおよび表示することができる。
【0030】
図2Aに示されるようにインタラクティブなウィジェット208もまた表示のために提供されることが可能である。ウィジェット208は、最初に、たとえば選好ペイン、メニュー、または他の好適なユーザインターフェース要素などのユーザインターフェース要素を通してユーザによって変更されることが可能であるプリセットされたロケーションに基づいて、ユーザインターフェース200における任意の場所に位置することが可能である。いくつかの実装形態では、ユーザは、ウィジェット208を選択し、ユーザインターフェース200内の任意のロケーションにドラッグすることができる。いくつかの実装形態では、ウィジェット208は、(たとえば、オーバーレイsvgポリゴンとして表示された)視覚コンテンツ204をオーバーレイすることができる。ウィジェット208は、視覚コンテンツ204がユーザによって見られることを可能にするために、半透明であることが可能である。いくつかの実装形態では、ウィジェット208は、ユーザ操作可能なカーソルまたは他の好適な入力を用いてウィジェット208の部分を選択すること、およびディスプレイエリア202にわたってウィジェット208の部分をドラッグすることによってリサイズ可能である。いくつかの実装形態では、ウィジェット208は、南北に配向されることが可能である。ウィジェット208は、ユーザインターフェース200のものと同様の方法で表示するためにレンダリングされることが可能である。
【0031】
ウィジェット208は、3次元として表されることが可能であり、かつ3次元物体に対応する外観を有することができる。たとえば、ウィジェット208は、ディスプレイデバイス112(たとえば、画面)上に3次元要素としてレンダリングされることが可能である。例として、3次元物体が地球である場合、ウィジェット208は、(たとえば、球状の地球を表すために)円形であることが可能であり、同様の陸地/水域境界を示すグラフィックスを有することができる。このようにして、ウィジェット208は、3次元物体のインタラクティブな3次元レンダリング(たとえば、地球を表す「小型の地球」)として出現することができる。ウィジェット208は、単に平坦なメルカトル図法としてではなく提示されることが可能である。いくつかの実装形態では、視覚コンテンツ204が、別の3次元物体(たとえば、月、火星)を表すように変化する場合、ウィジェット208は、その別の3次元物体に対応する外観(たとえば、「小型の月」、「小型の火星」)を有することができるように調整されることが可能である。図が白黒の線画として提供されるが、ウィジェット208は、3次元物体の異なる部分(たとえば、陸地、水域、地域、地勢)を表すために、様々な色およびパターンを含むことができる。その上、ウィジェット208は、(本明細書で説明するような)3次元物体の3次元レンダリングであることが可能であるが、いくつかの実装形態では、ユーザは、別の方法(たとえば、2次元、扇形、他の地図投影法)で表示されるようにウィジェット208を選択することが可能であってもよい。
【0032】
いくつかの実装形態では、ウィジェット208は、視覚コンテンツ204に関連付けられた他のコンテキスト情報を含むことができる。例として、視覚コンテンツ204は、地球上の異なる国における乳児死亡率を示すディスプレイを含むことができる。これは、異なる色、アイコン、テクスチャ、キーなどの様々な特徴によって表されることが可能である。ウィジェット208は、地球のそれらの領域についてのコンテキスト情報(たとえば、各国における様々な乳児死亡率)をユーザに提供するために、同様のそのような特徴を含むことができる。いくつかの実装形態では、ウィジェット208は、そのような情報がディスプレイエリア202において視覚コンテンツ204によって提供されないにもかかわらず、そのようなコンテキスト情報を含むことができる。
【0033】
ウィジェット208は、ユーザインターフェースディスプレイエリア202において表示された視覚コンテンツ204によって表されたロケーションまたは領域に対応するウィジェット208の部分が可視であるように配向されることが可能である。例として、ディスプレイエリア202における視覚コンテンツ204がアフリカ大陸上のロケーションを示している場合、ウィジェット208は、(たとえば、
図2Aの場合のように)アフリカのそのロケーションまたは領域に対応するその部分がユーザにとって可視であるように配向されることが可能である。ウィジェット208は、1つまたは複数の回転軸209の周りを回転可能であることが可能である。ウィジェット208に対するインタラクションが現在受信されていないとき(たとえば、本明細書でさらに説明するように)、回転軸209およびディスプレイエリア202の相対配向は、実質的に一定であることが可能である。ディスプレイエリア202における視覚コンテンツ204が変化するとき、本明細書でさらに説明するようにウィジェット208の可視の部分もまた変化する(たとえば、軸209の周りを回転する)ことができる。
【0034】
ウィジェット208は、調整可能な視覚インジケータ210を含むことができる。視覚インジケータ210は、ディスプレイエリア202において表示された視覚コンテンツ204に関連付けられたジオコンテキストを提供するように構成されることが可能である。たとえば、視覚インジケータ210は、ユーザインターフェース200のディスプレイエリア202において表示された視覚コンテンツ204によって表されたロケーションまたは領域をウィジェット208上で示すように構成されることが可能である。
図2Aに示されるように視覚インジケータ210は、ディスプレイエリア202において表示された視覚コンテンツ204に対応するウィジェット208の部分を描写する形状を有するポリゴン214を含むことができる。ポリゴン214は、ディスプレイエリア202において表示された視覚コンテンツ204によって表されたロケーション206(たとえば、アフリカにおけるロケーション)を示すことができる。
【0035】
いくつかの実装形態では、視覚インジケータ210のポリゴン214の形状は、仮想カメラ212に少なくとも部分的に基づくことが可能である。たとえば、視覚コンテンツ204は、仮想カメラ212と3次元物体との間の仮想距離216に少なくとも部分的に基づいて、ディスプレイエリア202において表示されることが可能である。ディスプレイエリア202において表示された視覚コンテンツ204は、(たとえば、ビュー錐台の各コーナーにおける)コーナーピクセル218、ならびにエッジ220に関連付けられたエッジピクセルを含むことができる。それぞれのコーナーピクセル218と、仮想カメラ212の投影の中心222から伸びる光線との間の交点が、コーナーピクセル218の各々について決定されることが可能である。その上、エッジピクセルと、投影の中心222から伸びる光線との間の交点が、視覚コンテンツ204のエッジ220の各々における少なくとも1つのピクセルについて決定されることが可能である。視覚インジケータ210の形状を視覚コンテンツのビュー錐台に対応するように決定するために、このプロセスが反復的に実施されることが可能である。
【0036】
視覚インジケータ210のうちの1つまたは複数の特性が調整されることが可能である。たとえば、視覚インジケータ210のサイズおよび/または形状は、ユーザインタラクションに少なくとも部分的に基づいて調整されることが可能である。視覚コンテンツ204は、3次元物体の表面に対する調整可能なズームレベルに少なくとも部分的に基づいて表示されることが可能である。ズームレベルは、仮想カメラ212と3次元物体との間の仮想距離に依存することが可能である。
【0037】
いくつかの実装形態では、視覚インジケータ210は、仮想カメラ212と3次元物体との間の仮想距離216に対するサイズを変更することができる(たとえば、ズームレベルが増加/減少し、ビューがズームインおよびアウトされる)。たとえば、
図2Aは、
図2Bの視覚コンテンツ204よりも大きい仮想距離(たとえば、より「ズームアウト」されたビュー)における視覚コンテンツ204を示す。その上、
図2Aのディスプレイエリア202は、
図2Bのディスプレイエリア202よりも大きいアフリカ大陸の部分を示す。
図2Aの視覚インジケータ210は、
図2Bの視覚インジケータ210よりも大きいサイズである。これは、
図2Bに示されるよりも大きいアフリカ大陸の部分が
図2Aのディスプレイエリア202(たとえば、より「ズームイン」されたビュー)において示されることをユーザに示すことができる。いくつかの実装形態では、ウィジェット208自体は、ズームレベルに少なくとも部分的に基づいてサイズを調整することができる。
【0038】
追加および/または代替として、視覚インジケータ210のサイズは、ディスプレイエリア202に少なくとも部分的に基づくことが可能である。たとえば、いくつかの実装形態では、視覚インジケータ210のサイズは、ディスプレイエリア202(たとえば、そのサイズ比率)にマッチするように調整されることが可能である。添付の図は、反映する縮尺ではないが、ポリゴン214は、添付の図面に示されたものにかかわらず、任意のズームレベルにおいてディスプレイエリア202に正確にマッチするように構成されることが可能である。
【0039】
視覚インジケータ210は、ユーザインタラクションに少なくとも部分的に基づいて、形態を変化させることができる。ズームレベルが第1のズームしきい値を上回るとき、視覚インジケータ210は、第1の形態において表示されることが可能であり、ズームレベルがズームしきい値を下回るとき、視覚インジケータは、第2の形態において表示されることが可能である。たとえば、
図2Bでは、視覚インジケータ210は、ディスプレイエリア202において表示された視覚コンテンツ204によって表されたロケーション(たとえば、アフリカの領域)を示す第1のフォーマット(たとえば、214、四辺形)において表示されることが可能である。
図2Bに示されたズームレベル250(たとえば、Z
L)は、第1のズームしきい値252(たとえば、Z
TH1)を上回ると見なされることが可能である。
図3では、ズームレベル250が第1のズームしきい値252を下回る(またはそれに等しい)とき、視覚インジケータ210は、第2のフォーマット(たとえば、314、十字線、ドロップレット)において表示されることが可能である。この第2のフォーマットは、ディスプレイエリア202において表示された視覚コンテンツ204によって表されたロケーション(たとえば、アフリカにおける都市)のより微細なインジケータを提供することができる。
【0040】
いくつかの実装形態では、視覚インジケータ210は、ウィジェット208の配向に対して、ディスプレイエリア202において表示された視覚コンテンツ204に関連付けられた配向を示すように構成される形状を含むことができる。たとえば、
図3に示されるように視覚インジケータ210は、視覚コンテンツ204の配向および/または方位を示すように構成される形状316(たとえば、矢印、ライン、ポインタ)を含むことができる。いくつかの実装形態では、形状316は、第1のフォーマット214および/または第2のフォーマット314(たとえば、十字線、ドロップレット)の部分であることが可能である。その上、いくつかの実装形態では、形状316は、視覚インジケータ210の残りとは異なる色を含むことができる。ユーザが視覚コンテンツ204の配向および/または方位を調整する(たとえば、回転させる)とき、形状316が調整される(たとえば、新しい方向を示す)ことが可能である。いくつかの実装形態では、ユーザが視覚コンテンツ204の配向および/または方位を調整する(たとえば、回転させる)とき、(ウィジェット208ではなく)視覚インジケータ210のみが方位を示すように変化することができる。
【0041】
追加および/または代替として、視覚インジケータ210は、視覚コンテンツ204に関連付けられたチルト制御に少なくとも部分的に基づいて調整されることが可能である。たとえば、ユーザインターフェース200は、ユーザが視覚コンテンツ204に関連付けられたチルトビューイングレベルを制御することを可能にするチルト制御要素を含むことができる。チルトレベルが調整されるとき、ディスプレイエリア202において表示された視覚コンテンツ204に関連付けられたチルトレベルにおける変化を示すために、ポリゴン214の形状は、第1の形態(たとえば、長方形)から第2の形態(たとえば、台形)に調整されることが可能である。いくつかの実装形態では、ウィジェット208の視覚インジケータ210のみが、チルトレベル(および/またはズームレベル)の調整とともに変化することができる。
【0042】
ウィジェット208および/または視覚インジケータ210は、ズームレベルに少なくとも部分的に基づいて、出現、消滅、および/または再現することができる。たとえば、本明細書で説明するようにウィジェット208および/または視覚インジケータ210は、3次元物体の表面に対する調整可能なズームレベル250に少なくとも部分的に基づいて表示されることが可能である。
図4に示されるようにズームレベル250が、第2のズームしきい値402(たとえば、Z
TH2)を上回るとき、ウィジェット208および/または視覚インジケータ210は消滅することができる。第2のズームしきい値402は、仮想カメラ212と3次元物体404との間のある仮想距離216によって定義されることが可能である。
図4に示されるように、たとえば地球全体が、ユーザインターフェース200においてユーザによって見られることが可能である。したがって、ウィジェット208は、ジオコンテキストのために必要とされなくてもよく、したがってそのようなズームレベルにおいて隠されることが可能である。
【0043】
いくつかの実装形態では、ウィジェット208および/または視覚インジケータ210は、ズームレベル250が第3のズームしきい値(たとえば、高レベルのズーム、小さい仮想距離216)を下回るとき、消滅することができる。これは、たとえばウィジェット208がユーザのビューを妨げないように視覚コンテンツ204のストリートレベルビュー中にウィジェット208を隠すために生じることが可能である。いくつかの実装形態では、ユーザは、インターフェース200および/またはウィジェット208とインタラクションすること(たとえば、カーソルクリック、メニュー選択、要素トグル)によって、ウィジェット208を隠すように選択することができる。
【0044】
視覚コンテンツ204、ウィジェット208、および/または視覚インジケータ210のうちの少なくとも1つが、ユーザ入力に少なくとも部分的に基づいて調整されることが可能である。たとえば、
図5A〜
図5Bは、本開示の例示的な実施形態によるユーザインターフェース200のディスプレイエリア202とのユーザインタラクションを示す。
図5Aに示されるように視覚コンテンツ204は、3次元物体404上の元のロケーション502を表すことができる。視覚インジケータ210は、ディスプレイエリア202において表示された視覚コンテンツ204によって表された元のロケーション502をウィジェット上で示すことができる。ユーザは、ユーザ操作可能カーソル504(または他の好適な入力)を介してユーザ入力を提供することができる。
【0045】
図5Bに示されるようにユーザ入力506は、ディスプレイエリア202に向けられることが可能である。たとえば、ユーザは、視覚コンテンツ204によって表されるべき新しいロケーション508の選択、クリック、ダブルクリック、タップ、ドラッグなどを行うために、カーソル504を操作することができる。ディスプレイエリア202における視覚コンテンツ204は、(たとえば、
図5Bに示されるように)新しいロケーション508に対応するように調整されることが可能である。そのようなレンダリングは、新しいロケーション508に関連付けられたマップデータ(たとえば、その座標)にアクセスすること、および新しいロケーション508を表す視覚コンテンツ204をレンダリングするためにそのようなデータを利用することによって達成されることが可能である。いくつかの実装形態では、新しいロケーション508に関連付けられたデータが、新しいロケーション508へのスムーズな遷移のために、ユーザインターフェース200に関連付けられたユーザデバイス104においてプリロードおよび/またはプリキャッシュされることが可能である。
【0046】
ウィジェット208は、ユーザ入力506に少なくとも部分的に基づいて調整されることが可能である。たとえば、ウィジェット208は、(たとえば、
図5Bに示されるように)新しいロケーション508に対応するウィジェット208の部分が可視であるように調整される(たとえば、回転される)ことが可能である。場合によっては、ウィジェット208は、新しいロケーション508に対応する部分がより目立つように表示される(たとえば、ウィジェット上でより中央に表示される)ように調整されることが可能である。したがって、ユーザ入力506がユーザインターフェースディスプレイエリア202に向けられるとき、ウィジェット208の少なくとも可視の部分は、ディスプレイエリア202において提示された視覚コンテンツ204に一致するように調整する。いくつかの実装形態では、ユーザインターフェース200内のウィジェット208の位置は、調整中に静的なままであることが可能である。たとえば、ウィジェット208の外周510は、ユーザ入力506よりも前と同じ(または実質的に同じ)位置のままであることが可能である。いくつかの実装形態では、ユーザインターフェース200内のウィジェット208の位置は、ユーザ入力に少なくとも部分的に基づいて変化することが可能である。
【0047】
追加および/または代替として、視覚インジケータ210は、ディスプレイエリア202に向けられたユーザ入力506に少なくとも部分的に基づいて調整されることが可能である。たとえば、視覚インジケータ210は、ディスプレイエリア202において表示された視覚コンテンツ204によって表された新しいロケーション508をウィジェット208上で示すために、ウィジェット208上の位置を変化させることが可能である。いくつかの実装形態では、視覚インジケータ210の特性は、ユーザ入力506に少なくとも部分的に基づいて変化することが可能である。たとえば、視覚インジケータ210のサイズ、形状、色などは、新しいロケーション508がディスプレイエリア202において見るために選択されたことを示すために変化することが可能である。
【0048】
図6A〜
図6Fは、本開示の例示的な実施形態によるウィジェット208とのユーザインタラクションを示す。
図6Aに示されるように視覚コンテンツ204は、3次元物体404上の元のロケーション602を表すことができる。ユーザは、ウィジェット208に向けられたユーザ入力604を提供するために、カーソル504を介してウィジェット208とインタラクションすることができる。ユーザ入力604は、新しいロケーション606に向けられたナビゲーションインタラクションであることが可能である。たとえば、ユーザ入力604は、新しいロケーション606に関連付けられたウィジェット208の部分におけるクリック、タップ、ダブルクリックなどを含むことができる。ウィジェット208は、新しいロケーション606に関連付けられたウィジェット208の部分がより目立つように可視である(たとえば、ウィジェット208の可視の部分において中心に位置する)ように調整される(たとえば、回転される)ことが可能である。たとえば、そうするために、コンピューティングデバイス108、114は、新しいロケーション606の緯度/経度の逆の投影を決定し、新しいロケーション606の緯度/経度に少なくとも部分的に基づいて、ウィジェット208および/または視覚インジケータ210を調整することができる。視覚インジケータ210は、ウィジェット208上で新しいロケーション606を示すために、調整されることが可能である。その上、ディスプレイエリア202において提示された視覚コンテンツ204は、(たとえば、視覚コンテンツ204が新しいロケーション606を表すように)新しいロケーション606に関連付けられたウィジェット208の可視の部分に一致するように調整されることが可能である。
【0049】
いくつかの実装形態では、ユーザは、新しいロケーション606を選択するために、ウィジェット208上でクリックし、ウィジェット208をドラッグすることができる。新しいロケーション606は、ウィジェット208の可視の部分上に最初に表されていなかったロケーションであることが可能であるが、ユーザ入力604(たとえば、ドラッグ)が、新しいロケーション606に対応する部分などのウィジェット208の1つまたは複数の部分が可視であるようにウィジェット208を回転させることができる。
【0050】
ユーザ入力604の受信中に、第2のインジケータ608がウィジェット208上に表示されることが可能である。たとえば、新しいロケーション606を選択するために、ウィジェット208がドラッグされるとき、第2のインジケータ608が表示されることが可能である。第2のインジケータ608(たとえば、矢印、ライン)は、元のロケーション602に対応するウィジェットの第1の部分から新しいロケーション606に対応するウィジェットの第2の部分まで伸びることができる。第2のインジケータ608は、元のロケーション602から新しいロケーション606までの経路を含むことができる。いくつかの実装形態では、視覚インジケータ210は、(たとえば、ポリゴン214の中心になるところに位置する)ウィジェット208上の元のロケーション602を示す新しい形態(たとえば、ドット)において表示されることが可能である。いくつかの実装形態では、視覚インジケータ210は、ユーザ入力604の受信中に消滅することができる。
【0051】
ディスプレイエリア202において提示された視覚コンテンツ204は、新しいロケーション606に対応するように調整されることが可能である。たとえば、ユーザインターフェース200は、元のロケーション602を表す視覚コンテンツ204から、新しいロケーション606を表す視覚コンテンツ204までのナビゲーションを表す視覚コンテンツ204に関連付けられたアニメーションを表示することができる。アニメーションは、
図6A〜
図6Cから示されるように元のロケーション602を表す視覚コンテンツ204からズームアウトすることを含むことができる。ズームアウトは、
図6Cに示されるように、たとえば3次元物体404全体が可視になるまで継続することができる。アニメーションは、3次元物体404の回転を含むことができる。これは、
図6Dに示されるように新しいロケーション606を含む3次元物体404の部分のズームアウトされたビューが、ディスプレイエリア202において提示されるまで、方向612において3次元物体404を回転させることを含むことができる。アニメーションは、(たとえば、
図6Fに示されるように)新しいロケーション606を表す視覚コンテンツ204にズームインすることをさらに含むことができる。アニメーションは、方位が北である固定ズームレベル/高度において停止することができる。いくつかの実装形態では、アニメーションの「上空飛行」経路は、第2のインジケータ608によって示されたものに一致することが可能である。
【0052】
視覚コンテンツ204のレンダリングは、新しいロケーション606の緯度/経度に少なくとも部分的に基づくことが可能である。たとえば、新しいロケーション606の選択時に、新しいロケーション606に関連付けられたデータが、(たとえば、データベース110から)検索され、新しいロケーション606を表す視覚コンテンツ204を提示するためにレンダリングされることが可能である。これは、アニメーションの部分ごとに行われることが可能である。中間部分は、第2のインジケータ608によって示された経路に少なくとも部分的に基づくことが可能である。
【0053】
いくつかの実装形態では、ユーザは、アニメーションを一時的または永続的に停止するために、ユーザインタラクションを提供することができる。
図6Eを参照すると、ディスプレイエリア202に向けられたユーザ入力614(たとえば、クリック、タップ、ダブルクリック)は、(たとえば、
図6Eに示されるように)現在のビューにおいてアニメーションを一時的または永続的に停止することができる。いくつかの実装形態では、ウィジェット208は、追加のユーザ入力が提供されるまで隠されたままであることが可能である。追加および/または代替として、ユーザ入力614が、(たとえば、ビューがズームしきい値内で適切なズームレベルであるとき)典型的にはウィジェット208の表示を含むことになる現在のビューにおいてアニメーションを停止する場合、ウィジェット208が自動的に表示されることが可能である。
【0054】
図7は、本開示の例示的な実施形態によるユーザ選択可能オプションとともにウィジェット208を含む、ユーザインターフェース200を示す。ユーザ入力702は、カーソル504を介して提供されることが可能である。ユーザ入力702は、ウィジェット208および/またはディスプレイエリア202に向けられた選択インタラクションであることが可能である。ユーザ入力702(たとえば、ウィジェット208上のシングルクリック)は、1つまたは複数のユーザ選択可能オプション704A〜Cを表示させることができる。いくつかの実装形態では、ユーザ選択可能オプション704A〜Cは、カーソル504がウィジェット208上にスクロールされるときに表示されるが、カーソル504がウィジェット208から離れるようにスクロールされるときに消滅する。いくつかの実装形態では、第2のユーザ入力(たとえば、別のクリック、ダブルクリック)は、ユーザ選択可能オプション704A〜Cが表示のためにロックされることを引き起こすことができる。
【0055】
ユーザ選択可能オプション704A〜Cは、様々な機能のためにユーザによって選択されることが可能である。たとえば、第1のユーザ選択可能オプション704Aに向けられたユーザインタラクションは、1つまたは複数のズームレベルにおいて、3次元物体404の部分のアニメーション(たとえば、「上空飛行」アニメーション)を引き起こすことができる。いくつかの実装形態では、ズームレベルは固定されてもよいが、いくつかの実装形態では、アニメーションは、様々なズームレベルを含んでもよい。アニメーション中に、様々な関心ロケーションが、テキスト、アイコン、視覚インジケータ210などを介して、ユーザに示されることが可能である。追加および/または代替として、ウィジェット208および/または視覚インジケータ210は、ディスプレイエリア202において表示された視覚コンテンツ204において示されたロケーションに一致するようにアニメーション中に調整されることが可能である。第2のユーザ選択可能オプション704Bに向けられたユーザインタラクションは、(たとえば、
図4の場合のように)3次元物体404全体が示されるように視覚コンテンツ204をズームアウトさせることができる。第3のユーザ選択可能オプション704Cに向けられたユーザインタラクションは、新しいロケーションのランダム選択が、ディスプレイエリアにおいて表示された視覚コンテンツ204において示されることを引き起こすことができる。そのような実装形態では、ウィジェット208および/または視覚インジケータ210は、それに応じて調整されることが可能である。
【0056】
図8は、本開示の例示的な実施形態によるインタラクティブなジオコンテキストインターフェースの例示的な方法800のフローチャートを示す。方法800の1つまたは複数の部分は、たとえば
図1および
図10に示されたものなどのプロバイダシステム、ユーザデバイス、および/または1つもしくは複数のコンピューティングデバイスによって実装されることが可能である。
図8は、例示および説明の目的で、特定の順序で行われるステップを示す。本明細書で説明する方法のいずれかのステップが、本開示の範囲から逸脱することなく様々な方法で適合、再配置、拡大、省略、または変更されることが可能であることが、本明細書で提供する本開示を使用する当業者には理解されよう。
【0057】
(802)で、本方法は、表示のためにユーザインターフェースを提供することを含むことが可能である。たとえば、プロバイダシステム102のコンピューティングデバイス108は、ユーザデバイス104のディスプレイデバイス112上に表示するためにユーザインターフェース200を提供することができる。ユーザインターフェース200は、視覚コンテンツ204を提示するためのディスプレイエリア202を含むことができる。視覚コンテンツ204は、3次元物体404上の元のロケーション(たとえば、502)を表すことができる。3次元物体は、たとえば地球の表現であることが可能である。プロバイダシステム102のコンピューティングデバイス108は、ユーザデバイス104のコンピューティングデバイス114にユーザインターフェース200を示すデータを提供することができる。ユーザデバイス104のコンピューティングデバイス114は、ユーザインターフェース200を示すデータを受信することができる。(804)で、ユーザデバイス104のコンピューティングデバイス114は、ディスプレイデバイス112上に表示するために、ユーザインターフェース200を提示することができる。ユーザインターフェース200は、視覚コンテンツ204を提示するためのディスプレイエリア202を含むことができ、視覚コンテンツ204は、上記で説明したように3次元物体上の元のロケーションを表すことができる。
【0058】
(806)で、本方法は、表示のためにインタラクティブなウィジェットを提供することを含むことが可能である。たとえば、プロバイダシステム102のコンピューティングデバイス108は、ディスプレイデバイス112上に表示するために、インタラクティブなウィジェット208を提供することができる。コンピューティングデバイス108は、ユーザデバイス104のコンピューティングデバイス114に、ウィジェット208を示すデータを送信することができる。コンピューティングデバイス114は、(808)で、そのようなデータを受信し、ディスプレイデバイス112上に表示するために、インタラクティブなウィジェットを提示することができる。
【0059】
ウィジェット208は、3次元として表されることが可能であり、3次元物体404に対応する外観(たとえば、「小型の地球」、「小型の月」、「小型の火星」、「小型の構造」、「小型の部分」)を有することができる。ウィジェット208は、ユーザインターフェースディスプレイエリア202において表示された視覚コンテンツ204によって表された元のロケーション(たとえば、502)に対応するウィジェット208の部分が可視であるように配向されることが可能である。ウィジェット208は、回転軸209の周りを回転可能であることが可能である。ウィジェット208に対するインタラクションが現在受信されていないとき、回転軸209およびディスプレイエリア202の相対配向は、実質的に一定であることが可能である。追加および/または代替として、ウィジェット208は、本明細書で説明するように3次元物体404の表面に対する調整可能なズームレベルに少なくとも部分的に基づいて表示されることが可能である。
【0060】
ウィジェット208は、ディスプレイエリア202において表示された視覚コンテンツ204に関連付けられたジオコンテキストを提供するように構成される調整可能な視覚インジケータ210を含むことができる。たとえば、視覚インジケータ210は、ディスプレイエリア202において表示された視覚コンテンツ204によって表された元のロケーション(たとえば、502)をウィジェット208上で示すように構成されることが可能である。視覚インジケータ210は、ディスプレイエリア202において表示された視覚コンテンツ204に対応するウィジェット208の部分を描写する形状を有するポリゴン214を含むことができる。いくつかの実装形態では、視覚インジケータ210(たとえば、形状316を含む)は、3次元ウィジェット208の配向に対するユーザインターフェースディスプレイエリア202において表示された視覚コンテンツ204に関連付けられた配向を示すように構成されることが可能である。
【0061】
本明細書で説明するように視覚インジケータ210の外観は、視覚コンテンツ204に関連付けられたズームレベルに少なくとも部分的に基づくことが可能である。たとえば、視覚コンテンツ204は、3次元物体402の表面に対する調整可能なズームレベルに少なくとも部分的に基づいて表示されることが可能である。視覚インジケータ210は、ズームレベル250がズームしきい値252を上回るとき、第1の形態(たとえば、
図2Bに示される)において表示されることが可能である。追加および/または代替として、視覚インジケータ210は、ズームレベル250がズームしきい値252を下回るとき、第2の形態(たとえば、
図3に示される)において表示されることが可能である。いくつかの実装形態では、コンピューティングデバイス108、114は、本明細書で説明するようにズームレベル250が第2のズームしきい値を上回るとき、視覚インジケータ210を消滅させることができる。
【0062】
(810)で、本方法は、ユーザ入力を示すデータを受信することを含むことが可能である。たとえば、ユーザデバイス104のコンピューティングデバイス114は、ディスプレイエリア202および/またはウィジェット208のうちの少なくとも1つに向けられたユーザ入力(たとえば、506、604、614)を示すデータを受信することができる。いくつかの実装形態では、(812)で、コンピューティングデバイス114は、ユーザ入力を示すデータを送信することができ、(814)で、プロバイダシステム102のコンピューティングデバイス108は、ユーザ入力を示すデータを受信することができる。いくつかの実装形態では、(816)で、プロバイダシステム102のコンピューティングデバイス108は、ユーザ入力を示すデータに少なくとも部分的に基づいて、視覚コンテンツ204、ウィジェット208、および/または視覚インジケータ210のうちの少なくとも1つを調整することができる。プロバイダシステム102は、ユーザデバイス104のコンピューティングデバイス114に、そのような調整を示すデータを提供することができ、ユーザデバイス104のコンピューティングデバイス114は、(820)で、視覚コンテンツ204、ウィジェット208、および/または視覚インジケータ210を調整することができる。追加および/または代替として、コンピューティングデバイス114は、プロバイダシステム102にそのようなデータを送信しなくてもよく、かつ/または(たとえば、プロバイダシステム102から命令を受信することなしに)、ユーザ入力を示すデータに少なくとも部分的に基づいて、視覚コンテンツ204、ウィジェット208、および/もしくは視覚インジケータ210のうちの少なくとも1つを調整してもよい。
【0063】
いくつかの実装形態では、本明細書で説明するようにユーザ入力(たとえば、506)は、ユーザインターフェースディスプレイエリア202に向けられることが可能である。コンピューティングデバイス108および/または114は、ユーザインターフェースディスプレイエリア202に向けられたユーザ入力506に少なくとも部分的に基づいて、視覚インジケータ210を調整することができる。たとえば、視覚インジケータ210は、ディスプレイエリア202において表示された視覚コンテンツ204によって表された新しいロケーションおよび/または方位を、ウィジェット208上で示すためにウィジェット208上の位置および/または配向を変化させることが可能である。コンピューティングデバイス108および/または114はまた、かつ/または代替的に、ユーザインターフェースディスプレイエリア202に向けられたユーザ入力506に少なくとも部分的に基づいてウィジェット208を調整することができる。たとえば、ユーザ入力506は、新しいロケーション508に向けられたナビゲーションインタラクションであることが可能である。コンピューティングデバイス108および/または114は、新しいロケーション508に対応するウィジェット208の部分が可視であるようにウィジェット208を調整することができる。
【0064】
いくつかの実装形態では、ユーザ入力(たとえば、604)は、ウィジェット208に向けられることが可能である。たとえば、ユーザ入力604は、新しいロケーション606に向けられたナビゲーションインタラクションであることが可能である。本明細書で説明するように、ユーザ入力604の受信中にコンピューティングデバイス108および/または114は、ウィジェット208上に表示するために、元のロケーション602から新しいロケーション606まで伸びる第2のインジケータ608を提示することができる。いくつかの実装形態では、コンピューティングデバイス108および/または114は、ユーザ入力604の受信中に、視覚インジケータ210を消滅させることができる。その上、ディスプレイエリア202において提示された視覚コンテンツ204は、新しいロケーション606に対応するように調整されることが可能である。たとえば、コンピューティングデバイス108および/または114は、
図6A〜
図6Fを参照しながら説明したように元のロケーション602から新しいロケーション606までのナビゲーションを表す視覚コンテンツ204に関連付けられたアニメーションを提示することができる。追加および/または代替として、コンピューティングデバイス108および/または114は、ウィジェット208に向けられたユーザ入力に少なくとも部分的に基づいて、1つまたは複数のユーザ選択可能オプション704A〜Cを表示させることができる。
【0065】
図9は、本開示の例示的な実施形態による別の例示的な方法900のフローチャートを示す。方法900の1つまたは複数の部分は、たとえば
図1および
図10に示されたものなどのプロバイダシステム、ユーザデバイス、および/または1つもしくは複数のコンピューティングデバイスによって実装されることが可能である。
図9は、例示および説明の目的で、特定の順序で行われるステップを示す。本明細書で説明する方法のいずれかのステップが、本開示の範囲から逸脱することなく様々な方法で適合、再配置、拡大、省略、または変更されることが可能であることが、本明細書で提供する本開示を使用する当業者には理解されよう。その上、方法800のステップのいずれも方法900において実装されることが可能であり、かつ/または方法900のステップのいずれも方法800において実装されることが可能である。
【0066】
(902)で、方法900は、それにおいて3次元物体404上の元のロケーションまたは領域を表す視覚コンテンツ204が表示されるユーザインターフェースディスプレイエリア202を表示させることを含むことが可能である。たとえば、
図2Aに示されるように視覚コンテンツ204は、アフリカ大陸におけるロケーションまたは領域(たとえば、206)を示すことができる。
【0067】
(904)で、方法900は、3次元物体404の形状に対応する形状を有するインタラクティブな3次元ウィジェット208を表示させることを含むことが可能である。ウィジェット208は、3次元物体の曲率および/または輪郭にマッチするために形状を含むことができる。たとえば、3次元物体404が惑星である場合、ウィジェット208は、惑星の球状の曲率を表すために円形形状を含むことができる。いくつかの実装形態では、インタラクティブな3次元ウィジェット208は、本明細書で説明するようにユーザインターフェースディスプレイエリア202において表示された視覚コンテンツ204によって表されたロケーションまたは領域に対応するウィジェット208の部分が可視であるように配向されることが可能である。
【0068】
方法900は、(906)で、インタラクティブな3次元ウィジェット208上で視覚インジケータ210を提供させることを含むことが可能である。視覚インジケータ210は、ユーザインターフェースディスプレイエリア202において表示された視覚コンテンツ204によって表されたロケーションまたは領域をウィジェット208上で示すように構成されることが可能である。たとえば、視覚インジケータ210は、(たとえば、
図2Aに示されるように)ユーザインターフェースディスプレイエリア202において表示された視覚コンテンツ204に対応する3次元ウィジェット208の表面の部分を描写する形状を有するポリゴン214を含むことができる。
【0069】
いくつかの実装形態では、ポリゴン214の形状は、仮想カメラ212の位置と、視覚コンテンツ204のピクセルとに少なくとも部分的に基づくことが可能である。たとえば、ユーザインターフェースディスプレイエリア202において表示された視覚コンテンツ204は、仮想カメラ212と3次元物体との間の仮想距離216に依存することが可能である。ポリゴン214の形状は、ユーザインターフェースディスプレイエリア202において表示された視覚コンテンツ204のコーナーピクセル218の各々について、コーナーピクセル218と、仮想カメラ212の投影の中心222から伸びる光線との間の交点を決定すること、およびユーザインターフェースディスプレイエリア202において表示された視覚コンテンツ204のエッジ220の各々における少なくとも1つのピクセルについて、エッジピクセルと、仮想カメラ212の投影の中心222から伸びる光線との間の交点を決定することによって計算されることが可能である。ポリゴン214の形状は、決定された交点によって定義されることが可能である。
【0070】
本明細書で説明するように視覚インジケータ210の表示は、仮想距離216に少なくとも部分的に基づくことが可能である。たとえば、ユーザインターフェースディスプレイエリア202において表示された視覚コンテンツ204は、仮想カメラ212と3次元物体との間の仮想距離216に依存することが可能である。仮想距離216がしきい値(たとえば、ズームしきい値252と同様の仮想距離しきい値)を上回る場合、本方法は、ユーザインターフェースディスプレイエリア202において表示された視覚コンテンツ204によって表されたロケーションまたは領域に対応する3次元ウィジェット208上のエリアを描写するように構成される第1の形態(たとえば、214、四辺形)において、インジケータ210を提供することを含むことが可能である。仮想距離216がしきい値を下回る場合、本方法は、ユーザインターフェースディスプレイエリア202において表示された視覚コンテンツ204によって表されたロケーションまたは領域に対応するウィジェット208上のロケーションを示すように構成される第2の異なる形態(たとえば、314、十字線、ドロップレット)において、インジケータ210を提供することを含むことが可能である。
【0071】
(908)で、方法900は、インタラクティブな3次元ウィジェット208に対するインタラクションを受信することを含むことが可能である。たとえば、インタラクティブな3次元ウィジェット208に対する受信されたインタラクション(たとえば、604)は、ナビゲーションインタラクションを含むことが可能である。いくつかの実装形態では、ナビゲーションインタラクションの受信中に、本方法は、元のロケーションまたは領域(たとえば、602)から新しいロケーションまたは領域(たとえば、606)までの経路(たとえば、インジケータ608)を3次元ウィジェット208上に表示させることを含むことが可能である。
【0072】
(910)で、方法900は、受信されたインタラクションに少なくとも部分的に基づいて、視覚コンテンツ204および/またはウィジェット208を適合させることを含むことが可能である。たとえば、方法900は、新しいロケーションまたは領域(たとえば、606)に対応するウィジェット208の部分がディスプレイ上で可視であるようにインタラクティブな3次元ウィジェット208の回転させることによって、ナビゲーションインタラクションの受信に応答することを含むことが可能である。追加および/または代替として、方法900は、インタラクティブな3次元ウィジェット208に対するインタラクションの受信に、受信されたインタラクションに基づいて、ユーザインターフェースディスプレイエリア202において表示された視覚コンテンツ204を適合させることによって応答することを含むことが可能である。ユーザインターフェースディスプレイエリア202において表示された視覚コンテンツ204を適合させることは、(たとえば、
図6Fに示されるように)ナビゲーションインタラクションに基づいて、3次元物体上の新しいロケーションまたは領域(たとえば、606)を表す視覚コンテンツ204を表示させることを含むことが可能である。
【0073】
いくつかの実装形態では、ユーザインターフェースディスプレイエリア202において表示された視覚コンテンツ204を適合させることは、元のロケーションまたは領域(たとえば、602)を表す視覚コンテンツから新しいロケーションまたは領域(たとえば、606)を表す視覚コンテンツまでのナビゲーションを表す、アニメーションを表示させることを含むことが可能である。本明細書で説明するようにアニメーションは、(たとえば、
図6Cに示されるように)物体の全体がユーザインターフェースディスプレイエリア202において可視になるまで、元のロケーションまたは領域を表す視覚コンテンツ204からズームアウトすること、(たとえば、
図6C〜
図6Dに示されるように)3次元物体402を回転させること、および(たとえば、
図6Fに示されるように)新しいロケーションまたは領域を表す視覚コンテンツにズームインすることを含むことが可能である。方法900は、アニメーションの表示中に、たとえば
図6Eに示されるようにアニメーションを現在のビューにおいて停止することによって、ユーザインターフェースディスプレイエリア202についてのインタラクション(たとえば、614)の受信に応答することを含むことが可能である。
【0074】
(912)で、方法900は、ユーザインターフェースディスプレイエリア202に対するインタラクション(たとえば、506)を受信することを含むことが可能である。(914)で、本方法は、ユーザインターフェースディスプレイエリア202に対するインタラクション(たとえば、506)の受信に、そのインタラクションに基づいて視覚インジケータ210またはウィジェット208を調整することによって応答することを含むことが可能である。たとえば、視覚インジケータ210および/またはウィジェット208は、
図5A〜
図5Bに関して上記で説明したように調整されることが可能である。
【0075】
(916)において、方法900は、ウィジェットを消滅および/または再現させることを含むことが可能である。たとえば、方法900は、3次元物体404のロケーションまたは領域を表す視覚コンテンツ204が、ユーザインターフェースディスプレイエリア202全体をもはや満たさないと判定することを含むことが可能である。これは、たとえば(たとえば、ビュー錐台のコーナーにおける)コーナーピクセル218からの光線のうちの1つが、3次元物体(たとえば、地球)を関係させないときに生じることが可能であり、それは、3次元物体404がディスプレイエリア全体を含んでいないことを示すことが可能である。したがって、方法900は、インタラクティブな3次元ウィジェット208を消滅させることによって、3次元物体404のロケーションまたは領域を表す視覚コンテンツ204がユーザインターフェースディスプレイエリア202全体をもはや満たさないとの判定に応答することを含むことが可能である。いくつかの実装形態では、インタラクティブな3次元ウィジェット208を消滅させることに続いて、方法900は、インタラクティブな3次元ウィジェット208を再現させることによって、3次元物体404のロケーションまたは領域を表す視覚コンテンツ204がユーザインターフェースディスプレイエリア202全体を満たすとの判定に応答することを含むことが可能である。
【0076】
(918)および(920)で、方法900は、選択インタラクション(たとえば、702)を受信すること、およびユーザ選択可能オプション704A〜Cを表示させることを含むことが可能である。たとえば、本明細書で説明するように(たとえば、ユーザ入力702に関連付けられた)選択インタラクションが、ウィジェット208に対して提供されることが可能である。方法900は、1つまたは複数のユーザ選択可能オプション704A〜Cを表示させることによって、インタラクティブな3次元ウィジェット208についての選択インタラクションの受信に応答することを含むことが可能である。
【0077】
図10は、本開示の例示的な実施形態による例示的なシステム1000を示す。システム1000は、ネットワーク106を介して1つまたは複数のユーザデバイス104と通信するプロバイダコンピューティングシステム102を含む、クライアントサーバアーキテクチャを使用して実装されることが可能である。システム1000は、単一のコンピューティングデバイスなどの他の好適なアーキテクチャを使用して実装されることが可能である。
【0078】
プロバイダシステム102は、たとえばウェブサーバおよび/またはクラウドベースのサーバシステムを含むことができる。プロバイダシステム102は、任意の好適なコンピューティングデバイス108を使用して実装されることが可能である。コンピューティングデバイス108は、1つまたは複数のプロセッサ1082と、1つまたは複数のメモリデバイス1084とを含むことができる。1つまたは複数のプロセッサ1082は、マイクロプロセッサ、マイクロコントローラ、集積回路、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、論理デバイス、1つまたは複数の中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、他の特殊な計算を行う処理ユニットなどの任意の好適な処理デバイスを含むことができる。
【0079】
1つまたは複数のメモリデバイス1084は、限定はしないが、非一時的コンピュータ可読媒体、RAM、ROM、ハードドライブ、フラッシュドライブ、または他のメモリデバイスを含む、1つまたは複数のコンピュータ可読媒体を含むことができる。1つまたは複数のメモリデバイス1084は、1つまたは複数のプロセッサ1082によって実行されることが可能であるコンピュータ可読命令1086を含む、1つまたは複数のプロセッサ1082によってアクセス可能な情報を記憶することができる。命令1086は、1つまたは複数のプロセッサ1082によって実行されると、1つまたは複数のプロセッサ1082に動作を行わせる任意の命令のセットであることが可能である。いくつかの実施形態では、命令1086は、そのためにプロバイダシステム102および/またはコンピューティングデバイス108が構成される動作および機能のうちのいずれか、インタラクティブなジオコンテキストインターフェースを提供するための動作(たとえば、方法800、900)、ならびに/あるいは本明細書で説明するようにユーザインターフェースおよびウィジェットを提供し、ユーザ入力を受信し、視覚コンテンツ、ウィジェット、および/または視覚インジケータを調整するための任意の他の動作または機能などの動作を1つまたは複数のプロセッサ1082に行わせるために、1つまたは複数のプロセッサ1082によって実行されることが可能である。命令1086は、任意の好適なプログラミング言語において書かれたソフトウェアであることが可能であり、またはハードウェアにおいて実装されることが可能である。追加および/または代替として、命令1086は、プロセッサ1082上で論理的および/または仮想的に別個のスレッドにおいて実行されることが可能である。
【0080】
図10に示されるように1つまたは複数のメモリデバイス1084はまた、1つまたは複数のプロセッサ1082によって検索、操作、作成、または記憶されることが可能であるデータ1088を記憶することができる。データ1088は、たとえばユーザインターフェースに関連付けられたデータ、ウィジェット208、ユーザ入力、マッピングデータ、および/または他のデータもしくは情報を含むことができる。たとえば、データ1088は、マップ関連情報を含むことができ、その少なくとも一部分がユーザデバイスに伝送されてもよい。たとえば、データ1088は、各タイルが特定の地理的エリア/ロケーションのマップ画像である、マップタイルを含むことができる。解像度(たとえば、マップがズームインされるか、ズームアウトされるか)に応じて、あるタイルは、詳細が比較的わずかな状態などの領域全体をカバーしてもよい。別のタイルは、わずかな数の要素(たとえば、ストリート)のみを高度に詳細にカバーしてもよい。マップ情報は、いかなる特定のフォーマットにも限定されない。たとえば、画像は、ストリートマップ、衛星画像、またはこれらの組合せを備えてもよく、(特にストリートマップに関して)ベクトル、または(特に衛星画像に関して)ビットマップとして記憶されてもよい。様々なマップタイルは、コンピューティングデバイス108が、ユーザ入力および/またはロケーションの受信に応答して、1つまたは複数のタイルを選択、検索、および伝送することが可能であるように地理的ロケーションに各々関連付けられることが可能である。
【0081】
データ1088は、1つまたは複数のデータベース(たとえば、データベース110)において記憶されることが可能である。1つまたは複数のデータベースは、高帯域幅LANもしくはWANによってコンピューティングデバイス108に接続されることが可能であり、またはネットワーク106を通してコンピューティングデバイス108に接続されることも可能である。1つまたは複数のデータベースは、複数のロケールに位置するように分割されることが可能である。
【0082】
コンピューティングデバイス108はまた、ネットワーク106を介してシステム1000の1つまたは複数の他の構成要素(たとえば、ユーザデバイス104)と通信するために使用されるネットワークインターフェース1089を含むことができる。ネットワークインターフェース1089は、たとえばトランスミッタ、レシーバ、ポート、コントローラ、アンテナ、または他の好適な構成要素を含む1つまたは複数のネットワークとインターフェースするための任意の好適な構成要素を含むことができる。
【0083】
コンピューティングデバイス108は、ネットワーク106を介して、1つまたは複数のユーザデバイス104とデータを交換することができる。1つのユーザデバイス104が
図10(および本明細書に)示されるが、任意の数のユーザデバイス104が、ネットワーク106を介してコンピューティングデバイス108に接続されることが可能である。ユーザデバイス104の各々は、汎用コンピュータ、専用コンピュータ、ラップトップ、デスクトップ、モバイルデバイス、ナビゲーションシステム、スマートフォン、タブレット、ウェアラブルコンピューティングデバイス、1つまたは複数のプロセッサを有するディスプレイ、あるいは本明細書で説明するような他の好適なコンピューティングデバイスなどの任意の好適なタイプのコンピューティングデバイスであることが可能である。
【0084】
ユーザデバイス104は、1つまたは複数のコンピューティングデバイス114を含むことができる。1つまたは複数のコンピューティングデバイス114は、1つまたは複数のプロセッサ1142と、メモリ1144とを含むことができる。1つまたは複数のプロセッサ1142は、マイクロプロセッサ、マイクロコントローラ、集積回路、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、論理デバイス、1つまたは複数の中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)(たとえば、画像の効率的なレンダリング専用)、他の特殊な計算を行う処理ユニットなどの任意の好適な処理デバイスを含むことができる。
【0085】
メモリデバイス1144は、1つまたは複数のコンピュータ可読媒体を含むことができ、1つまたは複数のプロセッサ1142によって実行されることが可能である命令1146と、データ1148とを含む1つまたは複数のプロセッサ1142によってアクセス可能な情報を記憶することができる。たとえば、メモリ1144は、本開示の例示的な態様によるユーザインターフェースおよびウィジェットを表示するためのユーザインターフェースモジュールを実装するための命令1146を記憶することができる。いくつかの実施形態では、命令1146は、そのためにユーザデバイス104および/またはコンピューティングデバイス114が構成される動作および機能のうちのいずれか、インタラクティブなジオコンテキストインターフェースを提供するための動作(たとえば、方法800、900)、ならびに/あるいは本明細書で説明するようにユーザインターフェースおよびウィジェットを提供し、ユーザ入力を受信し、視覚コンテンツ、ウィジェット、および/または視覚インジケータを調整するための任意の他の動作または機能などの動作を1つまたは複数のプロセッサ1142に行わせるために、1つまたは複数のプロセッサ1142によって実行されることが可能である。命令1146は、任意の好適なプログラミング言語において書かれたソフトウェアであることが可能であり、またはハードウェアにおいて実装されることが可能である。追加および/または代替として、命令1146は、プロセッサ1142上で論理的および/または仮想的に別個のスレッドにおいて実行されることが可能である。
【0086】
データ1148は、1つまたは複数のプロセッサ1142によって検索、操作、作成、または記憶されることが可能である。データ1148は、たとえばユーザインターフェースに関連付けられたデータ、ウィジェット208、ユーザ入力、マッピングデータ、および/または他の情報を含むことができる。いくつかの実装形態では、データ1148は、別のデバイス(たとえば、コンピューティングデバイス108)から受信されることが可能である。
【0087】
ユーザデバイス104は、ユーザからの情報を提供および受信するための様々な入出力デバイス1150を含むことができる。入力デバイスは、たとえばマウス、トラックボール、タッチスクリーン、タッチパッド、データ入力キー、音声認識のために好適なマイクロフォン、および/または任意の他の好適な入力デバイスを含むことができる。入出力デバイス1150は、本開示の例示的な態様によるユーザインターフェースおよびウィジェットを提示するためのディスプレイデバイス112を含むことができる。ディスプレイデバイス112は、たとえばCRT、LCD、プラズマスクリーン、タッチスクリーン、TV、プロジェクタ、および/または任意の他の好適なディスプレイデバイスを含むことができる。
【0088】
ユーザデバイス104はまた、ネットワーク106を介してシステム1000の1つまたは複数の他の構成要素(たとえば、プロバイダシステム102)と通信するために使用されるネットワークインターフェース1152を含むこともできる。ネットワークインターフェース1152は、たとえばトランスミッタ、レシーバ、ポート、コントローラ、アンテナ、または他の好適な構成要素を含む、1つまたは複数のネットワークとインターフェースするための任意の好適な構成要素を含むことができる。
【0089】
ネットワーク106は、ローカルエリアネットワーク(たとえば、イントラネット)、ワイドエリアネットワーク(たとえば、インターネット)、セルラーネットワーク、またはその何らかの組合せなどの任意のタイプの通信ネットワークであることが可能である。ネットワーク106はまた、ユーザデバイス104とプロバイダシステム102との間の直接接続を含むことができる。一般に、プロバイダシステム102とユーザデバイス104との間の通信は、様々な通信プロトコル(たとえば、TCP/IP、HTTP、SMTP、FTP)、符号化もしくはフォーマット(たとえば、HTML、XML)、および/または保護方式(たとえば、VPN、セキュアHTTP、SSL)を使用して任意のタイプのワイヤードおよび/またはワイヤレス接続を使用してネットワークインターフェースを介して搬送されることが可能である。
【0090】
本明細書で説明する技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステム、ならびにとられたアクション、およびそのようなシステムとの間で送信された情報に言及する。コンピュータベースのシステムの固有の柔軟性が、幅広い種類の可能な構成、組合せ、ならびに構成要素の間のタスクおよび機能の分割を可能にすることが、当業者には認識されよう。たとえば、本明細書で説明するサーバプロセスは、単一のサーバ、または組合せにおいて働く複数のサーバを使用して実装されることが可能である。データベースおよびアプリケーションは、単一のシステム上で実装されるか、または複数のシステムにわたって分散されることが可能である。分散された構成要素は、順次または並列に動作することができる。
【0091】
さらに、サーバにおいて行われるとして本明細書で説明するコンピューティングタスクは、代わりにユーザデバイスにおいて行われることが可能である。同様に、ユーザデバイスにおいて行われるとして本明細書で説明するコンピューティングタスクは、代わりにサーバにおいて行われることが可能である。
【0092】
本主題を、具体例の実施形態およびその方法に関して詳細に説明したが、当業者は、上記の理解を得ると、そのような実施形態の変更、その変形、および均等物を容易に作り出すことができることが諒解されよう。したがって、本開示の範囲は、限定ではなく例としてのものであり、本開示は、当業者に容易に明らかになるように本主題に対するそのような変更、変形および/または追加の包含を排除しない。