(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-07-18
(45)【発行日】2025-07-29
(54)【発明の名称】電子デバイスの現在位置を表示及び改善するためのユーザインタフェース
(51)【国際特許分類】
G06F 3/0484 20220101AFI20250722BHJP
G06F 3/0488 20220101ALI20250722BHJP
【FI】
G06F3/0484
G06F3/0488
(21)【出願番号】P 2022570397
(86)(22)【出願日】2021-05-18
(86)【国際出願番号】 US2021033022
(87)【国際公開番号】W WO2021236684
(87)【国際公開日】2021-11-25
【審査請求日】2022-12-15
【審判番号】
【審判請求日】2024-11-25
(32)【優先日】2020-05-18
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-06-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
【氏名又は名称原語表記】Apple Inc.
【住所又は居所原語表記】One Apple Park Way,Cupertino, California 95014, U.S.A.
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】オズム, ヴェッラ イシル
(72)【発明者】
【氏名】アンドリッチ, ブライアン ジェイ.
(72)【発明者】
【氏名】アピュイ, ライアン ウォン-メン
(72)【発明者】
【氏名】ハッジ, ウサマ エム.
(72)【発明者】
【氏名】ソダーバル, エリック ジー.
(72)【発明者】
【氏名】フィゲロア, オリエ レネ
(72)【発明者】
【氏名】リ, リンハオ
(72)【発明者】
【氏名】ジョンソン, マーティン イー.
(72)【発明者】
【氏名】ミヤヒラ, アマンダ ワイ.
(72)【発明者】
【氏名】スクラクマン, エリック ディー.
【合議体】
【審判長】山澤 宏
【審判官】篠塚 隆
【審判官】野崎 大進
(56)【参考文献】
【文献】[今さら聞けない]Googleマップの使い方、基本編!操作方法から便利機能まで紹介![アプリ解説], 2020年02月26日, 発行日, [online], [2024年1月19日検索], インターネット <URL:https://www.youtube.com/watch?v=qRkMW2f-Q78>
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/048
(57)【特許請求の範囲】
【請求項1】
方法であって、
表示生成構成要素と通信する電子デバイスで、
前記表示生成構成要素を介して、地図ユーザインタフェースを表示することであって、前記地図ユーザインタフェースが、
個別のズームレベルでの地図の表現と、
前記地図の前記表現上に前記電子デバイスの割り出された位置を示す位置インジケータと、を含み、
前記電子デバイスの前記割り出された位置の精度が
、前記個別のズームレベルの個別の閾値レベル未満であるという判定に従って、前記位置インジケータが、第1の位置要素を含みかつ第2の位置要素を含まず、
前記電子デバイスの前記割り出された位置の前記精度が
、前記個別のズームレベルの前記個別の閾値レベルを超えているという判定に従って、前記位置インジケータが、前記第2の位置要素を含みかつ前記第1の位置要素を含まず、
前記個別のズームレベルが第1のズームレベルであるという判定に従って、前記個別の閾値レベルが第1の閾値レベルであり、
前記個別のズームレベルが前記第1のズームレベルよりもズームインされた第2のズームレベルであるという判定に従って、前記個別の閾値レベルが、前記第1の閾値レベル
よりも大きい第2の閾値レベルである、
ことを含む、
方法。
【請求項2】
前記第1の位置要素が所定のサイズよりも大きい表示領域を占有しているという判定に従って、前記第1の位置要素を表示することを中止すること、
を更に含む、請求項1に記載の方法。
【請求項3】
前記第1の位置要素を表示している間に、1つ以上の入力デバイスを介して、前記地図の前記表現のズームレベルを
前記第1のズームレベルに減少させる要求に対応するユーザ入力を受け取ることと、
前記ユーザ入力を受けたことに応じて、
前記地図の前記表現の前記ズームレベルを前記第1のズームレベルに減少させることと、
前記電子デバイスの前記割り出された位置の前記精度が前記第1のズームレベルの個別の閾値レベルを超えているという判定に従って、前記第2の位置要素を含みかつ前記第1の位置要素を含まないように前記位置インジケータを更新することと、
を更に含む、請求項1に記載の方法。
【請求項4】
前記第1の位置要素を表示している間に、1つ以上の入力デバイスを介して、前記地図の前記表現のズームレベルを
前記第
2のズームレベルまで増加させる要求に対応するユーザ入力を受け取ることと、
前記ユーザ入力を受けたことに応じて、
前記地図の前記表現の前記ズームレベルを前記第
2のズームレベルまで増加させることと、
前記電子デバイスの前記割り出された位置の前記精度が前記第
2のズームレベルの個別の閾値レベル未満であるという判定に従って、前記第1の位置要素の表示を維持しながら、前記電子デバイスの前記割り出された位置の前記精度に従って、前記表示生成構成要素上の前記第1の位置要素の表示領域のサイズを更新することと、
を更に含む、請求項1に記載の方法。
【請求項5】
前記第2の位置要素を表示している間に、1つ以上の入力デバイスを介して、前記地図の前記表現のズームレベルを
前記第
2のズームレベルまで増加させる要求に対応するユーザ入力を受け取ることと、
前記ユーザ入力を受け取ることに応答して、前記地図の前記表現の前記ズームレベルを前記第
2のズームレベルまで増加させることと、
前記電子デバイスの前記割り出された位置の前記精度が前記第
2のズームレベルの個別の閾値レベル未満であるという判定に従って、前記第1の位置要素を含みかつ前記第2の位置要素を含まないように前記位置インジケータを更新することと、
を更に含む、請求項1に記載の方法。
【請求項6】
前記個別のズームレベルの前記地図の前記表現と前記第1の位置要素とを表示している間に、前記電子デバイスの前記割り出された位置の前記精度が前記個別のズームレベルの前記個別の閾値レベルを超えて増加したと判定することと、
前記電子デバイスの前記割り出された位置の前記精度が前記個別のズームレベルの前記個別の閾値レベルを超えて増加したという判定に応答して、前記第2の位置要素を含みかつ前記第1の位置要素を含まないように前記位置インジケータを更新することと、
を更に含む、請求項1に記載の方法。
【請求項7】
前記電子デバイスの割り出された向きが有効であるという判定に従って、前記位置インジケータが向きインジケータを含む、
請求項1に記載の方法。
【請求項8】
前記向きインジケータを含む前記位置インジケータを表示している間に、1つ以上の入力デバイスを介して、前記地図の前記表現のズームレベルを
前記第1のズームレベルに変更する要求に対応するユーザ入力を受け取ることと、
前記ユーザ入力を受けたことに応じて、
前記地図の前記表現の前記ズームレベルを前記第1のズームレベルに変更することと、
前記位置インジケータが前記第1の位置要素を含みかつ前記第2の位置要素を含まないという判定に従って、前記地図の前記表現の前記ズームレベルの変更に基づいて前記向きインジケータのサイズを変化させることと、
前記位置インジケータが前記第2の位置要素を含みかつ前記第1の位置要素を含まないという判定に従って、前記地図の前記表現の前記ズームレベルの変更に基づいて、前記向きインジケータの前記サイズを変化させることを実施しないことと、
を更に含む、請求項
7に記載の方法。
【請求項9】
前記向きインジケータを表示している間に、
前記位置インジケータが前記第1の位置要素を含みかつ前記第2の位置要素を含まないという判定に従って、前記向きインジケータが第1の形状の第1の部分であり、
前記位置インジケータが前記第2の位置要素を含みかつ前記第1の位置要素を含まないという判定に従って、前記向きインジケータが、前記第1の形状の前記第1の部分とは異なる、前記第1の形状の第2の部分である、
請求項
7に記載の方法。
【請求項10】
前記位置インジケータを表示している間に、1つ以上の入力デバイスを介して、前記地図の前記表現のズームレベルを
前記第1のズームレベルに変更する要求に対応するユーザ入力を受け取ることと、
前記ユーザ入力を受けたことに応じて、
前記地図の前記表現の前記ズームレベルを前記第1のズームレベルに変更することと、
前記位置インジケータが前記第1の位置要素を含みかつ前記第2の位置要素を含まないという判定に従って、前記地図の前記表現の前記変化するズームレベルに基づいて、前記第1の位置要素のサイズを変更することと、
前記位置インジケータが前記第2の位置要素を含みかつ前記第1の位置要素を含まないという判定に従って、前記地図の前記表現の前記ズームレベルの変更に基づいて、前記第2の位置要素の前記サイズを変更することを実施しないことと、
を更に含む、請求項1に記載の方法。
【請求項11】
前記位置インジケータで、前記電子デバイスのユーザの表現を表示することを更に含み、
前記電子デバイスの前記割り出された位置の前記精度が前記個別のズームレベルの前記個別の閾値レベルを超えているとの前記判定に従って、前記電子デバイスの前記ユーザの前記表現が、前記電子デバイスの前記ユーザの前記表現を前記地図の前記表現に結び付ける個別のユーザインタフェース要素と共に表示され、
前記電子デバイスの前記割り出された位置の前記精度が前記個別のズームレベルの前記個別の閾値レベル未満であるという前記判定に従って、前記電子デバイスの前記ユーザの前記表現が、前記個別のユーザインタフェース要素なしで表示される、
請求項1に記載の方法。
【請求項12】
前記第1の位置要素を表示している間に、
前記第1の位置要素が第1の表示領域を占有しているという判定に従って、前記第1の位置要素が第1のオパシティ値を有し、
前記第1の位置要素が前記第1の表示領域とは異なるサイズを有する第2の表示領域を占有するという判定に従って、前記第1の位置要素が、前記第1のオパシティ値とは異なる第2のオパシティ値を有する、請求項1に記載の方法。
【請求項13】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、を備え、前記1つ以上のプログラムが、前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成されており、前記1つ以上のプログラムが、請求項1から
12のいずれか一項に記載の方法のいずれか1つを実行するための命令を含む、電子デバイス。
【請求項14】
1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項1から
12のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2020年5月18日に出願された米国仮特許出願第62/843976号、2019年6月10日に出願された米国仮特許出願第63/026275号、及び2020年6月21日に出願された米国仮特許出願第63/041984号の利益を主張し、その内容は、あらゆる目的のためにその全体が参照により本明細書に組み込まれる。
【0002】
[技術分野]
本出願は、一般に、ユーザが電子デバイスの現在位置を表示及び/又は改善できるようにするユーザインタフェースに関する。
【背景技術】
【0003】
近年、電子デバイスとのユーザ対話は、著しく増加している。これらのデバイスは、コンピュータ、タブレットコンピュータ、テレビ、マルチメディアデバイス、モバイルデバイスなどのデバイスであり得る。
【0004】
いくつかの状況では、そのようなデバイスは、地図ユーザインタフェースを表示する。いくつかの状況では、地図ユーザインタフェースは、デバイスの現在位置のインジケーション(indication)を表示する。
【発明の概要】
【0005】
本開示で説明されるいくつかの実施形態は、電子デバイスの現在位置のインジケーションを表示することに関する。本開示で説明されるいくつかの実施形態は、電子デバイスの割り出された位置の精度を改善することに関する。
【0006】
本開示に記載の実施形態は、デバイスの現在位置を表示及び改善するためにユーザができることを強化する。デバイスの現在位置を表示及び改善するためにユーザができることを改善することにより、ユーザとデバイスとの対話が強化される。デバイスとのユーザの対話を強化することは、デバイスとのユーザエクスペリエンスを向上し、入力デバイスがバッテリで動作する場合に特に重要である、ユーザ対話の時間を低減する。
【0007】
個人特定可能な情報の使用は、ユーザのプライバシーを維持するための業界又は政府の要件を満たす又は超えるとして一般に認識されているプライバシーポリシー及びプラクティスに従うべきであることに十分に理解されたい。特に、個人特定可能な情報データは、意図されない又は許可されていないアクセス又は使用のリスクを最小限に抑えるように管理及び取り扱いされるべきであり、許可された使用の性質はユーザに明確に示されるべきである。
【0008】
これらの実施形態の全説明は、「発明を実施するための形態」に記載され、上述の「発明の概要」は何ら本開示の範囲を限定しないことを理解されたい。
【図面の簡単な説明】
【0009】
説明される様々な実施形態のより良好な理解のために、以下の図面と併せて、以下の「発明を実施するための形態」を参照されたく、類似の参照番号は、それらの図の全体を通して対応する部分を指す。
【0010】
【
図1A】本開示のいくつかの実施形態に係る、タッチ感知ディスプレイを備えた多機能デバイスを示すブロック図である。
【0011】
【
図1B】本開示のいくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。
【0012】
【
図2】本開示のいくつかの実施形態に係る、タッチスクリーンを有する多機能デバイスを示す。
【0013】
【
図3】本開示のいくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備える例示的な多機能デバイスのブロック図である。
【0014】
【
図4】本開示のいくつかの実施形態に係る、ディスプレイとは別体のタッチ感知面を備える多機能デバイスのための例示的なユーザインタフェースを示す図である。
【0015】
【
図5A】本開示のいくつかの実施形態に係る、デバイスに関する例示的な構造のブロック図を示す。
【
図5B】本開示のいくつかの実施形態に係る、デバイスに関する例示的な構造のブロック図を示す。
【0016】
【
図6A】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6B】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6C】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6D】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6E】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6F】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6G】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6H】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6I】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6J】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6K】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6L】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6M】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6N】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6O】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6P】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6Q】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6R】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6S】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【
図6T】本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。
【0017】
【
図7】本開示のいくつかの実施形態に係る、電子デバイスの現在位置を示す方法を説明するフロー図である。
【0018】
【
図8A】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8B】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8C】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8D】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8E】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8F】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8G】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8H】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8I】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8J】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8K】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8L】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8M】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8N】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8O】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8P】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8Q】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8R】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【
図8S】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。
【0019】
【
図9】本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる方法を示すフロー図である。
【発明を実施するための形態】
【0020】
以下の実施形態の説明では、任意に実施される特定の実施形態が例として示されている、実施形態の一部分を構成する添付図面を参照する。開示された実施形態の範囲から逸脱することなく、他の実施形態を任意に使用することができ、構造上の変更を任意に実施することができることを理解されたい。また、以下の説明では、様々な要素を説明するために「第1」、「第2」などの用語が使用されるが、これらの要素はこれらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、記載する様々な実施形態の範囲から逸脱することなく、第1のタッチを第2のタッチと呼ぶこともでき、同様に第2のタッチを第1のタッチと呼ぶこともできる。第1のタッチ及び第2のタッチはどちらもタッチであるが、これらは同じタッチではない。
【0021】
本明細書に記載する様々な実施形態の説明で使用される術語は、特定の実施形態を説明することのみを目的とし、限定的であることは意図されていない。記載する様々な実施形態の説明及び添付の特許請求の範囲では、単数形の「a」、「an」、及び「the」は、文脈上別途明示しない限り、複数形も同様に含むことが意図される。また、本明細書で使用される時、用語「及び/又は」は、関連する列挙された項目のうちの1つ以上のいずれか及び全ての考えられる組み合わせを指し、かつこれを含むことを理解されたい。用語「includes(含む)、「including(含む)」、「comprises(含む)(備える)」及び/又は「comprising(含む)(備える)」は、本明細書で使用される時、述べられた機能、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の機能、整数、ステップ、動作、要素、構成要素、及び/又はそれらの群の存在又は追加を除外しないことが更に理解されるであろう。
【0022】
「~の場合(if)」という用語は、任意選択的に、文脈に応じて、「~とき(when)」若しくは「~とき(upon)」、又は「~と判定したことに応じて(in response to determining)」若しくは「~を検出したことに応じて(in response to detecting)」を意味すると解釈される。同様に、「~と判定された場合(if it is determined)」又は「[記載の状態又はイベント]が検出された場合(if [a stated condition or event] is detected)」という語句は、任意選択的に、文脈に応じて、「~と判定すると(upon determining)」若しくは「~と判定したことに応じて(in response to determining)」、又は「[記載の状態又はイベント]を検出した時(upon detecting [the stated condition or event])」若しくは「[記載の状態又はイベント]を検出したことに応じて(in response to detecting [the stated condition or event])」を意味すると解釈される。
例示的なデバイス
【0023】
電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用する関連するプロセスの実施形態が説明される。いくつかの実施形態では、デバイスは、PDA機能及び/又は音楽プレーヤ機能などの他の機能も含む、携帯電話などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)のデバイスが挙げられるが、これらに限定されない。タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたラップトップ又はタブレットコンピュータなどの他のポータブル電子デバイスも任意選択的に、使用される。また、いくつかの実施形態では、このデバイスはポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたデスクトップコンピュータ又はテレビであることを理解されたい。いくつかの実施形態では、このデバイスは、タッチスクリーンディスプレイ及び/又はタッチパッドを有するものではなく、むしろ、別のディスプレイデバイス上に表示するための表示情報(例えば、本開示のユーザインタフェース)を出力することができ、1つ以上の入力機構(例えば、1つ以上のボタン、タッチスクリーンディスプレイ及び/又はタッチパッド)を有する別の入力デバイスからの入力情報を受信することができる。いくつかの実施形態では、このデバイスは、ディスプレイを有するが、1つ以上の入力機構(例えば、1つ以上のボタン、タッチスクリーンディスプレイ及び/又はタッチパッド)を有する別の入力デバイスからの入力情報を受信することができる。
【0024】
以下の論考では、ディスプレイ及びタッチ感知面を含む電子デバイスについて説明する。しかしながら、電子デバイスは任意選択で、物理キーボード、マウス、及び/又はジョイスティックなどの、1つ以上の他の物理ユーザインタフェースデバイスを含むことを理解されたい。更に、上述されたように、説明される電子デバイス、ディスプレイ、及びタッチ感知面は、2つ以上のデバイスの間で任意選択的に分配されることを理解されたい。したがって、本開示で使用する場合、電子デバイス上に又は電子デバイスにより表示された情報を任意選択的に使用して、別のディスプレイデバイス(タッチ感知式又は非タッチ感知式)上の表示用電子デバイスにより出力された情報を説明する場合がある。同様に、本開示で使用する場合、電子デバイス上で受信した入力(例えば、電子デバイスのタッチ感知面上で受信したタッチ入力)を任意選択的に使用して、別の入力デバイス上で受信した入力を説明する場合がある。この別の入力デバイスから、電子デバイスは、入力情報を受信する。
【0025】
そのデバイスは、一般的に、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、ビデオ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽再生アプリケーション、テレビチャンネル閲覧アプリケーション、及び/又はデジタルビデオ再生アプリケーションのうちの1つ以上など、様々なアプリケーションをサポートする。
【0026】
本デバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーション毎に、及び/又は個別のアプリケーション内で、任意選択的に、調整及び/又は変更される。このように、デバイスの共通の物理アーキテクチャ(タッチ感知面など)は、任意選択的に、ユーザにとって直観的かつ透明なユーザインタフェースを備える様々なアプリケーションをサポートする。
【0027】
ここで、タッチ感知ディスプレイを備えるポータブル又は非ポータブルデバイスの実施形態に注目する。ただし、このデバイスは、上述のように、タッチ感知ディスプレイ又はディスプレイを含む必要は概ねない。
図1Aは、いくつかの実施形態に係る、タッチ感知ディスプレイ112を備えたポータブル又は非ポータブル多機能デバイス100を示すブロック図である。タッチ感知ディスプレイ112は、便宜上「タッチスクリーン」と呼ばれる場合があり、タッチ感知ディスプレイシステムとして、知られる場合又は呼ばれる場合もある。デバイス100は、メモリ102(任意選択的に、1つ以上のコンピュータ可読記憶媒体を含む)、メモリコントローラ122、1つ以上の処理ユニット(CPU)120、周辺機器インタフェース118、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、入出力(I/O)サブシステム106、他の入力又は制御デバイス116、及び外部ポート124を含む。デバイス100は、任意選択的に、1つ以上の光センサ164を含む。デバイス100は、任意選択的に、デバイス100上の接触の強度を検出する1つ以上の接触強度センサ165(例えば、デバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面)を含む。デバイス100は、任意選択的に、デバイス100上で触知出力を生成する(例えばデバイス100のタッチ感知ディスプレイシステム112又はデバイス300のタッチパッド355などのタッチ感知面上で触知出力を生成する)1つ以上の触知出力生成器167を含む。これらの構成要素は、任意選択的に、1つ以上の通信バス又は信号ライン103を介して通信する。
【0028】
本明細書及び特許請求において使用されるとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指の接触)の力若しくは圧力(単位面積当たりの力)、又はタッチ感知面上の接触の力若しくは圧力に対する代替物(代用物)を指す。接触の強度は、少なくとも4つの別個の値を含み、より典型的には、数百の(例えば、少なくとも256の)別個の値を含む、値の範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ又はセンサの組み合わせを使用して、判定(又は測定)される。例えば、タッチ感知面の下又はそれに隣接する1つ以上の力センサは、任意選択的に、タッチ感知面上の様々なポイントにおける力を測定するために使用される。いくつかの実装形態では、複数の力センサからの力測定値が、接触の推定される力を決定するために組み合わされる(例えば、加重平均される)。同様に、スタイラスの感圧性先端部が、任意選択的に、タッチ感知面上のスタイラスの圧力を判定するために使用される。あるいは、タッチ感知面上で検出される接触エリアのサイズ及び/若しくはその変化、接触に近接するタッチ感知面の電気容量及び/若しくはその変化、並びに/又は、接触に近接するタッチ感知面の抵抗及び/若しくはその変化が、任意選択的に、タッチ感知面上の接触の力又は圧力の代替物として使用される。一部の実装形態では、接触の力又は圧力の代替測定値が、強度閾値を上回っているかどうかを判定するために直接使用される(例えば、強度閾値は、代替測定値に対応する単位で記述される)。いくつかの実装形態では、接触の力又は圧力のための代替測定値は、推定される力又は圧力に変換され、推定される力又は圧力は、強度閾値を超えているかどうかを判定するために使用される(例えば、強度閾値は、圧力の単位で測定された圧力閾値である)。接触の強度をユーザ入力の属性として使用することにより、アフォーダンスを表示する実装面積が限られている低減されたサイズのデバイス上で、ユーザが他の方法ではアクセス不可能であり得る追加のデバイス機能にユーザがアクセスすること(例えば、タッチ感知ディスプレイ上で)、及び/又は、ユーザ入力を受け取ること(例えば、タッチ感知ディスプレイ、タッチ感知面、又は、ノブ若しくはボタンなどの物理的/機械的コントロールを介して)が可能となる。
【0029】
本明細書及び特許請求の範囲で使用される時、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するそのデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、そのデバイスの別の構成要素(例えば、筐体)に対する物理的変位、又は、デバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況では、物理的変位によって生成された触知出力は、そのデバイス又はデバイスの構成要素の物理的特性の認識される変化に相当する触知感として、ユーザによって解釈されることになる。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。いくつかの場合、ユーザの動作により物理的に押された(例えば、変位された)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がない時でさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じる。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。したがって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」「ダウンクリック」、「粗さ」)に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成することになるデバイス、又はデバイスの構成要素の物理的変位に対応する。
【0030】
デバイス100は、ポータブル又は非ポータル多機能デバイスの一実施例に過ぎず、デバイス100は、図示されるものよりも多いか若しくは少ない構成要素を任意選択的に有するか、2つ以上の構成要素を任意選択的に組み合わせるか、又は構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。
図1Aに示される様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの双方の組み合わせの形態で実装される。更に、
図1Aに示す様々な構成要素は、任意選択的に、例えば、ディスプレイとディスプレイデバイス上のオーディオ回路、入力デバイス上のタッチ感知面、及びデバイス100上の残りの構成要素など、2つ以上のデバイスにまたがって実装される。このような実施形態では、デバイス100は、本開示で説明されるシステムの動作を容易にするために、ディスプレイデバイス及び/若しくは入力デバイス、並びにデバイス100内のディスプレイ及び/若しくは入力残部に関連する本明細書で記載された様々な構成要素と任意選択的に通信するか、又は必要に応じて、ディスプレイ及び/若しくは入力デバイス内に任意選択的に含まれる。
【0031】
メモリ102は、任意選択的に、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含む。メモリコントローラ122は、任意選択的に、デバイス100の他の構成要素によるメモリ102へのアクセスを制御する。
【0032】
周辺機器インタフェース118は、デバイスの入力及び出力周辺機器をCPU120及びメモリ102に結合するために使用することができる。1つ以上のプロセッサ120は、メモリ102に記憶された様々なソフトウェアプログラム及び/又は命令セットを動作させる又は実行して、デバイス100のための様々な機能を実行し、データを処理する。
【0033】
いくつかの実施形態では、周辺機器インタフェース118、CPU120、及びメモリコントローラ122は、任意選択的に、チップ104などの単一のチップ上に実装される。いくつかの他の実施形態では、それらは別々のチップ上に任意選択的に実装される。
【0034】
RF(radio frequency、無線周波数)回路108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路108は、電気信号を電磁信号に又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、任意選択的に、これらの機能を実行するための周知の回路を含み、それらの回路としては、限定するものではないが、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(subscriber identity module、SIM)カード、メモリなどが挙げられる。RF回路108は、任意選択的に、ワールドワイドウェブ(World Wide Web、WWW)とも呼ばれるインターネット、イントラネット、並びに/又はセルラー電話ネットワーク、無線ローカルエリアネットワーク(local area network、LAN)及び/若しくはメトロポリタンエリアネットワーク(metropolitan area network、MAN)などの無線ネットワークなどのネットワークと、また他のデバイスと、無線通信によって通信する。RF回路108は、任意選択的に、短距離通信無線機などによって近距離通信(near field communication、NFC)フィールドを検出するよく知られている回路を含む。無線通信は、任意選択的に、それだけに限定されるものではないが、モバイル通信用グローバルシステム(Global System for Mobile Communications、GSM)、拡張データGSM環境(Enhanced Data GSM Environment、EDGE)、高速ダウンリンクパケットアクセス(high-speed downlink packet access、HSDPA)、高速アップリンクパケットアクセス(high-speed uplink packet access、HSUPA)、エボリューションデータオンリ(Evolution,Data-Only、EV-DO)、HSPA、HSPA+、デュアルセルHSPA(Dual-Cell HSPA、DC-HSPDA)、ロングタームエボリューション(long term evolution、LTE)、近距離通信(NFC)、広帯域符号分割多元接続(wideband code division multiple access、W-CDMA)、符号分割多元接続(code division multiple access、CDMA)、時分割多元接続(time division multiple access、TDMA)、Bluetooth、Bluetoothローエネルギ(Bluetooth Low Energy、BTLE)、ワイヤレスフィデリティ(Wireless Fidelity、Wi-Fi)(例えば、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11n、及び/若しくはIEEE802.11ac)、ボイスオーバインターネットプロトコル(voice over Internet Protocol、VoIP)、Wi-MAX、電子メール用プロトコル(例えば、インターネットメッセージアクセスプロトコル(Internet message access protocol、IMAP)及び/若しくはポストオフィスプロトコル(post office protocol、POP))、インスタントメッセージング(例えば、拡張可能なメッセージング及びプレゼンスプロトコル(extensible messaging and presence protocol、XMPP)、インスタントメッセージング及びプレゼンスレベレイジングエクステンション用のセッション開始プロトコル(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions、SIMPLE)、インスタントメッセージング及びプレゼンスサービス(Instant Messaging and Presence Service、IMPS))、並びに/若しくはショートメッセージサービス(Short Message Service、SMS)、又は本明細書の出願日の時点でまだ開発されていない通信プロトコルを含む任意の他の適切な通信プロトコルを含む、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
【0035】
オーディオ回路110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。オーディオ回路110は、周辺機器インタフェース118からオーディオデータを受信し、このオーディオデータを電気信号に変換し、この電気信号をスピーカ111に送信する。スピーカ111は、電気信号を人間の可聴音波に変換する。また、オーディオ回路110は、マイクロフォン113によって音波から変換された電気信号を受信する。オーディオ回路110は、電気信号をオーディオデータに変換し、このオーディオデータを処理のために周辺機器インタフェース118に送信する。オーディオデータは、任意選択的に、周辺機器インタフェース118によって、メモリ102及び/若しくはRF回路108から取得され、かつ/又はメモリ102及び/若しくはRF回路108に伝送される。いくつかの実施形態では、オーディオ回路110は更にヘッドセットジャック(例えば、
図2の212)を備える。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば片耳又は両耳用のヘッドホン)及び入力(例えばマイクロフォン)の両方を備えるヘッドセットなどの着脱可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
【0036】
I/Oサブシステム106は、タッチスクリーン112及び他の入力コントロールデバイス116などのデバイス100上の入出力周辺機器を、周辺機器インタフェース118に結合する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156、光センサコントローラ158、強度センサコントローラ159、触覚フィードバックコントローラ161、及び他の入力若しくは制御デバイスのための1つ以上の入力コントローラ160を含む。1つ以上の入力コントローラ160は他の入力又は制御デバイス116から電気信号を受信し、それらへ電気信号を送信する。他の入力コントロールデバイス116は、任意選択的に、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。いくつかの代替的な実施形態では、入力コントローラ160が、キーボード、赤外線ポート、USBポート及びマウスなどのポインタデバイスのうちのいずれかに任意選択的に結合されているか、又はいずれにも結合されていない。1つ以上のボタン(例えば、
図2の208)は、スピーカ111及び/又はマイクロフォン113の音量調節のためのアップ/ダウンボタンを任意選択的に含む。1つ以上のボタンは、プッシュボタン(例えば、
図2の206)を任意選択的に含む。
【0037】
全体が参照により本明細書に組み込まれる、2005年12月23日出願の米国特許出願第11/322549号明細書、「Unlocking a Device by Performing Gestures on an Unlock Image」、米国特許第7,657,849号明細書に記載されているように、プッシュボタンの素早い押圧は、任意選択的に、タッチスクリーン112のロックを解除し、又は任意選択的に、タッチスクリーン上のジェスチャを使用してデバイスをロック解除するプロセスを開始する。プッシュボタン(例えば、206)のより長い押圧は、任意選択的に、デバイス100への電力をオン又はオフにする。ボタンのうちの1つ以上の機能性は、任意選択的に、ユーザによってカスタマイズ可能である。タッチスクリーン112は、仮想又はソフトボタン及び1つ以上のソフトキーボードを実装するために使用される。
【0038】
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。上述のように、タッチ感知ディスプレイ112のタッチ感知動作及び表示動作は任意選択的に互いに分離されているので、ディスプレイデバイスは、表示目的で使用され、タッチ感知面(ディスプレイであるかかどうかに関わらず)は、入力検出目的で使用される。したがって、説明される構成要素及び機能は変更されている。ただし、簡潔化のために、以下の説明は、タッチ感知ディスプレイを参照して提供される。ディスプレイコントローラ156は、タッチスクリーン112からの電気信号の受信、及び/又はタッチスクリーン112への電気信号の送信を行う。タッチスクリーン112は、ユーザに対して視覚出力を表示する。この視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組み合わせ(総称して「グラフィック」)を任意選択的に含む。いくつかの実施形態では、視覚出力の一部又は全ては、ユーザインタフェースオブジェクトに対応する。
【0039】
タッチスクリーン112は、触覚及び/若しくは触知の接触に基づくユーザからの入力を受け入れるタッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン112及びディスプレイコントローラ156は(メモリ102内の任意の関連モジュール及び/又は命令セットと共に)、タッチスクリーン112上で接触(及び任意の接触の移動又は中断)を検出し、検出された接触をタッチスクリーン112上に表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ又は画像)との対話に変換する。例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
【0040】
タッチスクリーン112は、任意選択的に、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術、又はLED(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術も使用される。タッチスクリーン112及びディスプレイコントローラ156は、任意選択的に、それだけに限定されるものではないが、容量性、抵抗性、赤外線、及び表面音波の技術、並びにタッチスクリーン112との1つ以上の接触点を判定する他の近接センサアレイ又は他の要素を含む、現在知られている又は今後開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びそのあらゆる移動又は中断を検出する。ある例示的な実施形態では、California州CupertinoのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)などにおいて見られるような、投影された相互キャパシタンス検知技術が使用されている。
【0041】
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、任意選択的に、それぞれ全体が参照により本明細書に組み込まれる、米国特許第6,323,846号(Westermanら)、同第6,570,557号(Westermanら)、及び/若しくは同第6,677,932号(Westerman)、並びに/又は米国特許出願公開第2002/0015024(A1)号に記載されているマルチタッチ感知タッチパッドに類似している。しかし、タッチスクリーン112はデバイス100からの視覚出力を表示するのに対して、タッチ感知タッチパッドは視覚出力を提供しない。
【0042】
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、以下の出願、(1)2006年5月2日出願の米国特許出願第11/381,313号、「Multipoint Touch Surface Controller」、(2)2004年5月6日出願の米国特許出願第10/840,862号、「Multipoint Touchscreen」、(3)2004年7月30日出願の米国特許出願第10/903,964号、「Gestures For Touch Sensitive Input Devices」、(4)2005年1月31日出願の米国特許出願第11/048,264号、「Gestures For Touch Sensitive Input Devices」、(5)2005年1月18日出願の米国特許出願第11/038,590号、「Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices」、(6)2005年9月16日出願の米国特許出願第11/228,758号、「Virtual Input Device Placement On A Touch Screen User Interface」、(7)2005年9月16日出願の米国特許出願第11/228,700号、「Operation Of A Computer With A Touch Screen Interface」、(8)2005年9月16日出願の米国特許出願第11/228,737号、「Activating Virtual Keys Of A Touch-Screen Virtual Keyboard」、及び(9)2006年3月3日出願の米国特許出願第11/367,749号、「Multi-Functional Hand-Held Device」で説明されている。これらの出願は全て、全体が参照により本明細書に組み込まれる。
【0043】
タッチスクリーン112は、任意選択的に、100dpiを超える動画解像度を有する。いくつかの実施形態では、タッチスクリーンは、約160dpiの動画解像度を有する。ユーザは、任意選択的に、スタイラス、指などの任意の適した物体又は付属物を使用して、タッチスクリーン112に接触する。いくつかの実施形態では、ユーザインタフェースは、指ベースの接触及びジェスチャを主に使用して動作するように設計されるが、これは、タッチスクリーン上の指の接触面積がより大きいため、スタイラスベースの入力ほど正確でない可能性がある。いくつかの実施形態では、デバイスは、指による粗い入力を、ユーザによって所望されているアクションを実行するための、正確なポインタ/カーソルの位置又はコマンドに変換する。
【0044】
いくつかの実施形態では、デバイス100は、表示生成構成要素と通信している(例えば、有線通信を介して、無線通信を介して)ポータブルコンピュータシステムである。表示生成構成要素は、CRTディスプレイを介した表示、LEDディスプレイを介した表示、又は画像投影を介した表示などの視覚的な出力を提供するように構成されている。いくつかの実施形態では、表示生成構成要素(例えば、一体型ディスプレイ、タッチスクリーン112など)は、コンピュータシステムと統合される。いくつかの実施形態では、表示生成構成要素(例えば、外部モニタ、投影システムなど)は、コンピュータシステムとは別体である。本明細書で使用するとき、「表示する」コンテンツは、コンテンツを視覚的に生成するために、有線又は無線接続で、データ(例えば、画像データ又はビデオデータ)を、一体型又は外部の表示生成構成要素に送信することによって、コンテンツ(例えば、ディスプレイコントローラ156によってレンダリング又はデコードされたビデオデータ)を表示させることを含む。
【0045】
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、任意選択的に、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッド(図示せず)を含む。いくつかの実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知エリアである。タッチパッドは、任意選択的に、タッチスクリーン112とは別個のタッチ感知面又はタッチスクリーンによって形成されるタッチ感知面の拡張部である。
【0046】
デバイス100は、様々な構成要素に電力を供給する電力システム162も含む。電力システム162は任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態標識(例えば、発光ダイオード(LED))、並びにポータブル又は非ポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
【0047】
また、デバイス100は、任意選択的に、1つ以上の光センサ164を含む。
図1Aは、I/Oサブシステム106内の光センサコントローラ158に結合された光センサを示す。光センサ164は、任意選択的に、電荷結合デバイス(charge-coupled device、CCD)又は相補的金属酸化物半導体(complementary metal-oxide semiconductor、CMOS)フォトトランジスタを含む。光センサ164は、1つ以上のレンズを通って投影された環境からの光を受信し、その光を、画像を表すデータに変換する。光センサ164は、撮像モジュール143(カメラモジュールとも呼ばれる)と連携して、任意選択的に、静止画像又は動画をキャプチャする。いくつかの実施形態では、光センサは、デバイスの前面にあるタッチスクリーンディスプレイ112とは反対側のデバイス100の裏面に位置し、したがってタッチスクリーンディスプレイは、静止画像及び/又は動画の取得のためのビューファインダとして使用することが可能である。いくつかの実施形態では、ユーザがタッチスクリーンディスプレイ上で他のテレビ会議参加者を見ている間に、ユーザの画像が、任意選択的に、テレビ会議のために取得されるように、光センサがデバイスの前方に配置される。いくつかの実施形態では、光センサ164の位置は、ユーザによって(例えば、デバイス筐体内でレンズ及びセンサを回転させることによって)変更することができ、したがって単一の光センサ164が、タッチスクリーンディスプレイと共に、テレビ会議にも静止画像及び/又は動画の取得にも使用される。
【0048】
デバイス100はまた、任意選択的に、1つ以上の接触強度センサ165を含む。
図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された接触強度センサを示す。接触強度センサ165は、任意選択的に、1つ以上のピエゾ抵抗ひずみゲージ、容量性力センサ、電気力センサ、圧電力センサ、光学力センサ、容量性タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(若しくは圧力)を測定するために使用されるセンサ)を含む。接触強度センサ165は、接触強度情報(例えば、圧力情報、又は圧力情報に対するプロキシ)を環境から受信する。いくつかの実施形態では、少なくとも1つの接触強度センサは、タッチ感知面(例えばタッチ感知ディスプレイシステム112)と並置される、又はそれに近接される。いくつかの実施形態では、少なくとも1つの接触強度センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
【0049】
また、デバイス100は、任意選択的に、1つ以上の近接センサ166を含む。
図1Aは、周辺機器インタフェース118と連結された近接センサ166を示す。あるいは、近接センサ166は、任意選択的に、I/Oサブシステム106内の入力コントローラ160に結合される。近接センサ166は、任意選択的に、全体が参照により本明細書に組み込まれる、米国特許出願第11/241,839号、「Proximity Detector In Handheld Device」、同第11/240,788号、「Proximity Detector In Handheld Device」、同第11/620,702号、「Using Ambient Light Sensor To Augment Proximity Sensor Output」、同第11/586,862号、「Automated Response To And Sensing Of User Activity In Portable Devices」、及び同第11/638,251号、「Methods And Systems For Automatic Configuration Of Peripherals」で記載されているように機能する。いくつかの実施形態では、(例えばユーザが電話中であるなど)多機能デバイスがユーザの耳付近に配置されている時には、接近センサがオフになり、タッチスクリーン112を無効化する。
【0050】
デバイス100はまた、任意選択的に、1つ以上の触知出力生成器167を含む。
図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に結合された触知出力生成器を示す。触知出力生成器167は、任意選択的に、スピーカ若しくは他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などのエネルギを直線の動きに変換する電気機械デバイスを含む。接触強度センサ165は、触知フィードバック生成命令を触覚フィードバックモジュール133から受信し、デバイス100のユーザが感知することが可能な触知出力をデバイス100上に生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)と並置される、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)に、又は水平方向(例えば、デバイス100の表面と同じ平面内の前後)に移動させることによって、触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
【0051】
また、デバイス100は、任意選択的に、1つ以上の加速度計168を含む。
図1Aは、周辺機器インタフェース118に連結された加速度計168を示す。あるいは、加速度計168は、任意選択的に、I/Oサブシステム106内の入力コントローラ160に結合される。加速度計168は、任意選択的に、どちらも全体が参照により本明細書に組み込まれる、米国特許出願公開第20050190059号、「Acceleration-based Theft Detection System for Portable Electronic Devices」、及び米国特許出願公開第20060017692号、「Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer」に記載されているように機能する。いくつかの実施形態では、情報は、1つ以上の加速度計から受信したデータの分析に基づいて、縦長表示又は横長表示でタッチスクリーンディスプレイに表示される。デバイス100は、任意選択的に、加速度計(単数又は複数)168に加えて、磁気計(図示せず)、並びにデバイス100の位置及び向き(例えば、縦向き又は横向き)に関する情報を取得するためのGPS(又はGLONASS若しくは他のグローバルナビゲーションシステム)受信機(図示せず)を含む。
【0052】
いくつかの実施形態では、メモリ102内に記憶されているソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(Global Positioning System、GPS)モジュール(又は命令セット)135、及びアプリケーション(又は命令セット)136を含む。更に、いくつかの実施形態では、メモリ102(
図1A)又は370(
図3)は、
図1A及び
図3に示すように、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、現在アクティブ状態のアプリケーションがある場合に、どのアプリケーションがアクティブであるかを示すアクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチスクリーンディスプレイ112の様々な領域を占めているかを示す表示状態、デバイスの様々なセンサ及び入力コントロールデバイス116から取得した情報を含むセンサ状態、並びにデバイスの位置、及び/又は姿勢に関する位置情報、のうちの1つ以上を含む。
【0053】
オペレーティングシステム126(例えば、Darwin、RTXC、LINUX、UNIX、OS X、iOS、WINDOWS、又はVxWorksなどの組込み型オペレーティングシステム)は、全般的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理する様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
【0054】
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するための様々なソフトウェア構成要素をも含む。外部ポート124(例えば、ユニバーサルシリアルバス(Universal Serial Bus、USB)、FIREWIREなど)は、直接的に、又はネットワーク(例えばインターネット、無線LANなど)を介して間接的に、他のデバイスに結合するように適合されている。いくつかの実施形態において、外部ポートは、iPod(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同一の、又はこれに類似した及び/若しくは互換性のあるマルチピン(例えば、30ピン)コネクタである。
【0055】
接触/動きモジュール130は、任意選択的に、タッチスクリーン112及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を(ディスプレイコントローラ156と連携して)検出する。接触/動きモジュール130は、接触が生じたか否かを判定すること(例えば、指を下ろすイベントを検出すること)、接触の強度(例えば、接触の力若しくは圧力、又は接触の力若しくは圧力の代替物)を判定すること、接触の移動が存在するか否かを判定し、タッチ感知面を横断する移動を追跡すること(例えば、指をドラッグする1つ以上のイベントを検出すること)、及び接触が停止したか否かを判定すること(例えば、指を上げるイベント又は接触の中断を検出すること)などの、接触の検出に関する様々な動作を実行するための、様々なソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データによって表される、接触点の移動を判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを含む。これらの動作は、任意選択的に、単一の接触(例えば、1本の指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態では、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
【0056】
いくつかの実施形態では、接触/動きモジュール130は、ユーザによって動作が実行されたか否かを判定するための(例えば、ユーザがアイコン上で「クリック」したか否かを判定するための)、1つ以上の強度閾値のセットを使用する。いくつかの実施形態では、強度閾値の少なくとも1つのサブセットが、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されるのではなく、デバイス100の物理ハードウェアを変化させることなく調整することができる)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変更することなく、広範囲の既定閾値のうちのいずれかに設定することができる。更に、一部の実装形態では、デバイスのユーザには、(例えば、個々の強度閾値を調整することによって、及び/又は、システムレベルのクリック「強度」パラメータによって、一度に複数の強度閾値を調整することによって)強度閾値のセットのうちの1つ以上を調整するソフトウェア設定が提供される。
【0057】
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターンを有する(例えば検出される接触の動き、タイミング、及び/又は強度が異なる)。したがって、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、指タップジェスチャを検出することは、指ダウンイベントを検出し、それに続いて指ダウンイベントと同じ位置(又は実質的に同じ位置)(例えば、アイコンの位置)で指アップ(リフトオフ)イベントを検出することを含む。別の例として、タッチ感知面上で指スワイプジェスチャを検出することは、指ダウンイベントを検出し、それに続いて1つ以上の指ドラッグイベントを検出し、その後それに続いて指アップ(リフトオフ)イベントを検出することを含む。
【0058】
グラフィックモジュール132は、表示されるグラフィックの視覚的効果(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性)を変更するための構成要素を含めた、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリングして表示するための、様々な既知のソフトウェア構成要素を含む。ここで使用される「グラフィック」という用語は、テキスト、ウェブページ、(ソフトキーを含むユーザインタフェースオブジェクトなどの)アイコン、デジタル画像、動画、アニメーションなどを非限定的に含む、ユーザに対して表示されることの可能な任意の対象物を含む。
【0059】
いくつかの実施形態では、グラフィックモジュール132は、使用されることになるグラフィックを表すデータを記憶する。各グラフィックには、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データと共に、表示されることとなるグラフィックを指定する1つ以上のコードを受信し、次にディスプレイコントローラ156に出力するスクリーンの画像データを生成する。
【0060】
触覚フィードバックモジュール133は、触知出力生成器167によって使用される命令を生成するための様々なソフトウェア構成要素を含み、ユーザのデバイス100との対話に応じて、デバイス100上の1つ以上の位置での触知出力を生成する。
【0061】
テキスト入力モジュール134は、任意選択で、グラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するためのソフトキーボードを提供する。
【0062】
GPSモジュール135は、デバイスの位置を判定し、この情報を、様々なアプリケーションで使用するために(例えば、位置に基づく電話発信で使用するために電話138へ、写真/ビデオのメタデータとしてカメラ143へ、並びに、気象ウィジェット、地域のイエローページウィジェット、及び地図/ナビゲーションウィジェットなどの、位置に基づくサービスを提供するアプリケーションへ)提供する。
【0063】
アプリケーション136は、任意選択的に、以下のモジュール(又は命令セット)又はそれらのサブセット若しくはスーパーセットを含む。
・連絡先モジュール137(アドレス帳又は連絡先リストと呼ばれることもある)、
・電話モジュール138、
・テレビ会議モジュール139、
・電子メールクライアントモジュール140、
・インスタントメッセージング(IM)モジュール141、
・トレーニングサポートモジュール142、
・静止画及び/又はビデオ画像用のカメラモジュール143、
・画像管理モジュール144、
・動画プレーヤモジュール、
・音楽プレーヤモジュール、
・ブラウザモジュール147、
・カレンダーモジュール148、
・気象ウィジェット149-1、株式ウィジェット149-2、計算機ウィジェット149-3、アラーム時計ウィジェット149-4、辞書ウィジェット149-5、及びユーザによって取得された他のウィジェット、並びにユーザ作成ウィジェット149-6のうちの1つ以上を任意選択的に含む、ウィジェットモジュール149、
・ユーザ作成ウィジェット149-6を作成するためのウィジェット作成モジュール150、
・検索モジュール151、
・動画プレーヤモジュール及び音楽プレーヤモジュールを一体化した動画及び音楽プレーヤモジュール152、
・メモモジュール153、
・地図モジュール154、及び/又は
・オンラインビデオモジュール155。
【0064】
任意選択的にメモリ102に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
【0065】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、連絡先モジュール137は、任意選択的に、アドレス帳に名前(単数又は複数)を追加すること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、住所(単数又は複数)、又は他の情報を名前に関連付けること、画像を名前に関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話138、テレビ会議モジュール139、電子メール140、又はIM141による通信を開始及び/又は促進することなどを含めて、アドレス帳又は連絡先リスト(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192内に記憶される)を管理するために使用される。
【0066】
電話モジュール138は、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、任意選択的に、電話番号に対応する文字シーケンスの入力、連絡先モジュール137内の1つ以上の電話番号へのアクセス、入力された電話番号の修正、個別の電話番号のダイヤル、通話の実行、並びに通話終了時の接続解除及び通話停止のために使用される。前述したように、無線通信は、任意選択的に、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
【0067】
テレビ会議モジュール139は、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先モジュール137、及び電話モジュール138と連携して、ユーザの指示に従ってユーザと1人以上の他の参加者との間のテレビ会議を開始、実行、及び終了するための実行可能な命令を含む。
【0068】
電子メールクライアントモジュール140は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの指示に応じて電子メールを作成、送信、受信、及び管理するための実行可能な命令を含む。画像管理モジュール144と連携して、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又は動画画像を有する電子メールの作成及び送信を非常に容易にする。
【0069】
インスタントメッセージングモジュール141は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、インスタントメッセージに対応する文字シーケンスの入力、以前に入力された文字の修正、(例えば、電話通信ベースのインスタントメッセージ向けのショートメッセージサービス(Short Message Service、SMS)若しくはマルチメディアメッセージサービス(Multimedia Message Service、MMS)プロトコル、又はインターネットベースのインスタントメッセージ向けのXMPP、SIMPLE、若しくはIMPSを使用する)個別のインスタントメッセージの送信、インスタントメッセージの受信、及び受信したインスタントメッセージの閲覧のための実行可能な命令を含む。いくつかの実施形態では、送信される及び/又は受信されるインスタントメッセージは、任意選択的に、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるようなグラフィック、写真、オーディオファイル、動画ファイル、及び/又は他の添付ファイルを含む。本明細書で使用される時、「インスタントメッセージング」とは、電話ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されるメッセージ)の双方を示す。
【0070】
トレーニングサポートモジュール142は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽プレーヤモジュールと連携して、トレーニング(例えば、時間、距離、及び/又はカロリー燃焼の目標を有する)を作成し、トレーニングセンサ(スポーツデバイス)と通信し、トレーニングセンサデータを受信し、トレーニングをモニタするために使用されるセンサを較正し、トレーニングのための音楽を選択及び再生し、並びに、トレーニングデータを表示、記憶、及び送信するための実行可能な命令を含む。
【0071】
カメラモジュール143は、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、及び画像管理モジュール144と連携して、静止画像若しくは(動画ストリームを含む)動画のキャプチャ及びメモリ102内への記憶、静止画像若しくは動画の特性の修正、又はメモリ102からの静止画像若しくは動画の削除のための実行可能な命令を含む。
【0072】
画像管理モジュール144は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と連携して、静止画像及び/若しくは動画の配置、修正(例えば、編集)、又はその他の操作、ラベル付け、削除、(例えば、デジタルスライドショー若しくはアルバムにおける)提示、及び記憶のための実行可能な命令を含む。
【0073】
ブラウザモジュール147は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ウェブページ又はその一部分、並びにウェブページにリンクされた添付ファイル及び他のファイルの検索、リンク、受信、及び表示を含む、ユーザの指示に従ってインターネットをブラウジングするための実行可能な命令を含む。
【0074】
カレンダーモジュール148は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、ユーザの指示に従って、カレンダー及びカレンダーに関連付けられたデータ(例えば、カレンダーアイテム、to-doリストなど)を作成、表示、修正、及び記憶するための実行可能な命令を含む。
【0075】
ウィジェットモジュール149は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、任意選択的に、ユーザによってダウンロード及び使用されるミニアプリケーション(例えば、気象ウィジェット149-1、株価ウィジェット149-2、計算機ウィジェット149-3、アラーム時計ウィジェット149-4、及び辞書ウィジェット149-5)、又はユーザによって作成されたミニアプリケーション(例えば、ユーザ作成ウィジェット149-6)である。いくつかの実施形態では、ウィジェットは、HTML(Hypertext Markup Language、ハイパーテキストマークアップ言語)ファイル、CSS(Cascading Style Sheets、カスケーディングスタイルシート)ファイル、及びJavaScriptファイルを含む。いくつかの実施形態では、ウィジェットは、XML(Extensible Markup Language、拡張可能マークアップ言語)ファイル及びJavaScriptファイル(例えば、Yahoo!ウィジェット)を含む。
【0076】
ウィジェットクリエータモジュール150は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、任意選択的に、ウィジェットを作成する(例えば、ウェブページのユーザ指定部分をウィジェットにする)ために、ユーザによって使用される。
【0077】
検索モジュール151は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの指示に従って1つ以上の検索基準(例えば、1つ以上のユーザ指定検索語)と一致するメモリ102内の文字、音楽、サウンド、画像、動画、及び/又は他のファイルを検索するための実行可能な命令を含む。
【0078】
動画及び音楽プレーヤモジュール152は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、及びブラウザモジュール147と連携して、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された録音済みの音楽及び他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能な命令、並びに動画を(例えば、タッチスクリーン112上又は外部ポート124を介して接続された外部のディスプレイ上に)表示、提示、又は別の方法で再生するための実行可能な命令を含む。いくつかの実施形態では、デバイス100は、任意選択的に、iPod(Apple Inc.の商標)などのMP3プレーヤの機能を含む。
【0079】
メモモジュール153は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの指示に従ってメモ、to-doリストなどを作成及び管理するための実行可能な命令を含む。
【0080】
地図モジュール154は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と連携して、任意選択的に、ユーザの命令に従って、地図及び地図に関連付けられたデータ(例えば、運転の道順、特定の場所又はその付近の店舗及び他の見どころに関するデータ、並びに他の位置ベースのデータ)を受信、表示、修正、及び記憶するために使用される。
【0081】
オンライン動画モジュール155は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、ユーザが特定のオンライン動画へのアクセス、特定のオンライン動画のブラウジング、(例えば、ストリーミング及び/又はダウンロードによる)受信、(例えば、タッチスクリーン上又は外部ポート124を介して接続された外部ディスプレイ上の)再生、特定のオンライン動画へのリンクを有する電子メールの送信、並びにH.264などの1つ以上のファイル形式のオンライン動画の他の管理を行うことを可能にする命令を含む。いくつかの実施形態では、特定のオンライン動画へのリンクを送信するために、電子メールクライアントモジュール140ではなく、インスタントメッセージングモジュール141が使用される。オンライン動画アプリケーションについての追加の説明は、その内容の全体が参照により本明細書に組み込まれる、2007年6月20日出願の米国仮特許出願第60/936,562号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」、及び2007年12月31日出願の米国特許出願第11/968,067号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」に見いだされ得る。
【0082】
上記で特定したモジュール及びアプリケーションはそれぞれ、前述した1つ以上の機能及び本出願に記載した方法(例えば、本明細書に記載したコンピュータにより実装される方法及び他の情報処理方法)を実行する実行可能な命令のセットに対応する。これらのモジュール(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットが、任意選択的に、組み合わされ、又は別の方法で再構成される。例えば、動画プレーヤモジュールは、任意選択的に、音楽プレーヤモジュールと組み合わされて、単一のモジュール(例えば、
図1Aの動画及び音楽プレーヤモジュール152)にされる。いくつかの実施形態では、メモリ102は、任意選択で、上記で特定されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ102は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
【0083】
いくつかの実施形態では、デバイス100は、そのデバイスにおける既定の機能のセットの動作がタッチスクリーン及び/又はタッチパッドのみを介して実行されるデバイスである。デバイス100が動作するための主要な入力コントロールデバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、任意選択的に、デバイス100上の物理的な入力コントロールデバイス(プッシュボタン、ダイヤルなど)の数が削減される。
【0084】
タッチスクリーン及び/又はタッチパッドを通じてのみ実行される既定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされたときに、デバイス100上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューにデバイス100をナビゲートする。このような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。一部の他の実施形態では、メニューボタンは、タッチパッドではなく、物理プッシュボタン又はその他の物理入力コントロールデバイスである。
【0085】
図1Bは、いくつかの実施形態に従った、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(
図1A)又は370(
図3)は、イベントソート部170(例えば、オペレーティングシステム126内)と、個別のアプリケーション136-1(例えば、前述のアプリケーション137~151、155、380~390のうちのいずれか)とを含む。
【0086】
イベントソート部170は、イベント情報を受信し、イベント情報を配信するアプリケーション136-1、及びアプリケーション136-1のアプリケーションビュー191を判定する。イベントソート部170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態では、アプリケーション136-1は、アプリケーションがアクティブ又は実行中であるときにタッチ感知ディスプレイ112に表示される現在のアプリケーションビューを示すアプリケーション内部状態192を含む。いくつかの実施形態では、デバイス/グローバル内部状態157は、どのアプリケーション(単数又は複数)が現在アクティブであるかを判定するためにイベントソート部170によって使用され、アプリケーション内部状態192は、イベント情報が配信されるアプリケーションビュー191を判定するためにイベントソート部170によって使用される。
【0087】
いくつかの実施形態では、アプリケーション内部状態192は、アプリケーション136-1が実行を再開するときに使用すべき再開情報、アプリケーション136-1によって表示されている情報を示す又は表示する準備ができたユーザインタフェース状態情報、ユーザがアプリケーション136-1の前の状態又はビューに戻ることを可能にする状態キュー、及びユーザによって行われた前のアクションのリドゥ/アンドゥキューのうちの1つ以上などの追加の情報を含む。
【0088】
イベントモニタ171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、タッチ感知ディスプレイ112でのマルチタッチジェスチャの一部としてのユーザタッチ)に関する情報を含む。周辺機器インタフェース118は、I/Oサブシステム106、又は近接センサ166、加速度計(単数又は複数)168、及び/若しくは(オーディオ回路110を介した)マイクロフォン113などのセンサから受信する情報を送信する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
【0089】
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インタフェース118に要求を送信する。それに応じて、周辺機器インタフェース118は、イベント情報を送信する。他の実施形態では、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を上回る及び/又は所定の持続時間を超える入力の受信)があるときのみイベント情報を送信する。
【0090】
いくつかの実施形態では、イベントソート部170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173を含む。
【0091】
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が2つ以上のビューを表示しているときに、サブイベントが1つ以上のビュー内のどこで起きたかを判定するソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることができる制御装置及び他の要素から構成されている。
【0092】
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書ではアプリケーションビュー又はユーザインタフェースウィンドウと呼ばれることもあるビューのセットであり、その中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(個別のアプリケーションの)アプリケーションビューは、任意選択的に、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応する。例えば、タッチが検出される最下位レベルビューは、任意選択的に、ヒットビューと呼ばれ、また、適切な入力として認識されるイベントのセットは、任意選択的に、タッチによるジェスチャを開始する初期タッチのヒットビューに少なくとも部分的に基づいて決定される。
【0093】
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが階層状に構成された複数のビューを有するとき、ヒットビュー判定モジュール172は、サブイベントを処理すべき階層内の最下位のビューとして、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、開始サブイベント(例えば、イベント又は潜在的イベントを形成するサブイベントシーケンスにおける第1のサブイベント)が発生する最も低いレベルのビューである。ヒットビューがヒットビュー判定モジュール172によって特定されると、ヒットビューは、通常、ヒットビューとして特定されたタッチ又は入力ソースと同じタッチ又は入力ソースに関係する全てのサブイベントを受信する。
【0094】
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(単数又は複数)がサブイベントの特定のシーケンスを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理位置を含む全てのビューがアクティブに関わりがあるビューであると判定し、したがって、全てのアクティブに関わりがあるビューが、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントが1つの特定のビューに関連付けられたエリアに完全に限定された場合でも、階層内の上位のビューは、依然としてアクティブに関わりがあるビューであり続ける。
【0095】
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えばイベント認識部180)にディスパッチする。アクティブイベント認識部判定モジュール173を含む実施形態では、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173により判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール174は、個別のイベント受信部182によって取得されるイベント情報をイベントキューに記憶する。
【0096】
いくつかの実施形態では、オペレーティングシステム126は、イベントソート部170を含む。あるいは、アプリケーション136-1がイベントソート部170を含む。更に他の実施形態では、イベントソート部170は、独立型のモジュールであり、又は接触/動きモジュール130などのメモリ102内に記憶されている別のモジュールの一部分である。
【0097】
いくつかの実施形態では、アプリケーション136-1は、それぞれがアプリケーションのユーザインタフェースのそれぞれのビュー内で発生するタッチイベントを処理する命令を含む、複数のイベント処理部190及び1つ以上のアプリケーションビュー191を含む。アプリケーション136-1の各アプリケーションビュー191は、1つ以上のイベント認識部180を含む。典型的には、個別のアプリケーションビュー191は、複数のイベント認識部180を含む。他の実施形態では、イベント認識部180のうちの1つ以上は、ユーザインタフェースキット(図示せず)又はアプリケーション136-1が方法及び他の特性を継承する上位レベルのオブジェクトなどの、別個のモジュールの一部である。いくつかの実施形態では、個別のイベント処理部190は、データ更新部176、オブジェクト更新部177、GUI更新部178、及び/又はイベントソート部170から受信されたイベントデータ179、のうちの1つ以上を含む。イベント処理部190は、任意選択的に、データ更新部176、オブジェクト更新部177、又はGUI更新部178を利用し又は呼び出して、アプリケーション内部状態192を更新する。あるいは、アプリケーションビュー191のうちの1つ以上が、1つ以上の個別のイベント処理部190を含む。また、いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178のうちの1つ以上は、個別のアプリケーションビュー191に含まれる。
【0098】
個別のイベント認識部180は、イベントソート部170からイベント情報(例えば、イベントデータ179)を受信し、イベント情報からイベントを特定する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。いくつかの実施形態では、イベント認識部180はまた、メタデータ183及びイベント配信命令188(任意選択的にサブイベント配信命令を含む)の少なくともサブセットも含む。
【0099】
イベント受信部182は、イベントソート部170からイベント情報を受信する。イベント情報は、サブイベント、例えば、タッチ又はタッチの移動についての情報を含む。サブイベントに応じて、イベント情報はまた、サブイベントの位置などの追加の情報を含む。サブイベントがタッチの動きに関わるとき、イベント情報はまた任意選択的に、サブイベントの速さ及び方向を含む。いくつかの実施形態では、イベントは、1つの向きから別の向きへの(例えば、縦向きから横向きへ、又はその逆の)デバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ぶ)についての対応する情報を含む。
【0100】
イベント比較部184は、イベント情報を、定義済みのイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定するか、あるいはイベント又はサブイベントの状態を判定若しくは更新する。いくつかの実施形態では、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えばイベント1(187-1)及びイベント2(187-2)などのイベント(例えば、既定のサブイベントのシーケンス)の定義を含む。いくつかの実施形態では、イベント(187)内のサブイベントは、例えば、タッチの開始、タッチの終了、タッチの移動、タッチの取り消し、及び複数のタッチを含む。一実施例では、イベント1(187-1)についての定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、所定の段階に対する表示オブジェクト上の第1のタッチ(タッチ開始)、所定の段階に対する第1のリフトオフ(タッチ終了)、所定の段階に対する表示オブジェクト上の第2のタッチ(タッチ開始)、及び所定の段階に対する第2のリフトオフ(タッチ終了)を含む。別の実施例では、イベント2(187-2)の定義は、表示されたオブジェクト上のドラッグである。ドラッグは、例えば、所定の段階に対する表示オブジェクト上のタッチ(又は接触)、タッチ感知ディスプレイ112にわたるタッチの移動、及びタッチのリフトオフ(タッチ終了)を含む。いくつかの実施形態では、イベントは、1つ以上の関連付けられたイベント処理部190に関する情報も含む。
【0101】
いくつかの実施形態では、イベント定義187は、個別のユーザインタフェースオブジェクトについてのイベントの定義を含む。いくつかの実施形態では、イベント比較部184は、どのユーザインタフェースオブジェクトがサブイベントに関連付けられているかを判定するヒットテストを実行する。例えば、タッチ感知ディスプレイ112に3つのユーザインタフェースオブジェクトが表示されているアプリケーションビュー内で、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部184は、ヒットテストを実行して、3つのユーザインタフェースオブジェクトのうちのどれがタッチ(サブイベント)に関連付けられているかを判定する。表示された各オブジェクトが、個別のイベント処理部190に関連付けられている場合、イベント比較部は、ヒットテストの結果を用いて、どのイベント処理部190をアクティブ化すべきかを判定する。例えば、イベント比較部184は、ヒットテストをトリガするサブイベント及びオブジェクトに関連付けられたイベント処理部を選択する。
【0102】
いくつかの実施形態では、個別のイベント187の定義に、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するかどうかの判定がなされるまで、イベント情報の伝送を遅らせる遅延アクションも含む。
【0103】
個別のイベント認識部180は、一連のサブイベントがイベント定義186のイベントのいずれとも一致しないと判断した場合、個別のイベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチに基づくジェスチャの次のサブイベントを無視する。この状況では、ヒットビューについてアクティブのままである他のイベント認識部があれば、そのイベント認識部は、進行中のタッチによるジェスチャのサブイベントの追跡及び処理を続行する。
【0104】
いくつかの実施形態では、個別のイベント認識部180は、イベント配信システムがどのようにサブイベント配信を実行すべきかをアクティブに関与しているイベント認識部に示す構成可能なプロパティ、フラグ、及び/又はリストを有するメタデータ183を含む。いくつかの実施形態では、メタデータ183は、イベント認識部が互いにどのように対話するか、又はイベント認識部が互いにどのように対話することが可能となるかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。いくつかの実施形態では、メタデータ183は、サブイベントがビュー階層又はプログラム階層における多様なレベルに配信されるかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。
【0105】
いくつかの実施形態では、個別のイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識されるときに、イベントに関連付けられたイベント処理部190をアクティブ化する。いくつかの実施形態では、個別のイベント認識部180は、イベントに関連付けられたイベント情報をイベント処理部190に配信する。イベント処理部190をアクティブ化することは、個別のヒットビューにサブイベントを送信する(及び、送信を延期する)こととは別個である。いくつかの実施形態では、イベント認識部180は、認識したイベントに関連付けられたフラグを投入し、そのフラグに関連付けられたイベント処理部190は、そのフラグを捕らえ、既定のプロセスを実行する。
【0106】
いくつかの実施形態では、イベント配信命令188は、イベント処理部をアクティブ化することなくサブイベントについてのイベント情報を配信するサブイベント配信命令を含む。代わりに、サブイベント配信命令は、一連のサブイベントと関連付けられたイベント処理部に、又はアクティブに関与しているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関与しているビューと関連付けられたイベント処理部は、イベント情報を受信し、所定のプロセスを実行する。
【0107】
いくつかの実施形態では、データ更新部176は、アプリケーション136-1で使用されるデータを作成及び更新する。例えば、データ更新部176は、連絡先モジュール137で使用される電話番号を更新し、又は動画プレーヤモジュールで使用される動画ファイルを記憶する。いくつかの実施形態では、オブジェクト更新部177は、アプリケーション136-1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクト更新部177は、新たなユーザインタフェースオブジェクトを作成し、又はユーザインタフェースオブジェクトの位置を更新する。GUI更新部178は、GUIを更新する。例えば、GUI更新部178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するために表示情報をグラフィックモジュール132に送る。
【0108】
いくつかの実施形態では、イベント処理部(単数又は複数)190は、データ更新部176、オブジェクト更新部177、及びGUI更新部178を含む又はそれらへのアクセスを有する。いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178は、個別のアプリケーション136-1又はアプリケーションビュー191の単一モジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
【0109】
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の記載は、入力デバイスを用いて多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、それらの全てがタッチスクリーン上で開始されるわけではないことを理解されたい。例えば、キーボードの単一又は複数の押圧若しくは保持と任意選択的に連携される、マウスの移動及びマウスボタンの押圧、タッチパッド上のタップ、ドラッグ、スクロールなどの接触の移動、ペンスタイラス入力、デバイスの移動、口頭による命令、検出された目の動き、バイオメトリック入力、並びに/又はそれらの任意の組み合わせを、任意選択的に、認識するイベントを定義するサブイベントに対応する入力として利用する。
【0110】
図2は、いくつかの実施形態に係る、タッチスクリーン112を有するポータブル又は非ポータブル多機能デバイス100を示す。上述のように、多機能デバイス100は、説明される様々な構造(例えば、タッチスクリーン112、スピーカ111、加速度計168、マイクロフォン113など)を有するように記載されている。ただし、これらの構造は任意選択的に、別のデバイスに属すると理解される。例えば、ディスプレイ関連構造(例えば、ディスプレイ、スピーカなど)及び/又は機能は任意選択的に、別のディスプレイデバイスに属し、入力関連構造(例えば、タッチ感知面、マイクロフォン、加速度計など)及び/又は機能は任意選択的に、別の入力デバイスに属し、残りの構造及び/又は機能は任意選択的に、多機能デバイス100に属する。
【0111】
タッチスクリーン112は、ユーザインタフェース(UI)200内に1つ以上のグラフィックを任意選択的に表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、1本以上の指202(図には正確な縮尺では描かれていない)又は1つ以上のスタイラス203(図には正確な縮尺では描かれていない)を使用して、グラフィック上でジェスチャを実施することによって、それらのグラフィックのうちの1つ以上を選択することが可能となる。いくつかの実施形態では、1つ以上のグラフィックの選択は、ユーザが、その1つ以上のグラフィックとの接触を中断する場合に実施される。いくつかの実施形態では、ジェスチャは、1回以上のタップ、1回以上のスワイプ(左から右へ、右から左へ、上向きに及び/若しくは下向きに)、並びに/又は、デバイス100と接触した指のローリング(右から左へ、左から右へ、上向きに及び/若しくは下向きに)を、任意選択で含む。一部の実装形態又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、任意選択的に、対応するアプリケーションを選択するものではない。
【0112】
デバイス100はまた、「ホーム」又はメニューボタン204などの、1つ以上の物理ボタンも任意選択的に含む。前述のように、メニューボタン204は、任意選択で、デバイス100上で任意選択的に実行される、アプリケーションのセットにおける任意のアプリケーション136に誘導するために使用される。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーン112に表示されるGUI内のソフトキーとして実装される。
【0113】
一実施形態では、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスの電源をオン/オフし、デバイスをロックするためのプッシュボタン206、音量調整ボタン(単数又は複数)208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、任意選択的に、ボタンを押し下げて、既定の期間にわたってボタンを押し下げた状態に保持することによって、デバイスの電源をオン/オフするため、ボタンを押し下げて、既定の時間が経過する前にボタンを解放することによってデバイスをロックするため、及び/又はデバイスをロック解除する、若しくはロック解除プロセスを開始するために、使用される。代替の実施形態では、デバイス100は、マイクロフォン113を介して、いくつかの機能をアクティブ化又は非アクティブ化するための口頭入力もまた受け入れる。デバイス100は、任意選択的に、タッチスクリーン112上の接触の強度を検出する1つ以上の接触強度センサ165、及び/又はデバイス100のユーザに対する触知出力を生成する1つ以上の触知出力生成器167もまた含む。
【0114】
図3いくつかの実施形態に従った、ディスプレイ及びタッチ感知面を備える例示的な多機能デバイスのブロック図である。デバイス300は、上述のように、ディスプレイ及びタッチ感知面を含む必要はなく、むしろ、いくつかの実施形態では、他のデバイス上のディスプレイ及びタッチ感知面と任意選択的に通信する。加えて、デバイス300は、ポータブルでなくてもよい。いくつかの実施形態において、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディア再生デバイス(例えば、テレビ又はセットトップボックス)、ナビゲーションデバイス、教育的デバイス(子供の学習玩具など)、ゲームシステム、又は制御デバイス(例えば、家庭用又は業務用コントローラ)である。デバイス300は、典型的には、1つ以上の処理ユニット(CPU)310と、1つ以上のネットワーク又は他の通信インタフェース360と、メモリ370と、及びこれらの構成要素を相互接続するための1つ以上の通信バス320とを含む。通信バス320は、任意選択的に、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることもある)を含む。デバイス300は、ディスプレイ340を含む入出力(I/O)インタフェース330を含み、ディスプレイ340は、通常、タッチスクリーンディスプレイである。I/Oインタフェース330はまた、キーボード及び/又はマウス(又は他のポインティングデバイス)350並びにタッチパッド355、デバイス300上に触知出力を生成するための(例えば、
図1Aを参照して上述された触知出力生成器167と同様の)触知出力生成器357、センサ359(例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ、及び/又は
図1Aを参照して上述された接触強度センサ165と同様の接触強度センサ)も任意選択的に含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、任意選択で、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ370は、任意選択で、CPU(単数又は複数)310からリモートに位置する1つ以上の記憶デバイスを含む。いくつかの実施形態において、メモリ370は、ポータブル又は非ポータブル多機能デバイス100(
図1A)のメモリ102内に記憶されたプログラム、モジュール、及びデータ構造に類似するプログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する。更に、メモリ370は、ポータブル又は非ポータブル多機能デバイス100のメモリ102内に存在しない追加プログラム、モジュール、及びデータ構造を記憶し得る。例えば、デバイス300のメモリ370は、描画モジュール380、プレゼンテーションモジュール382、文書作成モジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を任意選択的に記憶するが、ポータブル又は非ポータブル多機能デバイス100(
図1A)のメモリ102は、これらのモジュールを任意選択的に記憶しない。
【0115】
上記で特定された
図3の要素のそれぞれは任意選択的に、前述のメモリデバイスのうち1つ以上に記憶される。上記で特定されたモジュールの各々は、上記で説明された機能を実行する命令セットに対応する。上記で特定されたモジュール又はプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、従って、それらのモジュールの様々なサブセットは、任意選択で、様々な実施形態において組み合わされるか、又はその他の方式で再配置される。いくつかの実施形態では、メモリ370は、任意選択で、上記で特定されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ370は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
【0116】
図4は、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、
図3のタブレット又はタッチパッド355)を備えるデバイス(例えば、
図3のデバイス300)上の、例示的なユーザインタフェースを示す。デバイス300は任意選択で、タッチ感知面451上の接触の強度を検出するための1つ以上の接触強度センサ(例えば、センサ357のうちの1つ以上)、及び/又はデバイス300のユーザに対して触知出力を生成するための1つ以上の触知出力生成器359も含む。
【0117】
以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ112上での入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して説明されるが、いくつかの実施形態では、デバイスは、
図4に示されるように、ディスプレイとは別体のタッチ感知面上での入力を検出する。いくつかの実施形態では、このタッチ感知面(例えば、
図4での451)は、ディスプレイ(例えば、450)上の主軸(例えば、
図4での453)に対応する主軸(例えば、
図4での452)を有する。これらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれの場所に対応する場所(例えば、
図4では、460は468に対応し、462は470に対応する)での、タッチ感知面451との接触(例えば、
図4での460及び462)を検出する。この方式で、タッチ感知面がディスプレイとは別個のものである場合、タッチ感知面(例えば、
図4での451)上でデバイスによって検出されたユーザ入力(例えば、接触460及び462、並びにそれらの移動)が、多機能デバイスのディスプレイ(例えば、
図4での450)上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに任意選択的に使用されることを理解されたい。
【0118】
更に、以下の例は主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ)を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスに基づく入力、又はスタイラス入力)で置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、(例えば、接触の代わりに、)マウスクリックであって、その後に(例えば、接触の移動の代わりに)スワイプの経路に沿ったカーソルの移動を伴うマウスクリックによって置き換えられる。別の例として、タップジェスチャは、任意選択的に、カーソルがタップジェスチャの位置上に位置する間は、(例えば、接触を検出して、それに続いて接触の検出を停止する代わりに)マウスクリックによって置き換えられる。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが、任意選択的に、同時に使用され、又はマウス及び指の接触が、任意選択的に、同時に使用されることを理解されたい。
【0119】
本明細書にて使用する時、「フォーカスセレクタ」という用語は、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他のロケーションマーカを含むいくつかの実装において、カーソルは、タッチ感知面(例えば、
図3のタッチパッド355、又は
図4のタッチ感知面451)上で入力(例えば、押下げ入力)が検出された時に、カーソルが特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の上にある時、「フォーカスセレクタ」として機能し、特定のユーザインタフェース要素が、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接的な対話を可能にする、タッチスクリーンディスプレイ(例えば、
図1Aのタッチ感知ディスプレイシステム112)を含むいくつかの実装では、タッチスクリーン上で検出される接触が「フォーカスセレクタ」の役割を果たすため、入力(例えば、接触による押圧入力)が、タッチスクリーンディスプレイ上の特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の位置で検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調節される。いくつかの実装では、(例えば、タブキー又は矢印キーを使ってフォーカスを1つのボタンから別のボタンに移動させることによって)タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動なしに、フォーカスが、ユーザインタフェースの1つの領域からユーザインタフェースの別の領域に移動される。これらの実装形態では、フォーカスセレクタは、ユーザインタフェースの種々の領域間でのフォーカスの移動に従って移動する。フォーカスセレクタがとる具体的な形態に関わらず、フォーカスセレクタは、一般に、ユーザが意図するユーザインタフェースとの対話について(例えば、ユーザがそれを通じて対話することを意図しているユーザインタフェースの要素をデバイスに示すことによって)伝えるためにユーザによって制御されるユーザインタフェース要素(又はタッチスクリーンディスプレイ上の接触)である。例えば、押圧入力がタッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で検出されたときに、対応するボタンの上にあるフォーカスセレクタ(例えば、カーソル、接触又は選択ボックス)の位置は、(デバイスのディスプレイ上に示されている他のユーザインタフェース要素ではなく)対応するボタンをユーザがアクティブ化しようとしていることを示すものである。
【0120】
本明細書及び特許請求の範囲において使用されるとき、接触の「特性強度」という用語は、接触の1つ以上の強度に基づく、その接触の特性を指す。いくつかの実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、既定の数の強度サンプル、すなわち、既定のイベント(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増大を検出する前若しくは後、及び/又は、接触の強度の減少を検出する前若しくは後の)に関連する所定の時間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒)の間に収集された強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均(mean)値、接触の強度の平均(average)値、接触の強度の上位10パーセンタイル値、接触の強度の最大の2分の1の値、接触の強度の最大の90パーセントの値などのうちの1つ以上に基づいている。いくつかの実施形態では、特性強度を判定する際に(例えば、特性強度が経時的な接触の強度の平均であるときに)、接触の持続期間が使用される。いくつかの実施形態では、特性強度は、ユーザによって動作が実行されたかどうかを判定するために、1つ以上の強度閾値のセットと比較される。例えば、1つ以上の強度閾値のセットは、任意選択的に、第1の強度閾値及び第2の強度閾値を含む。この例では、第1の閾値を超えない特性強度を有する接触は第1の動作をもたらし、第1の強度閾値を上回るが第2の強度閾値を超えない特性強度を有する接触は第2の動作をもたらし、第2の閾値を超える特性強度を有する接触は第3の動作をもたらす。いくつかの実施形態では、特性強度と1つ以上の閾値との間の比較は、第1の動作を実行するべきか、それとも第2の動作を実行するべきかを判定するために使用されるのではなく、1つ以上の動作を実行するべきか否か(例えば、個別の動作を実行するべきか、それとも個別の動作を実行するのを見送るべきか)を判定するために使用される。
【0121】
本明細書に記載するいくつかの実施形態では、個別の押圧入力を含むジェスチャを検出したことに応じて、又は個別の接触(若しくは複数の接触)によって実行された個別の押圧入力を検出したことに応じて、1つ以上の動作が実行され、個別の押圧入力は、押圧入力強度閾値を上回る接触(又は複数の接触)の強度の増大を検出したことに少なくとも部分的に基づいて検出される。いくつかの実施形態では、個別の動作は、押圧入力強度閾値を上回る個別の接触の強度の増大(例えば、個別の押圧入力の「ダウンストローク」)を検出したことに応答して実行される。いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る個別の接触の強度の増大、及びそれに続く押圧入力強度閾値より低い接触の強度の減少を含み、個別の動作は、それに続く押圧入力閾値より低い個別の接触の強度の減少(例えば、個別の押圧入力の「アップストローク」)を検出したことに応じて実行される。
【0122】
いくつかの実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的な入力を回避するために強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関係を有するヒステリシス強度閾値を定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりもX強度単位低い、又はヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、若しくはなんらかの妥当な割合である)。したがって、いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る個別の接触の強度の増大、及びそれに続く押圧入力強度閾値に対応するヒステリシス強度閾値より低い接触の強度の減少を含み、個別の動作は、それに続くヒステリシス強度閾値より低い個別の接触の強度の減少(例えば、個別の押圧入力の「アップストローク」)を検出したことに応じて実行される。同様に、いくつかの実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から押圧入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、その後のヒステリシス強度以下の強度への接触の強度の減少を検出するときにのみ検出され、個別の動作は、押圧入力(例えば、状況に応じて、接触の強度の増大又は接触の強度の減少)を検出したことに応じて実行される。
【0123】
説明を容易にするために、押圧入力強度閾値に関連付けられた押圧入力に応じて、又はその押圧入力を含むジェスチャに応じて実行される動作の説明は、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、及び/又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかの検出に応じて、任意選択的にトリガされる。更に、押圧入力強度閾値を下回る接触の強度の減少を検出したことに応じて実行されるように動作が記載される例では、動作は、任意選択的に、押圧入力強度閾値に対応し、かつそれよりも低いヒステリシス強度閾値を下回る接触の強度の減少を検出したことに応じて実行される。
【0124】
図5Aは、本開示のいくつかの実施形態によるデバイス500の例示的なアーキテクチャのブロック図を示す。
図5Aの実施形態では、メディア又は他のコンテンツは、任意選択的に、ネットワークインタフェース502を介してデバイス500により受信され、ネットワークインタフェース502は、任意選択的に、無線又は有線接続である。1つ以上のプロセッサ504は、メモリ506又はストレージ内に記憶されている任意の数のプログラムを任意選択的に実行する。メモリ506又はストレージは、本明細書に記載された方法及び/又はプロセス(例えば、方法700及び900)のうち1つ以上を実行する命令を任意選択的に含む。
【0125】
いくつかの実施形態では、ディスプレイコントローラ508は、本開示の様々なユーザインタフェースをディスプレイ514上に表示させる。更に、デバイス500への入力は、リモコン510により、リモートインタフェース512を介して任意選択的に提供される。リモートインタフェース512は任意選択的に、無線又は有線接続である。いくつかの実施形態では、以下でより詳細に説明するように、デバイス500への入力は多機能デバイス511(例えば、スマートフォン)によって提供され、多機能デバイスを構成する遠隔制御アプリケーションが実行されて遠隔制御機能をシミュレートする。いくつかの実施形態では、多機能デバイス511は、
図1A及び
図2のデバイス100及び
図3のデバイス300のうちの1つ以上に対応する。
図5Aの実施形態は本開示のデバイスの特徴を限定することを意図せず、本開示に記載された他の特徴を容易にするための他の構成要素もまた
図5Aのアーキテクチャに任意選択的に含まれることが理解される。いくつかの実施形態では、デバイス500は、任意選択的に、
図1A及び
図2の多機能デバイス100並びに
図3のデバイス300のうちの1つ以上に対応し、ネットワークインタフェース502は、任意選択的に、
図1A及び
図2のRF回路108、外部ポート124、及び周辺機器インタフェース118、並びに
図3のネットワーク通信インタフェース360のうちの1つ以上に対応し、プロセッサ504は、任意選択的に、
図1Aのプロセッサ120及び
図3のCPU310のうちの1つ以上に対応し、ディスプレイコントローラ508は、任意選択的に、
図1Aのディスプレイコントローラ156及び
図3のI/Oインタフェース330のうちの1つ以上に対応し、メモリ506は、任意選択的に、
図1Aのメモリ102及び
図3のメモリ370のうちの1つ以上に対応し、リモートインタフェース512は、任意選択的に、
図1Aの周辺機器インタフェース118及びI/Oサブシステム106(及び/又はその構成要素)並びに
図3のI/Oインタフェース330のうちの1つ以上に対応し、リモート512は、任意選択的に、
図1Aのスピーカ111、タッチ感知ディスプレイシステム112、マイクロフォン113、光センサ164、接触強度センサ165、触知出力生成器167、他の入力制御デバイス116、加速度計168、近接センサ166、及びI/Oサブシステム106、
図3のキーボード/マウス350、タッチパッド355、触知出力生成器357、及び接触強度センサ359、並びに
図4のタッチ感知面451のうちの1つ以上に対応するか又はそれを含み、ディスプレイ514は、任意選択的に、
図1A及び
図2のタッチ感知ディスプレイシステム112並びに
図3のディスプレイ340のうちの1つ以上に対応する。
【0126】
図5Bは、例示的なパーソナル電子デバイス500を示す。いくつかの実施形態では、デバイス500は、
図1A、
図1B、及び
図3に関して説明した構成要素のうちのいくつか又は全てを含むことができる。デバイス500は、I/Oセクション534を1つ以上のコンピュータプロセッサ536及びメモリ538に動作可能に結合するバス532を有する。I/Oセクション534は、ディスプレイ524に接続することができ、ディスプレイ524は、タッチ感知構成要素522及び任意選択的に強度センサ544(例えば、接触強度センサ)を有することができる。加えて、I/Oセクション534は、Wi-Fi、Bluetooth、近距離通信(near field communication、NFC)、セルラ、及び/又は他の無線通信技術を使用して、アプリケーション及びオペレーティングシステムデータを受信する通信ユニット50と接続することができる。デバイス500は、入力メカニズム526及び/又は528を含むことができる。入力メカニズム526、任意選択的に、例えば、回転可能な入力デバイス又は押下可能かつ回転可能な入力デバイスである。いくつかの実施例では、入力メカニズム528は、任意選択的にボタンである。
【0127】
いくつかの実施例では、入力メカニズム528は、任意選択的にマイクロフォンである。パーソナル電子デバイス500は、任意選択的に、GPSセンサ552、加速度計554、方向センサ560(例えば、コンパス)、ジャイロスコープ556、動きセンサ558、及び/又はそれらの組み合わせなどの様々なセンサを含み、それらは全て、I/Oセクション534に動作可能に接続することができる。
【0128】
パーソナル電子デバイス500のメモリ538は、コンピュータ実行可能命令を記憶する、1つ以上の非一時的コンピュータ可読記憶媒体を含むことができ、それらの命令は、1つ以上のコンピュータプロセッサ536によって実行されたときに、例えば、コンピュータプロセッサに、
図6~
図9を参照して説明されるプロセスを含む後述の技術を実行させることができる。コンピュータ可読記憶媒体は、命令実行システム、装置、若しくはデバイスによって、又は命令実行システム、装置、若しくはデバイスに関連して、使用されるコンピュータ実行可能命令を、有形に含み又は記憶することができる任意の媒体であり得る。いくつかの実施例では、記憶媒体は、一時的コンピュータ可読記憶媒体である。いくつかの実施例では、記憶媒体は、非一時的コンピュータ可読記憶媒体である。非一時的コンピュータ可読記憶媒体は、それらに限定されるものではないが、磁気記憶装置、光学記憶装置、及び/又は半導体記憶装置を含むことができる。そのような記憶装置の例としては、磁気ディスク、CD、DVD、又はBlu-ray技術に基づく光学ディスク、並びにフラッシュ、ソリッドステートドライブなどの永続性ソリッドステートメモリなどが挙げられる。パーソナル電子デバイス500は、
図5Bの構成要素及び構成に限定されず、
図1~
図3及び
図5Aに関して上述したようなものなど、複数の構成の他の又は追加の構成要素を含むことができる。
【0129】
また、1つ以上のステップは1つ以上の条件が満たされていることを条件とする本明細書に記載の方法では、本方法の様々な繰り返しにおいて本方法の条件付きステップの全ての条件が繰り返しの中で満たされるように、前述の方法を何度も繰り返せることを理解されたい。例えば、ある方法について、条件が満たされた場合に第1のステップを実行し、条件が満たされなかった場合に第2のステップを実行する必要がある場合、当業者であれば、条件が満たさるまで、及び、満たされなくなるまで、請求されたステップが順不同に繰り返されることを理解することができるだろう。したがって、1つ以上の条件が満たされていることを条件とする1つ以上のステップについて記載される方法は、本方法に記載される各条件が満たされるまで繰り返される方法として書き換えることができる。しかしながら、これは、システム又はコンピュータ可読媒体が対応する1つ以上の条件が満たされていること基づいて条件付き動作を実行する命令を含む、したがって、方法ステップが条件とする全条件が満たされるまで方法ステップを明確に繰り返すことなく条件事項が満たされされているか否かをシステム又はコンピュータ可読媒体が判定できる、システム又はコンピュータ可読媒体の請求項には不要である。当業者はまた、条件付きステップによる方法と同様に、システム又はコンピュータ可読記憶媒体が全ての条件付きステップが実行されたことを確保するのに必要な回数だけ方法ステップを繰り返せることを理解するであろう。
【0130】
本明細書では、「アフォーダンス」という用語は、任意選択的にデバイス100、300、500、及び/又は511(
図1A、
図3、及び
図5A~
図5B)のディスプレイスクリーン上に表示されるユーザ対話グラフィカルユーザインタフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及び文字(例えば、ハイパーリンク)はそれぞれ、任意選択的に、アフォーダンスを構成する。
【0131】
本明細書で使用するとき、「インストール済みアプリケーション」とは、電子デバイス(例えば、デバイス100、300、500、及び/又は511)上にダウンロードされており、そのデバイス上で起動される(例えば、開かれた状態になる)準備が整っている、ソフトウェアアプリケーションを指す。いくつかの実施形態では、ダウンロードされたアプリケーションは、ダウンロードされたパッケージからプログラム部分を抽出し、抽出された部分をコンピュータシステムのオペレーティングシステムと統合するインストールプログラムによって、インストール済みアプリケーションになる。
【0132】
本明細書では、「開いているアプリケーション」又は「実行中のアプリケーション」という用語は、保持された状態情報(例えば、デバイス/グローバル内部状態157及び/又はアプリケーション内部状態192の一部として)を有するソフトウェアアプリケーションを指す。開いている又は実行中のアプリケーションは、任意選択的に、以下のタイプのアプリケーションのうちのいずれか1つである。
・アプリケーションが使用されているデバイスのディスプレイスクリーンに現在表示されているアクティブなアプリケーション、
・現在表示されていないが、アプリケーションに対する1つ以上のプロセスが1つ以上のプロセッサによって処理されている背景アプリケーション(又は背景プロセス)、並びに
・稼働していないが、(それぞれ、揮発性及び不揮発性の)メモリに記憶されており、かつアプリケーションの実行を再開するために使用することができる状態情報を有する、中断又は休止状態のアプリケーション。
【0133】
本明細書では、「閉じているアプリケーション」という用語は、保持された状態情報を有していないソフトウェアアプリケーションを指す(例えば、閉じているアプリケーションに対する状態情報は、デバイスのメモリ内に記憶されていない)。したがって、アプリケーションを閉じることは、アプリケーションに対するアプリケーションプロセスを停止及び/又は除去し、アプリケーションに対する状態情報をデバイスのメモリから除去することを含む。概して、第1のアプリケーション中に第2のアプリケーションを開いても、第1のアプリケーションは閉じない。第2のアプリケーションが表示されており、かつ第1のアプリケーションが表示を終了されたとき、第1のアプリケーションは背景アプリケーションになる。
【0134】
次に、ポータブル多機能デバイス100、デバイス300、デバイス500、又はデバイス511などの電子デバイス上で実施されるユーザインタフェース(「UI」)及び関連プロセスの実施形態に注意を向ける。
ユーザインタフェース及び関連するプロセス
電子デバイスの現在位置を表示するためのユーザインタフェース
【0135】
ユーザは、電子デバイスを使用して地図上の地理的位置を表示及び発見することを含む、多くの異なる方法で電子デバイスと対話する。いくつかの実施形態では、ユーザは、電子デバイスの割り出された位置を地図上に見ることができる。以下に説明する実施形態は、電子デバイスの割り出された位置を地図上に表示する方法を提供し、それによってユーザと電子デバイスとの対話を強化する方法を提供する。デバイスとの双方向作用を強化することにより、動作を実行するためにユーザが必要な時間の量を低減し、したがって、デバイスの電力使用量を低減してバッテリ駆動デバイスに対してバッテリ寿命を増大する。
【0136】
図6A~
図6Tは、本開示のいくつかの実施形態に係る、電子デバイスが電子デバイスの現在位置を示す例示的な方法を示す。これらの図中の実施形態は、
図7を参照して説明するプロセスを含め、以下に説明するプロセスを例示するために使用される。
【0137】
図6Aは、(例えば、ディスプレイデバイスを介して、表示生成構成要素を介してなど)ユーザインタフェース600を表示する電子デバイス500を示す。いくつかの実施形態では、ユーザインタフェース600は、表示生成構成要素を介して表示される。いくつかの実施形態では、表示生成構成要素は、表示データを受信することができかつユーザインタフェースを表示することができるハードウェア構成要素(例えば、電気的構成要素を含む)である。いくつかの実施形態では、表示生成構成要素の例として、タッチスクリーンディスプレイ(例えば、タッチスクリーン504)、モニタ、テレビ、プロジェクタ、一体型の、個別の、若しくは外付けのディスプレイデバイス、又は、デバイス500と通信する任意の他の好適なディスプレイデバイスが挙げられる。
【0138】
いくつかの実施形態では、ユーザインタフェース600は地図アプリケーション(例えば、ユーザが地理的位置を見ることができ、位置を探すことができ、及び/又はある場所から別の場所への道案内を要求することができるアプリケーション)のユーザインタフェースである。いくつかの実施形態では、地図アプリケーションは、デバイス500にインストールされたアプリケーションである。
【0139】
いくつかの実施形態では、地図アプリケーションは、様々な地理的位置、特定地点などに関連付けられた地図、経路、位置メタデータ、及び/又は画像(例えば、撮影写真)を提示することができる。地図アプリケーションは、地図、オブジェクト、経路、特定地点、画像などを定義するデータを含む地図データをナビゲーションサーバから取得することができる。例えば、地図データは、それぞれの地図タイルに対応する地理的エリアの地図データを含む地図タイルとして受信することができる。地図データは、とりわけ、道路及び/又は道路セグメント、特定地点又は他の位置のメタデータ、建物の3次元モデル、インフラストラクチャ、及び様々な場所にある他のオブジェクト、及び/又は様々な位置で撮影された画像を含むことができる。地図アプリケーションは、ネットワーク(例えば、ローカルエリアネットワーク、セルラデータネットワーク、無線ネットワーク、インターネット、広域ネットワークなど)を介して、デバイス500が頻繁に訪れる場所に関連付けられた地図データ(例えば、地図タイル)をナビゲーションサーバから要求することができる。地図アプリケーションは、地図データを地図データベースに記憶することができる。地図アプリケーションは、デバイス500から受け取った地図データベース及び/又は他の地図データに記憶された地図データを使用して、本明細書に記載のナビゲーションアプリケーション特徴(例えば、画像を組み合わせて画像品質を改善する及び/又は仮想視差を導入して3次元効果を作成する、動的道路シーンオーバレイ)を提供することができる。
【0140】
いくつかの実施形態では、ナビゲーションサーバは、地図データを取得、生成、及び/又は記憶するように構成されたソフトウェアサーバであり得る。例えば、ナビゲーションサーバは、地図データに含まれる様々な場所のライダ生成点群(例えば、画像撮影位置近傍のオブジェクトの表面の位置を定義する点)を取得することができる。ナビゲーションサーバは、場所のそれぞれの点群を使用して、様々な場所の各々について3次元モデル(例えば、3次元メッシュ)を生成することができる。ナビゲーションサーバは、様々な場所(例えば、撮影場所)で撮影された画像を取得し、この画像を使用して3次元モデルにテクスチャを追加し、それによって対応する位置を表現する写実的な3次元画像を生成することができる。例えば、撮影画像(例えば、写真、パノラマ写真など)を特定の場所の3次元モデルの表面で延伸して、特定の場所の写実的な3次元ビューを生成することができる。3次元モデル及びテクスチャ(例えば、撮影画像、延伸画像、3次元モデルに適用された画像など)は、ナビゲーションサーバ上の地図データベースに記憶すること、及び、本明細書に記載の様々な特徴及び機能を提供するためにユーザデバイス(例えば、デバイス500)に供給することができる。ナビゲーションサーバは、地図データベース内の他の地図データを取得、生成、及び/又は記憶するように構成することができる。
【0141】
図6Aでは、ユーザインタフェース600は、電子デバイスの割り出された現在位置に対応する地図の表現を含む。例えば、
図6Aでは、ユーザインタフェース600は、道路、ランドマーク、会社、及び/又は建物などの表現を含む特定の地理的位置を表示する。いくつかの実施形態では、ユーザインタフェース600は、道路、建物、特定地点、及び/又は他の地図データのグラフィック表現を含む。いくつかの実施形態では、ユーザインタフェース600は、場所又は住所を検索するための検索基準を入力するためのテキストフィールドを含むことができる。例えば、ユーザは、テキスト入力ボックス内の場所の名称(例えば、会社、ランドマークなど)又は住所をタイプして、ユーザ指定の場所又は住所の検索を地図アプリケーションに開始させることができる。例えば、地図アプリケーションは、検索基準に一致する位置(例えば、場所)の地図データベースを介して検索することができる。地図アプリケーションは、ナビゲーションサーバに要求を送信して、ナビゲーションサーバに検索基準と一致する場所を探索させることができる。検索基準に対応する地図データを取得した後、ナビゲーションアプリケーションは、検索基準に一致する場所のリストを提示することができ、ユーザは、場所のうちの1つを選択して、その場所(例えば、住所、特定地点、ランドマークなど)をユーザインタフェース600上に提示させることができる。
【0142】
図6Aでは、ユーザインタフェース600は、電子デバイスによって割り出された電子デバイスの位置を示す位置インジケータを含む。いくつかの実施形態では、ユーザインタフェース600は、位置サービスが無効にされている場合、及び/又は、デバイスがデバイスの現在位置を十分な精度(例えば、事前設定された閾値以上の精度)にしたがって決定することができない場合、位置インジケータを含まない。
【0143】
いくつかの実施形態では、電子デバイスは、電子デバイスの位置を割り出すための1つ以上の構成要素を含む。いくつかの実施形態では、電子デバイスは、1つ以上のGPS衛星から信号を受信して、GPS衛星から受信した信号に基づいてデバイスの位置を割り出すように構成されたGPS受信機を含む。いくつかの実施形態では、電子デバイスは、セルラ又はWiFiネットワークから信号を受信して、セルラ又はWiFiネットワークから受信した信号に基づいてデバイスの位置を割り出すことができる。いくつかの実施形態では、デバイスの位置を割り出す他の方法が可能である。いくつかの実施形態では、デバイス500は、複数の方法を使用してデバイスの現在位置を割り出すことができる(例えば、GPS衛星とセルラタワーとを組み合わせた三角測量など)。
【0144】
いくつかの実施形態では、デバイスは、デバイスの位置を割り出す1つ以上の方法に基づいて、デバイスの位置を特定レベルの精度にしたがって決定することができる。例えば、デバイスが1つのGPS衛星だけから信号を受信している場合、1つの衛星からの信号から導出され得るデバイスの位置はそれほど正確ではなく、デバイスの位置を大きな地理的領域に絞ることしかできない。同様に、デバイスが多くの衛星から信号を受信している場合、複数の信号から導出されたデバイスの位置はより正確であり、デバイスは、デバイスの位置をより小さい地理的領域に絞ることができる。例えば、複数のGPS衛星から信号を受信することにより、デバイスは、デバイスの位置を特定レベルの精度に三角測量することができる。したがって、デバイスは、デバイスが信号を受信しているGPS衛星の数に基づいて、デバイスが入っている地理的領域を決定することができる。いくつかの実施形態では、位置の割出しには、本質的に、デバイスが信号を受信しているGPS衛星の数に基づいて誤差が存在する(例えば、2つのGPS衛星では誤差2マイル、2つのGPS衛星では誤差1000フィート、4つのGPS衛星では誤差200フィートなど)が存在する。いくつかの実施形態では、その位置の場所をいずれかの確実性レベルにしたがって決定できる最小数の衛星(例えば、3つの衛星、4つの衛星)が必要である。
【0145】
いくつかの実施形態では、位置精度を決定する他の方法においても同じ誤差が存在し得る。例えば、デバイスが3つのセルラタワーと通信している場合、デバイス(及び任意選択的に、セルラネットワーク)はデバイスの位置を特定の精度にしたがって三角測量することができるが、デバイスが1つのセルラタワーのみと通信している場合、デバイスの位置の誤差が大きくなる。
【0146】
いくつかの実施形態では、例えば、高層建築物などの干渉がある場合、その場所が広い平野である場合、又は、その場所で衛星信号の強度が弱い場合、割り出された位置の精度は地理的位置の特性に依存する。他の環境要因が誤差に影響を及ぼすことがある(例えば、高度、周囲温度、湿度、及び/又は、その他の電磁波が、GPS衛星、セルラ、及び/又は、WiFiネットワーク信号などの信号特性に影響を及ぼすことがある)。したがって、いくつかの実施形態では、位置の割出しにセルラ、WiFi、又はGPS衛星からの信号を使用可能か否かに環境要因が影響を及ぼすことがある。いくつかの実施形態では、信号を使用可能であり得るが、劣化した信号を用いた位置の割出しは精度が低くなる。
【0147】
いくつかの実施形態では、ユーザインタフェース600に表示される位置インジケータのタイプは、地図の現在のズームレベル及び割り出された位置の精度に依存する。いくつかの実施形態では、地図アプリケーションにはいくつかのズームレベルがあり、各個別のズームレベルは、それぞれの閾値精度レベルを有し、ズームレベルに対応する地図の一部分を示す。いくつかの実施形態では、デバイスの割り出された位置の精度が現在のズームレベルの個別の閾値精度レベルを超えている場合、位置インジケータは、デバイスがあると判定された地図上の単一位置を示す、例えばピンポイントなどの点インジケータとして表示される。いくつかの実装形態では、この位置は、単一の位置、例えば、緯度及び経度、座標で記述することができる。いくつかの実施形態では、割り出された位置の精度が現在のズームレベルのそれぞれの閾値精度レベル未満である場合、位置インジケータは、電子デバイスの正確な割り出された位置に対応する点インジケータを表示せずに、デバイスがあると判定された地図上の領域を示す領域インジケータとして表示される。いくつかの実施形態では、領域インジケータは粗い位置を示し、円として表現されうる(例えば、位置インジケータ602)。円の半径は位置割出しの精度及び/又は誤差を表す(例えば、位置インジケータ602の半径は位置割出しの誤差に等しい)。
【0148】
図6Aでは、デバイスの割り出された位置の精度606は、現在のズームレベルに関連付けられた閾値レベル608未満である。いくつかの実施形態では、デバイスの割り出された位置の精度606が閾値レベル608未満であるため、ユーザインタフェース600が領域インジケータを含む。したがって、
図6Aでは、ユーザインタフェース600が位置インジケータ602を含む。いくつかの実施形態では、位置インジケータ602は領域インジケータであり、(例えば、デバイスの割り出された位置の精度に基づいて)デバイスが位置する地理的領域を示す。
図6Aでは、位置インジケータ602は、デバイスがあると判定された地理的領域に対応する地理的領域を包含する円である。例えば、デバイス500の位置が500フィートの精度(例えば、位置割出しの誤差が500フィート)で割り出された場合、位置インジケータ602の半径は500フィートに対応する(例えば、デバイス500は位置インジケータ602の内側の地図上のどこに位置してもよい)が、デバイス500の位置が50フィートの精度(例えば、位置割出しの誤差が50フィート)で割り出された場合、位置インジケータ602の半径は50フィートに対応する(例えば、位置インジケータ602の半径は、地図の現在の縮尺に基づいて50フィートを表すサイズを有する)。いくつかの実施形態では、位置インジケータ602の他の形状(例えば、正方形、長方形、多角形など)が可能である。
【0149】
いくつかの実施形態では、
図6Aに示されるように、位置インジケータ602は、ユーザインタフェース600内のオブジェクトにオーバレイされ、部分的に透明であり、したがって、位置インジケータ602の位置での地図内のオブジェクトの少なくとも部分ビューを可能にする。以下でより詳細に説明するように、位置インジケータ602の透明度は、閾値レベル608に対するデバイスの割り出された位置の位置インジケータのサイズ及び/又は精度608に任意選択的に依存する。いくつかの実施形態では、位置インジケータ602は、脈動するアニメーションを表示し(例えば、一定の周期で一時的にサイズ拡大及び/又はサイズ縮小を行う、又はレーダと同様に位置インジケータ602内の円を拡張させる)、このようにして、デバイスの位置が継続的に割り出されていることを示す(任意選択的に、デバイスの位置は定期的に決定される)。いくつかの実施形態では、位置インジケータ602は、デバイスの位置割出しが継続的に行われていることを示す、位置インジケータ602の境界が周期的に太くなったり細くなったりするアニメーションを表示する(任意選択的に、このアニメーションは、以下で更に詳細に説明される位置インジケータ610上に表示される)。
【0150】
図6Aでは、ユーザインタフェース600は、デバイスの向きを示す向きインジケータ604を含む。いくつかの実施形態では、デバイス500は、デバイスの向きを判定するための1つ以上の構成要素を含む。いくつかの実施形態では、デバイス500は、ジャイロスコープ及び/又はコンパスを含み、デバイスが向いている方向、例えば、デバイスの向きを割り出すことができる。いくつかの実施形態では、向きインジケータは、向き情報が利用可能である場合にのみ表示される。
図6Aに示すように、向きインジケータ604は、位置インジケータ602の外側境界/周囲の一部分(例えば、円の円弧)に沿ったハロとして表示される。いくつかの実施形態では、向きインジケータ604の幅(例えば、位置インジケータ602の中心に対して垂直である向きインジケータ604の寸法)は、位置インジケータ602の半径よりも小さい。いくつかの実施形態では、向きインジケータ604の角度寸法(例えば、位置インジケータ602の全周に対する位置インジケータ602の外縁に沿った向きインジケータ604の長さ)は、デバイスの割り出された向きの精度を表す。例えば、デバイスが30度の精度(例えば、30度の誤差)で特定方向に向いているとデバイスが判定した場合、位置インジケータ602は、位置インジケータ602の外縁の合計360度のうち30度を包含し、位置インジケータ602の境界の、デバイスの割り出された向きに対応する部分に配置される。したがって、向きインジケータ604の長さ(例えば、弧長)は、任意選択的に、位置インジケータ602)の(上述のように、デバイスの位置の精度に基づく)半径に基づいている。いくつかの実施形態では、向きインジケータ604の長さは、向きインジケータ604の半径を向き精度の角度に乗算したものである。したがって、向きインジケータ604の寸法は、任意選択的に、(例えば、角度寸法を規定する)、向き精度及び現在のズームレベルの精度閾値に対する(例えば、位置インジケータ602の半径を規定する)位置精度に基づいている。以下でより詳細に説明するように、いくつかの実施形態では、向きインジケータ604の幅(例えば、弧長)は、ズームレベルの変化に応答して変化するが、他の実施形態では、向きインジケータ604の幅は、ズームレベルの変化に応答して変化しない(例えば、どの位置インジケータが表示されているかに基づく)。
【0151】
図6Bは、デバイスの割り出された位置の精度606が現在のズームレベル(例えば、
図6Aと同じズーム)の閾値608を超えている実施形態を示している。いくつかの実施形態では、デバイスの割り出された位置の精度606が現在のズームレベルの閾値608を超えているため、ユーザインタフェース600は、位置インジケータ602の代わりに位置インジケータ610を含む。いくつかの実施形態では、位置インジケータ610は、点インジケータ(例えば、塗りつぶされたドット)であり、デバイスが位置する単一の地理的位置(例えば、単一の位置座標によって表される)を示す。いくつかの実施形態では、デバイスが含まれる地理的領域は、現在のズームレベル(例えば、現在の地図の縮尺)で地図の十分小さい領域を包含すると判断され、領域インジケータの表示はユーザに最小限の情報を提供するので(例えば、そうでない場合は領域インジケータがほとんど単一の位置として現れるため)、位置インジケータ610は点インジケータとして表示される。いくつかの実施形態では、位置インジケータ602は、外側に脈動するアニメーションを表示し(例えば、一定の周期で一時的にサイズ拡大及び/又はサイズ縮小を行う、又はレーダと同様に位置インジケータ610から外側に円を拡張させる)、このようにして、デバイスの位置が継続的に判定されていることを示す(任意選択的に、デバイスの位置は定期的に決定される)。
【0152】
図6Bでは、ユーザインタフェース600は、デバイスの向きを示す向きインジケータ605を含む。向きインジケータ604と同様に、向き605は、デバイスの割り出された向きの精度を表すそれぞれの角度寸法を有する。いくつかの実施形態では、
図6Bに示されるように、向きインジケータ605は、位置インジケータ610から外側に円錐状に延在する。いくつかの実施形態では、向きインジケータ605の幅(例えば、位置インジケータ602の中心に対して垂直である向きインジケータ604の寸法)は、位置インジケータ610の半径よりも大きい。いくつかの実施形態では、任意選択的に、位置インジケータ610が地図の現在のズームレベルに基づいてサイズを変化させないため、向きインジケータ605は地図の現在のズームレベルに基づいて幅を変化させない。
【0153】
例えば、
図6Cでは、接触603-1及び接触603-2の外向きピンチジェスチャに対応するユーザ入力が受け取られる。いくつかの実施形態では、外向きピンチジェスチャは、(例えば、地図内のオブジェクトのサイズを拡張するために)地図を内側にズームする要求である。いくつかの実施形態では、他のジェスチャ又は入力が、地図を内側にズームする要求に対応する。
図6Cでは、地図をズームインする要求に応答して、地図が拡大し、精度閾値レベル、精度閾値レベル608が(例えば、
図6Bと比較して)増加する。いくつかの実施形態では、地図のスケールが変化したため、位置インジケータを点インジケータとして表示する閾値レベル608が高くなる。このように、位置インジケータを点インジケータとして表示するには、より高い精度レベルが必要である。
図6Cでは、閾値レベル608が増加しても、精度606は閾値レベル608よりも高いままである。したがって、デバイスの位置の精度は、位置インジケータを点インジケータとして維持するのに十分に高い。したがって、
図6Cでは、位置インジケータ610が示されている。いくつかの実施形態では、地図がズームインされても、位置インジケータ610及び向きインジケータ605はサイズを変化させない(例えば、ユーザズームイン又はアウトに応答してサイズを変化させる位置インジケータ602とは対照的に、精度606が閾値レベル608を超えて維持される限り、位置インジケータ610は同じサイズを維持する)。いくつかの実施形態では、(例えば、位置インジケータ610を点インジケータとして維持することによって)位置インジケータ610のサイズを維持することにより、デバイスの割り出された位置におけるユーザの信頼性を維持し、それによって、ユーザがデバイスの位置を見るのに要する時間を最小限に抑え、ユーザがデバイスの位置を検証するために要する入力の数を減らす。
【0154】
いくつかの実施形態では、閾値レベル608は、ズームレベルの変化に応答して変化しない。例えば、全てのズームレベルが対応する固有の閾値レベルを有するわけではない。いくつかの実施形態では、一部又は全部のズームレベルが同じ閾値レベルを有する。したがって、いくつかの実施形態では、ズームイン又はズームアウトによって閾値レベルの変化(例えば、増加又は減少)が生じない。したがって、いくつかの実施形態では、位置インジケータは、ズームイン又はズームアウトに応答して点インジケータ(例えば、位置インジケータ610)から領域インジケータ(例えば、位置インジケータ602)に変化するのではなく、割り出された位置の精度の増減(例えば、精度に影響を及ぼす環境要因の変化、及び/又は、より多数の若しくはより少数のGPS衛星からの信号の受信による)に基づいて変化する。
【0155】
図6Dでは、精度606が一定のままで、接触603-1及び接触603-2の外向きピンチジェスチャに対応するユーザ入力(例えば、ズームインの要求)が受け取られる。いくつかの実施形態では、
図6Dに示すように、地図をズームインする要求に応答して、閾値レベル608が(例えば、
図6Cと比較して)更に増加する。
図6Dでは、閾値レベル608が、精度606を超えて増加している。現在、精度606が閾値608未満である結果として、位置インジケータが領域インジケータとして表示される。したがって、
図6Dでは、ユーザインタフェース600は、位置インジケータ610(例えば、点インジケータ)を含む状態から、位置インジケータ602(例えば、領域インジケータ)を含む状態に切り替わる。
図6Dに示すように、精度606が閾値608よりわずかに小さいため、位置インジケータ602のサイズが小さい(例えば、
図6Aに関して上述したように、デバイスがあると判定された地理的領域を反映する)。
図6Dに示すように、位置インジケータ602は、第1の透明度レベルを有する。いくつかの実施形態では、位置インジケータ602の透明度は、位置インジケータ602のサイズに基づく。したがって、
図6Dでは、位置インジケータ602が比較的小さいため、位置インジケータ602は比較的不透明である(例えば、低透明度レベル)。
【0156】
図6Eでは、精度606が一定のままで、接触603-1及び接触603-2の外向きピンチジェスチャに対応する別のユーザ入力(例えば、ズームインの要求)が受け取られる。いくつかの実施形態では、
図6Eに示すように、地図をズームインする要求に応答して、閾値レベル608が(例えば、
図6Dと比較して)更に増加する。
図6Eでは、精度606は同じままであるが、閾値レベル608は、現在、精度606から遠く離れている。いくつかの実施形態では、精度606が閾値精度606から遠く離れている結果として、位置インジケータ602はサイズが増加する。いくつかの実施形態では、位置インジケータ602のサイズの増加は、デバイスが位置すると割り出された領域(例えば、
図6Eの位置インジケータ602が
図6Dの位置インジケータ602と同じ地理的領域を表す)に対する地図の縮尺の変化を反映する。
図6Eに示すように、位置インジケータ602はサイズが増加したため、現在、位置インジケータ602は、
図6Dと比較して透明度が高い。いくつかの実施形態では、位置インジケータ602のサイズが増加したため、向きインジケータ604の角度寸法は同じままで、向きインジケータ604の幅(例えば、弧長)も(例えば、向きの精度が変化していないことを前提として、
図6Dと比較して)増加している。
【0157】
図6Fでは、精度606が一定のままで、接触603-1及び接触603-2の外向きピンチジェスチャに対応する別のユーザ入力(例えば、ズームインの要求)が受け取られる。いくつかの実施形態では、
図6Fに示すように、地図をズームインする要求に応答して、閾値レベル608が(例えば、
図6Eと比較して)更に増加する。
図6Fでは、精度606は同じままであるが、現在、閾値レベル608は精度606から遠く離れている。いくつかの実施形態では、精度606が閾値精度606から遠く離れている結果として、位置インジケータ602は更にサイズが増加する。いくつかの実施形態では、位置インジケータ602のサイズの増加は、デバイスがあると判定される領域(例えば、
図6Fの位置インジケータ602が
図6Eの位置インジケータ602と同じ地理的領域を表す)に対する地図の縮尺の変化を反映する。
図6Fに示されるように、位置インジケータ602がサイズが増加したため、現在、位置インジケータ602は、
図6Eと比較して透明度が高い。いくつかの実施形態では、位置インジケータ602のサイズが増加したため、向きインジケータ604の幅(例えば、弧長)も(例えば、向きの精度が変化していないことを前提として、
図6Eと比較して)増加しているが、向きインジケータ604の角度寸法は同じままである。
【0158】
図6Gでは、精度606が一定のままで、接触603-1及び接触603-2の外向きピンチジェスチャに対応する別のユーザ入力(例えば、ズームインの要求)が受け取られる。いくつかの実施形態では、
図6Gに示すように、地図をズームインする要求に応答して、閾値レベル608が(例えば、
図6Fと比較して)更に増加する。
図6Gでは、閾値レベル608の増加に応答して位置インジケータ602のサイズが増加したことにより、位置インジケータ602の透明度は現在100%である。したがって、位置インジケータ602は完全に透明であり、もはやユーザインタフェース600に表示されない(任意選択で、いくつかの実施形態では、位置インジケータ602が完全に透明であっても、位置インジケータ602の境界は透明度を変化させず表示され続ける)。いくつかの実施形態では、位置インジケータ602が完全に透明になる(例えば、表示を停止する)閾値サイズは、位置インジケータ602が、そうでなければタッチスクリーン504の表示領域全体を包含する場合である。いくつかの実施形態では、位置インジケータ602がタッチスクリーン504の表示領域全体を包含する場合、(例えば、位置インジケータ602が全く表示されない場合にも実現されることであるが、表示領域全体が同じ色合を有するので)位置インジケータ602の表示が最小値を提供する。いくつかの実施形態では、閾値サイズは、表示領域の50%、表示領域66%、表示領域の75%、表示領域の90%、表示領域の95%などである。いくつかの実施形態では、位置インジケータ602が完全に透明になる閾値サイズ(任意選択で境界線を除く)は、位置インジケータ602が地図の表現の小さい方の寸法(例えば、地図の表現の幅又は地図の表現の高さのうち小さい方)のサイズに達した(例えば、サイズが同等以上になった)ときである。いくつかの実施形態では、位置インジケータ602が完全に透明になる閾値サイズ(任意選択で境界線を除く)は、位置インジケータ602が地図の表現の大きい方の寸法(例えば、地図の表現の幅又は地図の表現の高さのうち大きい方)のサイズに達した(例えば、サイズが同等以上になった)ときである。
【0159】
図6Hでは、精度606が一定のままで、接触603-1及び接触603-2の内向きピンチジェスチャに対応するユーザ入力(例えば、ズームアウトの要求)が受け取られる。いくつかの実施形態では、地図をズームアウトする要求に応答して、閾値レベル608が(例えば、
図6Fと比較して)減少する。いくつかの実施形態では、精度606が同じままでの閾値レベル608の減少に応答して、位置インジケータ602のサイズが減少し、透明度レベルが減少する。いくつかの実施形態では、向きインジケータ604の幅/弧長が(例えば、
図6Fと比較して)減少する。
【0160】
図6Iにおいて、デバイス500は、デバイス500の向きが変わったことを検出する。例えば、
図6Iでは、デバイス500が北西向きから北東向きに変わる。いくつかの実施形態では、向きの変化を検出することに応答して、向きインジケータ604は、例えば、割り出された向きの精度が同じままで、それぞれの向きに向くように(例えば、北東を向くように)位置インジケータ602の外側境界に沿って移動する。
【0161】
図6Jでは、精度606が一定のままで、接触603-1及び接触603-2の内向きピンチジェスチャに対応するユーザ入力(例えば、ズームアウトの要求)が受け取られる。いくつかの実施形態では、地図をズームアウトする要求に応答して、閾値レベル608が(例えば、
図6Iと比較して)精度606未満に減少する。いくつかの実施形態では、他のジェスチャ又は入力は、地図を外向きにズームする要求に対応する。いくつかの実施形態では、現在、精度606が閾値608よりも高いことに応答して、
図6Jに示すように、デバイス600が、位置インジケータ602の表示から位置インジケータ610の表示に切り替わる。いくつかの実施形態では、位置インジケータ610の表示により、デバイス500が、向きインジケータ604の表示から向きインジケータ605の表示に切り替わる。いくつかの実施形態では、(例えば、デバイス500が向きの変化を判定していないこと前提として)向きインジケータ605が、
図6Iの向きインジケータ604と同じ方向を向いている。
【0162】
図6Jでは、デバイス500は、デバイス500の向きが変わったことを検出する。例えば、
図6Kでは、デバイス500が北東向きから北西向きに変化する。いくつかの実施形態では、向き変化の検出に応答して、向きインジケータ605が北東向きから北西向きに回転する。
【0163】
図6Lでは、デバイスの割り出された向きが一定のままで、接触603-1及び接触603-2の外向きピンチジェスチャに対応するユーザ入力(例えば、ズームインの要求)が受け取られる。いくつかの実施形態では、地図をズームインする要求に応答して、閾値レベル608が、精度606を超えて増加する。いくつかの実施形態では、現在、精度606が閾値608よりも低いことに応答して、
図6Lに示すように、デバイス600が、位置インジケータ610の表示から位置インジケータ602の表示に切り替わる。いくつかの実施形態では、位置インジケータ602の表示により、デバイス500が、向きインジケータ605の表示から向きインジケータ604の表示に切り替わる。いくつかの実施形態では、(例えば、デバイス500が向きの変化を判定していないことを前提として)向きインジケータ604が、
図6Kの向きインジケータ605と同じ方向を向いている。
【0164】
図6Mは、ユーザインタフェース600がある位置から別の位置への道案内を表示している間に、位置インジケータ610及び向きインジケータ605が表示される実施形態を示す。
図6Mでは、精度606が閾値レベル608を超えており、したがって、ユーザインタフェース600が点インジケータ(例えば、位置インジケータ610)を含んでいる。
図6Nは、ユーザインタフェース600がある位置から別の位置への道案内を表示している間に、位置インジケータ602及び向きインジケータ604が表示される実施形態を示している。
図6Nでは、精度606は閾値レベル608未満であり、したがって、ユーザインタフェース600は、領域インジケータ(例えば、位置インジケータ602)を含む。したがって、上述のように、デバイス500は、ユーザインタフェース600が方向を表示しているか表示していないかに関係なく、(
図6A~
図6Lに関して上述したように、場合により)位置インジケータ602若しくは位置インジケータ610、及び/又は、向きインジケータ604又は向きインジケータ605を表示することができる。
【0165】
図6Oでは、位置インジケータ610(例えば、位置精度が閾値608よりも大きいため、点位置インジケータ)及び位置インジケータ610上の向きインジケータ604を表示している間に、位置インジケータ610を選択するユーザ入力603oが受け取られる。いくつかの実施形態では、位置インジケータ610の選択は、デバイス500の現在位置に関する情報を表示する要求に対応する。いくつかの実施形態では、デバイス500は、ユーザ入力603oに応答して、
図6Pに示すように、ユーザインタフェース616を表示する。いくつかの実施形態では、ユーザインタフェース616は、デバイス500の割り出された位置に関連する情報及び/又はオプションを含むユーザインタフェースである。
図6Pでは、ユーザインタフェース616は、オプション618、オプション620、及びオプション622(任意選択で、同じ行に)を含む。いくつかの実施形態では、オプション618は、デバイス500の現在位置をマークする(例えば、将来のアクセスのためにこの位置を保存する)ために選ぶことができる。いくつかの実施形態では、オプション620は、方法900に関して以下に記載されるように、デバイスの割り出された位置を改善するプロセスを開始するために選ぶことができる。いくつかの実施形態では、オプション622は、デバイス500の現在位置を別の用途と共有する(例えば、デバイス500の現在位置に関する情報を別のデバイスに送信する)ために選ぶことができる。
【0166】
いくつかの実施形態では、ユーザ入力603oに応じて、デバイス500がユーザアイコン614を表示する。いくつかの実施形態では、ユーザアイコン614がユーザの表現であり、テキスト、画像、グラフィック、又はユーザの任意の他の適切な表現を含むことができる。いくつかの実施形態では、ユーザアイコン614(例えば、画像、グラフィック、テキストなど)の視覚的特徴は、ユーザによって設定される。いくつかの実施形態では、ユーザアイコン614は、他のアプリケーション(例えば、地図アプリケーション以外のアプリケーション)に表示されるユーザの表現と同様又は同一である。例えば、ユーザアイコン614は、任意選択的に、ユーザのアカウント(例えば、ユーザプロフィール)に関連付けられ、複数の他のアプリケーション(例えば、ログインする)にこのアカウントを使用することができる。いくつかの実施形態では、ユーザアイコン614は、位置インジケータ610の方を指す要素(例えば、矢印、三角形、ユーザアイコン614から突出する要素、又はユーザアイコン614を位置インジケータ610に関連付ける任意の他の適切な視覚要素)を含み、ユーザが位置インジケータ610の位置にいると判定されたことを示す、いくつかの実施形態では、
図6Pに示されるように、ユーザアイコン614及び/又はユーザインタフェース616が表示されるとき、向きインジケータ604は、位置インジケータ610上に表示されなくなる。いくつかの実施形態では、向きインジケータ604の表示は、位置インジケータ610上に維持される。
【0167】
図6Qでは、接触603q-1及び接触603q-2の外向きピンチジェスチャに対応するユーザ入力(例えば、ズームインの要求)が受け取られる。いくつかの実施形態では、地図をズームインする要求に応答して、地図のズームイン及び閾値レベル608の表現が、
図6Qに示すように、精度606のレベルを超えて増加する。上述したように、地図の表現のズームインに応答して(例えば、精度606が閾値レベル608未満であるという判定に従って)、デバイス500は、位置インジケータ610(例えば、ポイントインジケータ)の表示から位置インジケータ602(例えば、エリアインジケータ)の表示に切り替わる。上述のように、閾値レベルと比較したときのデバイス500の割り出された位置の精度により、位置インジケータ602のサイズが任意選択的に決定される。したがって、
図6Qでは、位置インジケータ602は、ユーザアイコン614のサイズよりも小さい半径を有する。そのような実施形態では、ユーザアイコン614は、任意選択的に、位置インジケータ602の少なくとも一部分をオーバレイする(例えば、重ね合わせる)。例えば、位置インジケータ602のサイズがユーザアイコン614のサイズ以下である場合、ユーザアイコン614の少なくとも一部分は位置インジケータ602の少なくとも一部分上に表示され、ユーザアイコン614の少なくとも一部分は位置インジケータ602上に表示されない。いくつかの実施形態では、ユーザアイコン614は、位置インジケータ602の方を指す要素を含み続けているが、
図6Qに示すように、ユーザアイコン614は、任意選択的に、要素が位置インジケータ602の中心(又は位置インジケータ602内若しくは位置インジケータ602上の事前定義された別の位置)を指すように配置される。
【0168】
図6Qでは、地図をズームインする要求に応答して、デバイス500は、位置インジケータ604上に向きインジケータ604を表示し(例えば、向きインジケータ604の表示を生じさせる、又は、場合によっては、向きインジケータ604の表示を維持する)、位置インジケータ604上に表示されることに基づいて、向きインジケータ604の視覚的外観を変更する。いくつかの実施形態では、向きインジケータ604及びユーザアイコン614の相対的なサイズに基づいて、向きインジケータ604は、ユーザアイコン614によって少なくとも部分的に隠される(例えば、
図6Qでは、向きインジケータ604は、ユーザアイコン614によって完全に隠されている)。向きインジケータ604が位置インジケータ610上に表示される場合と比較して、位置インジケータ602上に表示されるときの向きインジケータ604の視覚的外観がどのように異なるかについての更なる詳細を、
図6Rに関して以下に説明する。
【0169】
図6Rでは、接触603r-1及び接触603r-2の外向きピンチジェスチャに対応する別のユーザ入力(例えば、ズームインの要求)が受け取られる。いくつかの実施形態では、地図をズームインする要求に応答して、
図6Rに示すように、地図のズームイン及び閾値レベル608の表現が更に増加する。いくつかの実施形態では、閾値レベル608が精度606をはるかに超えたことに応答して、(例えば、
図6D~6Gに関して上述したように)位置インジケータ602のサイズが、それに応じて増加する。いくつかの実施形態では、位置インジケータ602がユーザアイコン614のサイズよりも大きいため(例えば、位置インジケータ602の半径は、ユーザアイコン614の半径よりも、任意選択的に0.5mm、1mm、3mm、5mm、1cmなどの閾値量以上大きい)、
図6Rに示されるように、ユーザアイコン614は、位置インジケータ602の中心に位置し、位置インジケータの方を指す要素をもはや含まないように更新される。したがって、いくつかの実施形態では、ユーザアイコン614は円形であり、ユーザアイコン614の境界から突出するいかなる要素も含まない。いくつかの実施形態では、ユーザアイコン614のサイズは固定されており、地図の表現のズームイン又はズームアウトに応答して変化しない。
【0170】
図6Rは、位置インジケータ602の外側の部分及び位置インジケータ602内側の部分を含む向きインジケータ604の実施形態を更に示す。上述のように、向きインジケータ604が位置インジケータ610(例えば、点インジケータ)上に表示されるとき、向きインジケータ604は、任意選択的に、位置インジケータ610の境界から外向きに延びる円錐形状で表示される。したがって、向きインジケータ604は、任意選択的に、位置インジケータ610の内側に表示される部分を含まない。しかしながら、デバイス500が位置インジケータ602(例えば、領域インジケータ)を表示している場合、向きインジケータ604は、
図6Rに示されるように、外側部分及び内側部分を任意選択的に含む。いくつかの実施形態では、向きインジケータ604の外側部分は、
図6Aに関して上述した実施形態と同様に、位置インジケータ602の境界に沿ったハロと同様の形状を有する。いくつかの実施形態では、
図6Rに示されるように、位置インジケータ602の中心から位置インジケータ602の境界まで外向きに延びる円錐形状を有する向きインジケータ604の内側部分が表示される。
【0171】
したがって、いくつかの実施形態では、向きインジケータ604は、向きインジケータ604が位置インジケータ610上に表示されるときと、位置インジケータ602上に表示されるときとで、同じ形状又は同様の形状を有するが、位置インジケータに対して異なる場所に表示され、形状の異なる部分を含む。例えば、向きインジケータ604は、向きインジケータ604が位置インジケータ602上に表示されるのか、位置インジケータ610上に表示されるのかに基づいて、向きインジケータオブジェクトの異なる部分を表示する。例えば、位置インジケータ610上に表示されている間、向きインジケータ604は、位置インジケータ610の外側であるが向きインジケータオブジェクトの内側の部分(例えば、内側1mm、2mm、3mm、5mm、1cmなど)を現出させる。ロケータインジケータ602上に表示されている間、向きインジケータ604は、向きインジケータオブジェクトの外側部分(例えば、1mm、2mm、3mm、5mm、1cmの位置、3mm、5mm、1cm、2cmの位置など)を現出させる。いくつかの実施形態では、上記のように、向きインジケータ604は、位置インジケータ602上に表示されるときは位置インジケータ602の境界にまたがるが、位置インジケータ610上に表示されるときは位置インジケータ610の外側にのみ表示される。したがって、いくつかの実施形態では、向きインジケータ610のサイズ及び形状は、位置インジケータ602が表示されるか、位置インジケータ610が表示されるかに基づいて、向きインジケータオブジェクト(例えば、それぞれの位置インジケータの中心から外側に延在する円錐形状を有する向きインジケータオブジェクト)の異なる部分を現出及びマスキングすることによって決定される。いくつかの実施形態では、向きインジケータが位置インジケータ610上に表示されるときに表示される向きインジケータオブジェクトの部分は、向きインジケータが位置インジケータ602上に表示されるときに表示される向きインジケータオブジェクトの部分と、少なくとも部分的に重複する(任意選択的に、これらの部分は重複しない)。
【0172】
いくつかの実施形態では、向きインジケータ604の特定の部分は、異なるレベルの透明度を有することができる。例えば、
図6Rでは、向きインジケータ604の内側部分の透明度は、位置インジケータ602の中心に近づくほど増加する。いくつかの実施形態では、透明度は、位置インジケータ602の中心又は(例えば、向きインジケータ604が位置インジケータ602の中心に到達していない、又は、接触していないように見えるような)中心前で、100%に達する。
【0173】
図6Sでは、ユーザインタフェース616を解除する要求(例えば、「閉じる」又は「x」アフォーダンスの選択)に対応するユーザ入力603sが受け取られる。いくつかの実施形態では、デバイス500は、ユーザ入力603sに応答して、
図6Tに示すように、ユーザインタフェース616の表示を停止する。いくつかの実施形態では、ユーザインタフェース616がもはや表示されていないことに応答して、デバイス500は、ユーザアイコン614の表示を停止する。したがって、いくつかの実施形態では、ユーザアイコン614は、ユーザインタフェース616が表示されるときに表示(例えば、表示のみ)される(及び、任意選択的に、ユーザインタフェース616が表示されないときには表示されない)。
【0174】
いくつかの実施形態では、位置インジケータ602を選択するユーザ入力を受け取ることが、ユーザアイコン614及び/又はユーザインタフェース616の表示を引き起こさない(例えば、位置インジケータ610の選択によってのみ、ユーザアイコン614及び/又はユーザインタフェース616の表示を引き起こす)。いくつかの実施形態では、位置インジケータ602を選択するユーザ入力を受け取ることはまた、ユーザアイコン614及び/又はユーザインタフェース616の表示を引き起こす。いくつかの実施形態では、ユーザアイコン614及び/又はユーザインタフェース616は、位置インジケータ602のサイズが閾値サイズ(例えば、表示領域の25%、表示領域の50%、表示領域の60%、表示領域の90%)未満である場合に(例えば、場合にのみ)、位置インジケータ602の選択に応答して表示される。上述のように、位置インジケータ602は、位置インジケータ602が大きくなるにつれて増加する透明性を有することができるため、位置インジケータ602の透明度が閾値量(例えば、30%の透明度、50%の透明度、75%の透明度、90%の透明度、100%の透明度など)を超えている場合、位置インジケータ602の選択が、ユーザアイコン614及び/又はユーザインタフェース616の表示を引き起こさない。
【0175】
いくつかの実施形態では、位置インジケータ602のサイズが閾値サイズ(例えば、位置インジケータ602の選択がユーザアイコン614及び/又はユーザインタフェース616の表示を引き起こさない閾値サイズ)を超えて増加するときに、ユーザアイコン614及び/又はユーザインタフェース616が現在表示されている場合、デバイス500は、任意選択的に、ユーザアイコン614及び/又はユーザインタフェース616の表示を維持する。例えば、位置インジケータ602が閾値サイズ未満のサイズで表示される場合、ユーザ入力に応答して、ユーザアイコン614及びユーザインタフェース616が表示される。次いで、ユーザアイコン614及びユーザインタフェース616を表示している間に、ユーザが、位置インジケータ602のサイズが閾値サイズよりも大きくなるように地図をズームインする場合、任意選択的に、ユーザアイコン614及びユーザインタフェース616がユーザインタフェースに表示され続ける。しかしながら、その時点で、ユーザがユーザアイコン614及び/又はユーザインタフェース616の表示を(例えば、
図6Sのような「閉じる」又は「x」アフォーダンスを選択することによって)解除にすると、(例えば、地図のズームアウトなどによって、位置インジケータ602のサイズを閾値サイズ未満に変更することなく)ユーザが任意選択的に位置インジケータ602の選択を介してユーザアイコン614及び/又はユーザインタフェース616の表示を引き起こすことはできない。
【0176】
図7は、本開示のいくつかの実施形態に係る、電子デバイスの現在位置を示す方法700を説明するフロー図である。方法700は、任意選択的に、
図1A~
図1B、
図2~
図3、
図4A~
図4B、及び
図5A~
図5Bを参照して上述したようなデバイス100、デバイス300、デバイス500、及びデバイス511などの電子デバイスにおいて実行される。方法700のいくつかの動作は任意選択的に組み合わされ、及び/又は、いくつかの動作の順序は任意選択的に変更される。
【0177】
以下に説明するように、方法700は、電子デバイスの現在位置を示す。この方法は、本開示のデバイスのユーザインタフェースと対話するときのユーザの認識的負担を軽減し、それによって、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザインタフェースとのユーザの対話の効率を向上させることにより、電力が節約され、バッテリを充電する間隔が増大する。
【0178】
いくつかの実施形態では、表示生成構成要素(例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、若しくはウェアラブルデバイス)、又は任意選択的に1つ以上の入力デバイスと通信するコンピュータ)と通信する電子デバイス500は、表示生成構成要素を介して、
図6Aのユーザインタフェース600などの地図ユーザインタフェースを表示する(702)(例えば、地図ユーザインタフェースは、地図ユーザインタフェースを表示する要求に対応するユーザ入力の受け取りに応答して表示される)。例えば、ユーザ入力は、ホーム画面ユーザインタフェース又はアプリケーション起動ユーザインタフェースから地図アプリケーションを選択する。
【0179】
いくつかの実施形態では、1つ以上の入力デバイスは、マウス(例えば、外付け)、トラックパッド(任意選択的に一体型又は外付け)、タッチパッド(任意選択的に一体型又は外付け)、リモートコントロールデバイス(例えば、外付け)、別のモバイルデバイス(例えば、電子デバイスとは別体)、ハンドヘルドデバイス(例えば、外付け)、及び/又はコントローラ(例えば、外付け)などのうちの1つ以上を含む。いくつかの実施形態では、表示生成構成要素は、電子デバイスと一体のディスプレイ(任意選択的にタッチスクリーンディスプレイ)、ユーザインタフェースを投影するための、又はユーザインタフェースを1人以上のユーザに見えるようにするための、モニタ、プロジェクタ、テレビ、又はハードウェア構成要素(任意選択的に一体型又は外付け)などの外部ディスプレイである。
【0180】
いくつかの実施形態では、地図ユーザインタフェースは、
図6Aのような個別のズームレベルの地図の表現(704)(例えば、個別の地理的位置の地図)を含む。いくつかの実施形態では、地図は、ユーザの地理的位置と、
図6Aの位置インジケータ602及び
図6Bの位置インジケータ610などの地図(706)の表現上に電子デバイスの割り出された位置を示す位置インジケータとを表示する(例えば、地図の表現は、地図内の電子デバイスの位置を示すインジケータを含む)。
【0181】
いくつかの実施形態では、地図の表現は、ユーザが様々な地理的位置を見るため対話可能である。いくつかの実施形態では、地図の表現は、ユーザがズームレベルを変更するために対話可能である。いくつかの実施形態では、地図の表現は、ズームレベルに基づいて様々なレベルの詳細を表示する。例えば、第1のズームレベルでは、地図の表現は、道路及び高速道路の表現を含み、第1のズームレベルよりも近い(例えば、第1のズームレベルよりも更にズームインされた)第2のズームレベルでは、地図の表現は、建物、会社、及び/又はランドマークの表現を含む。いくつかの実施形態では、インジケータは、位置の割出しが有効にされる場合にのみ表示される(例えば、GPS追跡が有効化される)。いくつかの実施形態では、インジケータは、電子デバイスの位置の精度すなわち信頼度に基づいて、電子デバイスの推定位置を示す。いくつかの実施形態では、電子デバイスは、電子デバイスの位置を割り出すことができるGPS構成要素を含む。いくつかの実施形態では、デバイスは、GPS構成要素がロックすることができる衛星の数に基づいて、電子デバイスの位置を特定の精度レベルで割り出すことができる(例えば、衛星が多いほど精度が高くなり、少ないほど精度が低くなる)。いくつかの実施形態では、電子デバイスは、セルラプロバイダと通信し、セルラプロバイダからのデータを使用して(例えば、電子デバイスが通信しているセルタワー(複数可)に基づいて)、電子デバイスの位置を割り出すことができる。いくつかの実施形態では、電子デバイスは、他の機構に基づいてその位置を判定することができる。
【0182】
いくつかの実施形態では、電子デバイスの割り出された位置の精度が、個別のズームレベルに対する個別の閾値未満である(例えば、1つ以上の位置割出しメカニズムに基づいて、電子デバイスの割り出された位置の精度が閾値未満である(例えば、デバイスの割り出された位置が、半径5フィート、半径10フィート、半径30フィート、半径50フィート、半径100フィート、半径1/4マイル、半径半マイル、半径1マイル以内にある、又は、いずれの位置も割り出せないなど))という判定に従って、位置インジケータは、
図6Aにおける位置インジケータ610ではない領域インジケータ602(例えば、地図内の電子デバイスの、領域ではなく単一の位置を示す地図の表現上のインジケータ)など、第1の位置要素(例えば、地図の表現上のそれぞれの場所にある第1のサイズの円形インジケータ)を含みかつ第2の位置要素を含まない(708)。
【0183】
いくつかの実施形態では、電子デバイスが正確な場所を割り出すことができない。いくつかの実施形態では、精度が閾値未満である場合、電子デバイスは、代わりに、電子デバイスが特定の領域内に位置する可能性が高いと判定する。いくつかの実施形態では、割り出された位置の精度の閾値は、地図の表現のズームレベルに基づく。例えば、地図が第1のレベルにズームインされる場合、割り出された位置が閾値を満たすのに第1のレベルの精度が必要とされるが、地図が(例えば、第1のレベルよりも低い)第2のレベルにズームアウトされる場合、割り出された位置が閾値を満たすのに、更に低い精度レベル(例えば、第1のズームレベルの閾値よりも低い第2のズームレベルの閾値)が必要とされる。
【0184】
いくつかの実施形態では、円形インジケータは、電子デバイスが決定された領域がデバイスの可能な場所であることを示す。いくつかの実施形態では、円形インジケータのサイズは、割出しの精度を示す。例えば、精度が低い場合、インジケータは(例えば、より大きな面積を包含する)大きなサイズであり、精度が中程度の場合、インジケータは(例えば、より小さい面積を包含する)中程度のサイズである。
【0185】
いくつかの実施形態では、電子デバイスの割り出された位置の精度が個別のズームレベルの個別の閾値レベルを超える(例えば、電子デバイスの割り出された位置の精度が表示されたズームレベルの閾値量よりも大きい)という判定に従って、位置インジケータは、
図6Bにおける位置インジケータ602ではない位置インジケータ610(例えば、電子デバイスが位置する地図上の単一の場所を示すドット)など、第2の位置要素を含みかつ第1の位置要素を含まない(710)。
【0186】
いくつかの実施形態では、電子デバイスの割り出された位置(複数可)は、地図上の特定の位置にある。いくつかの実施形態では、電子デバイスは、正確な位置を割り出すことができないが、地図がズームアウトされるため、デバイスが位置する可能性が高いと判定される領域は、地図のズームレベルに起因して小さい。そのような実施形態では、割り出された位置の精度が、現在のズームレベルの閾値レベルを超えている。
【0187】
いくつかの実施形態では、精度が閾値を超えている場合、地図の表現は、地図上の領域を示す円形インジケータを含まない。いくつかの実施形態では、一度に表示され続けるのは第1及び第2の位置要素のうちの一方のみである(位置追跡が無効にされている場合、又は地図の表現がデバイスの割り出された位置を含まない場合、任意選択的に、いずれの要素も表示されない)。いくつかの実施形態では、上述のように、地図ユーザインタフェースが第1及び第2の位置要素を含むかどうかは、少なくとも、デバイスの位置の割出しの精度及び地図の表現のズームレベル(例えば、地図の現在のビュー)に依存する。例えば、デバイスの位置が街区内のどこかであるとデバイスが判断できるような精度である場合、ユーザインタフェースの大きな部分(例えば、街区が地図の表現のサイズの20%、30%、50%、60%、75%、90%などより大きい)が街区を表示するように地図がズームインされている場合、精度はそのズームレベルに必要な閾値未満であり、第1の位置要素が街区を包含する円形インジケータとして表示され、したがって街区内のどこかにデバイスがあることを示す。別の例では、デバイスの位置が街区内のどこかであるとデバイスが判断したが、ユーザインタフェースが地域全体を表示しており、個別の街区が地図の表現の小さな部分(例えば、0.25mm2、0.5mm2、1mm2、2mm2未満、又は地図の表現のサイズの1%、3%、5%、10%、15%未満の領域を包含する)にしかすぎないように地図がズームアウトされている場合、精度はそのズームレベルに必要な閾値を超えており、第1の位置要素は表示されず、代わりに第2の位置要素が表示され、したがってデバイスが街区のその位置にあることを示す。したがって、いくつかの実施形態では、第1の位置要素が領域インジケータであり、第2の位置要素が点インジケータであり、ユーザインタフェースが第1の位置要素を含むか第2の位置要素を含むかは、地図のズームレベルに基づいてデバイスの割り出された潜在的位置が領域で表されるべきか位置で表されるべきかに基づく。
【0188】
(例えば、割り出された位置の精度及び地図のズームレベルに応じて領域インジケータ又は点インジケータのいずれかを表示することによって)デバイスの割り出された位置のインジケーションを表示する上述の方法は、デバイスの割り出された位置に関する情報をユーザに迅速かつ効率的に提供し、これにより、(例えば、領域インジケータの方が適切である場合には点インジケータを表示せず、その逆も同様であり、これにより、割り出された位置の精度に関する潜在的な混乱を低減させることによって)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0189】
いくつかの実施形態では、第1の位置要素を表示している間に、第1の位置要素が第1の表示領域を占めている(例えば、表示生成構成要素の第1の表示領域を占めている、表示生成構成要素に生成された全ての表示領域の第1の表示領域を占めている等)という判定に従って、第1の位置要素は、
図6Aのような第1のオパシティ値を有する(例えば、第1の位置要素の不透明度は、第1の位置要素のサイズに基づく)。
【0190】
いくつかの実施形態では、第1の位置要素のサイズは、現在のズームレベルの所定の閾値に対する割り出された位置の精度に基づく。例えば、特定のズームレベルで(例えば、一定の閾値で)精度が減少する場合、第1の位置要素のサイズが増加する。精度が増加する場合、第1の位置要素のサイズが減少する。同様に、ユーザが地図のズームレベルを変更する場合、一定の精度レベルで、(例えば、ユーザのズームインに伴って)所定の閾値が増加するときは、第1の位置要素のサイズが増加するが、(例えば、ユーザのズームアウトに伴って)所定の閾値が減少するときは、第1の位置要素のサイズが減少する。いくつかの実施形態では、第1の位置要素のサイズは、第1の位置要素の絶対サイズである。いくつかの実施形態では、第1の位置要素のサイズは、地図の表現の全表示領域に対する(任意選択的に、地図の表現のスケールに基づく、又は地図の表現内の他のオブジェクトの表現に対する)第1の位置要素の表示領域である。
【0191】
いくつかの実施形態では、第1の位置要素が、第1の表示領域とは異なるサイズを有する第2の表示領域を占めている(例えば、表示生成構成要素の第2の表示領域を占めている、表示生成構成要素によって生成された全表示領域うちの第2の表示領域を占めているなど)という判定に従って、第1の位置要素は、
図6D及び
図6Fのような、第1のオパシティ値とは異なる第2のオパシティ値を有する(例えば、第1の位置要素のサイズが減少するのにつれて、不透明度が増加(要素の透明度が減少)する。
【0192】
いくつかの実施形態では、第1の位置要素がサイズが増加するにつれて、不透明度が減少(要素の透明度が増加)する。例えば、第1の位置要素が表示領域のより多くを占有しているほど、第1の位置要素はより透明になり、第1の位置要素によってオーバレイされた地図ユーザインタフェースの要素の視認性を高める。
【0193】
(例えば、位置インジケータのサイズが増加するにつれて位置インジケータの不透明度を減少させ、その逆も同様にすることによって)位置インジケータの不透明度を変化させる上述の方法は、地図上のオブジェクトのビューを妨げることなく、デバイスの割り出された位置に関する情報をユーザに迅速かつ効率的に提供し、これにより、(例えば、位置インジケータが地図の一部を隠すのを防ぐために位置インジケータの表示を無効化することをユーザに要求することなく)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0194】
いくつかの実施形態では、第1の位置要素が所定のサイズよりも大きい表示領域を占有しているという判定に従って(例えば、ユーザがズームインするにつれて、又は、位置精度が低下するにつれて、第1の位置要素のサイズが増加して表示領域の閾値量よりも大きいもの(例えば、全表示領域の80%、85%、90%、95%、99%、100%など)を包含する場合、電子デバイスは、
図6Gのように、第1の位置要素を表示することを中止する(例えば、第1の位置要素の不透明度がオパシティ値ゼロとなるように減少される)。
【0195】
例えば、第1の位置要素の表示領域が所定のサイズに達すると不透明度がゼロになる(例えば、完全に透明になる)ように、第1の位置要素の表示領域が増加するにつれて、第1の位置要素の不透明度が減少する。いくつかの実施形態では、不透明度ゼロレベルを有することは、第1の位置要素がユーザインタフェース内で見えないことを意味する。いくつかの実施形態では、(任意選択的に、第1の位置要素の表示を維持しながら)不透明度レベルをゼロに減少させることは、第1の位置要素の表示を中止すること(及び、任意選択的に、位置インジケータの表示を中止すること)によって実施される。
【0196】
(例えば、位置インジケータのサイズが所定の閾値に達したときに位置インジケータの表示を中止することによって)位置インジケータの不透明度を変化させる上述の方法は、(例えば、位置インジケータが表示領域全体を包含する場合など)位置インジケータのサイズが最小の情報値を提供するとき、位置インジケータの表示を迅速かつ効率的に除去し、これにより、ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0197】
いくつかの実施形態では、第1の位置要素を表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、
図6Jのような地図の表現のズームレベルを第1のズームレベルに減少させる要求に対応するユーザ入力を受け取る(例えば、第1の位置要素を表示している間に、より大きな地理領域を表示するように地図の表現をズームアウトするユーザ入力を受け取る)。いくつかの実施形態では、ユーザ入力は、内向きピンチジェスチャである。いくつかの実施形態では、ユーザ入力は、ズームアウトアフォーダンスの選択である。いくつかの実施形態では、ユーザ入力は、ダブルタップの後に続く下向きスワイプジェスチャである。
【0198】
いくつかの実施形態では、ユーザ入力の受け取りに応答して、電子デバイスは、地図の表現のズームレベルを第1のズームレベルに減少させ(例えば、ユーザ入力に従ってズームレベルを減少させる)、デバイスの割り出された位置の精度が第1のズームレベルの個別の閾値レベルを超えているという判定に従って、電子デバイスは、
図6Jのように第2の位置要素を含むが第1の位置要素は含まないように位置インジケータを更新する(例えば、精度が地図の新しいズームレベルの閾値を超えている場合、第1の位置要素から第2の位置要素に切り替える)。
【0199】
いくつかの実施形態では、ユーザがズームイン及びズームアウトすると、第1の要素又は第2の要素の表示を決定する閾値精度レベルが変化(例えば、増加又は減少)する。例えば、地図の表現がズームインされると閾値が増加し、したがって、第1の要素ではなく第2要素の表示に要求される精度が高くなる。同様に、地図の表現がズームアウトされると閾値が減少し、したがって、第1の要素ではなく第2要素の表示に要求される精度が低くなる。いくつかの実施形態では、(任意選択的に、地図のズームインに伴う閾値増加の結果として)ユーザが(例えば、外向きピンチジェスチャなどによって)ズームインし、精度が閾値未満であるままである場合、デバイスは、第1の位置要素の表示を維持し、第2の位置要素を表示しない。
【0200】
(例えば、割り出された位置の精度がズームアウトによって閾値を超えた場合、第1の位置要素の表示から第2の位置要素の表示に切り替えることによって)位置インジケータを更新する上述の方法は、(例えば、ユーザが十分にズームアウトする場合に、自動的に第2の位置要素に切り替えることにより、領域インジケータが不要な場合に地図の隠れる量を最小限に抑えることによって)ユーザが地図と対話するときに関連位置情報をユーザに迅速かつ効率的に提供し、これにより、(例えば、あるタイプのインジケータから別のタイプのインジケータに切り替えるための追加入力の実行をユーザに要求することなく、また、割り出された位置の精度を混乱させることなく)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0201】
いくつかの実施形態では、第1の位置要素を表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、
図6Eのような地図の表現のズームレベルを第1のズームレベルまで増加させる要求に対応するユーザ入力(例えば、第1の位置要素を表示している間に、より小さな地理領域を表示するように地図の表現をズームインするユーザ入力)を受け取る。いくつかの実施形態では、ユーザ入力は、外向きピンチジェスチャである。いくつかの実施形態では、ユーザ入力は、ズームインアフォーダンスの選択である。いくつかの実施形態では、ユーザ入力は、ダブルタップの後に続く上向きスワイプジェスチャである。
【0202】
いくつかの実施形態では、ユーザ入力の受け取りに応答して、電子デバイスは、地図の表現のズームレベルを第1のズームレベルまで増加させ(例えば、ユーザ入力に応じてズームレベルを増加)、デバイスの割り出された位置の精度が第1のズームレベルの個別の閾値レベル未満であるという判定に従って、電子デバイスは、
図6Eのように第1の位置要素の表示を維持しながら、デバイスの割り出された位置の精度に従って表示生成構成要素上の第1の位置要素の表示領域のサイズを更新する(例えば、(例えば、ズームインの結果として閾値が増加したため)ズーム機能後に精度が閾値未満のままである場合、(任意選択的に、第2の位置要素が非表示のまま)第1の位置要素の表示を維持する)。
【0203】
いくつかの実施形態では、第1の位置要素を表示している間にズームレベル及び個別の閾値レベルが変更されたため、閾値レベルの変化に従って第1の位置要素はサイズを変える(例えば、地図のスケールが大きくなったことにと比例して大きくなる)。いくつかの実施形態では、(任意選択的に、地図のズームアウトに伴う閾値減少の結果として)ユーザが(例えば、内向きピンチジェスチャなどによって)ズームアウトし、精度が閾値を超えている場合、デバイスは、第1の位置要素の表示を第2の位置要素に置き換える。
【0204】
(例えば、割り出された位置の精度が閾値未満であるままで地図がズームイン又はズームアウトされる場合、第1の位置インジケータの表示を維持するが、第1の位置インジケータのサイズを更新することによって)位置インジケータを更新する上述の方法は、(例えば、地図のスケールに基づいて第1の位置インジケータのサイズを自動的に拡大縮小し、したがって、デバイスがある領域に関する一貫した情報をユーザに提供することによって)割り出された位置の精度に関する情報をユーザに迅速かつ効率的に提供し、これにより、ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0205】
いくつかの実施形態では、第2の位置要素を表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、
図6Dのように地図の表現のズームレベルを第1のズームレベルまで増加させる要求に対応するユーザ入力を受け取る(例えば、第2の位置要素を表示している間に、より小さな地理領域を表示するように地図の表現をズームインするユーザ入力を受け取る)。いくつかの実施形態では、ユーザ入力は、外向きピンチジェスチャである。いくつかの実施形態では、ユーザ入力は、ズームインアフォーダンスの選択である。いくつかの実施形態では、ユーザ入力は、ダブルタップの後に続く上向きスワイプジェスチャである。
【0206】
いくつかの実施形態では、ユーザ入力の受け取りに応答して、電子デバイスは、地図の表現のズームレベルを第1のズームレベルまで増加させ(例えば、ユーザ入力に従ってズームレベルを増加させる)、デバイスの割り出された位置の精度が第1のズームレベルの個別の閾値レベル未満であるという判定に従って、電子デバイスは、
図6Dのように第1の位置要素を含むが第2の位置要素は含まないように位置インジケータを更新する(例えば、精度が地図の新しいズームレベルの閾値未満である場合、第2の位置要素の表示から第1の位置要素の表示に切り替える)。
【0207】
したがって、いくつかの実施形態では、地図のズームレベルの変更が、デバイスの割り出された位置の精度が個別の閾値レベルを超える状態から個別の閾値レベル未満である状態に変化するような個別の閾値レベルの変化を引き起こす。そのような実施形態では、結果として、位置インジケータが、(精度が閾値を超えているときに表示される)第2の位置要素を含む状態から、(精度が閾値未満であるときに表示される)第1の位置要素を含む状態に切り替わる。いくつかの実施形態では、(任意選択的に、地図のズームアウトに伴う閾値減少の結果として)ユーザが(例えば、内向きピンチジェスチャなどによって)ズームアウトし、精度が閾値を超えたままである場合、デバイスは、第2の位置要素の表示を維持し、第1の位置要素を表示しない。
【0208】
(例えば、割り出された位置の精度がズームアウトによって閾値未満になった場合に、第2の位置要素の表示から第1の位置要素の表示に切り替えることによって)位置インジケータを更新する上述の方法は、(例えば、ユーザが十分にズームインする場合に、自動的に第1の位置要素に切り替えることによって、地図が特定量にズームインされる場合にのみデバイスがある領域に関する情報をユーザに提供することによって)ユーザが地図と対話するときに位置情報をユーザに迅速かつ効率的に提供し、これにより、(例えば、あるタイプのインジケータから別のタイプのインジケータに切り替えるための追加入力の実行をユーザに要求することなく)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0209】
いくつかの実施形態では、個別のズームレベルの地図の表現及び第1の位置要素を表示している間に、電子デバイスは、
図6Bのように電子デバイスの割り出された位置の精度が個別のズームレベルの個別の閾値レベルを超えて増加した(例えば、地図のズームレベルを変更することなく、割り出された位置の精度が閾値レベルを超えて増加した)と判断する。いくつかの実施形態では、精度は、デバイスがより多くのGPS衛星にロックオンした結果として増加した。いくつかの実施形態では、精度は、方法900に関して以下に説明されるように、割り出された位置の精度を向上させるプロセスの結果として増加した。
【0210】
いくつかの実施形態では、電子デバイスの割り出された位置の精度が個別のズームレベルの個別の閾値レベルを超えて増加したという判定に応答して、電子デバイスは、
図6Bのように、第2の位置要素を含みかつ第1の位置要素を含まないように位置インジケータを更新する(例えば、精度が閾値を超えて増加することに応答して、第1の位置要素の表示を第2の位置要素の表示に置き換える)。いくつかの実施形態では、第2の位置要素が表示され(例えば、精度が閾値を超えている)、精度が閾値未満に減少する場合、第2の位置要素の表示が第1の位置要素の表示に置き換えられる。したがって、いくつかの実施形態では、デバイスは、ズームレベルを変更することなく、割り出された位置の精度の変化に基づいて位置インジケータを更新する。
【0211】
(例えば、割り出された位置の精度が閾値レベルを超えて増加した場合に、第1の位置要素の表示から第2の位置要素の表示に切り替えることによって)位置インジケータを更新する上述の方法は、(例えば、位置精度が増加した場合に、自動的に第2の位置要素に切り替えることによって)デバイスの割り出された位置が更新されるときに位置情報をユーザに迅速かつ効率的に提供し、これにより、(例えば、更新されたデータに基づいて位置インジケータを更新するための追加入力の実行をユーザに要求することなく)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0212】
いくつかの実施形態では、電子デバイスの割り出された向きが有効であるという判定に従って、位置インジケータは、
図6Aの向きインジケータ604及び
図6Bの向きインジケータ605などの向きインジケータを含む(例えば、デバイスが向き情報を有する場合、位置インジケータ上のデバイスの向きを表示する)。
【0213】
例えば、デバイスが、コンパスなどのデバイスの向きを判定するためのセンサを有する場合、向きインジケータを表示する。いくつかの実施形態では、向きインジケータは、デバイスが向いている方向を指す。いくつかの実施形態では、向きインジケータは、位置インジケータの、デバイスが向いている方向に対応する位置に配置される。例えば、デバイスが北を向いている場合、向きインジケータは、位置インジケータの北側に配置される。いくつかの実施形態では、向きインジケータのサイズ及び/又は形状は、割り出された向きの精度に基づいて変化する。例えば、割り出された向きの精度が高いほど、向きインジケータは狭くなり(例えば、より狭い幅、より狭い角度)、割り出された向きの精度が低いほど、向きインジケータは広くなる(例えば、より広い幅、より広い角度)。
【0214】
(例えば、向き情報がある場合は位置インジケータ上に向きを表示することによって)向きインジケータを表示する上述の方法は、向き情報を迅速かつ効率的にユーザに提供し、これにより、(例えば、向きインジケータを表示可能にするための追加入力の実行をユーザに要求することなく)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0215】
いくつかの実施形態では、向きインジケータを含む位置インジケータを表示している間に、位置インジケータが第1の位置要素を含みかつ第2の位置要素を含まないという判定に従って、
図6Aの向きインジケータ604などの向きインジケータが、第1の位置要素の境界上に表示される(例えば、位置インジケータが第1の位置要素を含む場合、向きインジケータは第1の位置要素の境界に沿って表示される)。
【0216】
いくつかの実施形態では、第1の位置要素上に向きインジケータを表示することは、第1の位置要素(例えば、第1の位置要素の境界)の外周に沿って(任意選択的にハイライト効果又はハロ効果を模倣する)要素を表示することを含む。いくつかの実施形態では、向きインジケータの形状は、第1の位置要素の円周の形状に適合する。いくつかの実施形態では、向きインジケータの角度サイズは、割り出された向きの精度に基づく。いくつかの実施形態では、向きインジケータの絶対幅は、第1の位置インジケータのサイズ(例えば、半径)に基づく。例えば、向きインジケータの角度は、割り出された向きの精度に基づいており、割り出された向きの精度が一定のままである場合、第1の位置要素のサイズの変化に応答して(例えば、ズームイン又はズームアウト入力に応答して)、第1の位置要素の境界に表示されたままであるために、一定の角度を維持したまま向きインジケータの幅が増減する。
【0217】
いくつかの実施形態では、向きインジケータを含む位置インジケータの表示中に、位置インジケータが第2の位置要素を含みかつ第1の位置要素を含まないという判定に従って、
図6Bの向きインジケータ605などの向きインジケータが、第2の位置要素の境界上に表示される(例えば、位置インジケータが第2の位置要素を含む場合、向きインジケータは第2の位置要素上に表示される)。
【0218】
いくつかの実施形態では、第2の位置要素上に向きインジケータを表示することは、第2の位置要素の円周から外側に延びる(例えば、第2の位置要素の境界から外側に延びる)要素を表示することを含む。いくつかの実施形態では、向きインジケータが第2の位置要素上に表示されている間、向きインジケータは、ズームイン入力又はズームアウト入力に応答してサイズを変化させない(任意選択的に、第2の位置要素がズームイン入力又はズームアウト入力に応答してサイズを変化させないため)。いくつかの実施形態では、向きインジケータは、ズームイン又はズームアウトの入力に応答してサイズを変化させる。
【0219】
(例えば、向きインジケータを、第2の位置要素が表示される場合には第2の位置要素上に表示し、第1の位置要素が表示される場合には第1の位置要素上に表示することによって)向きインジケータを表示する上述の方法は、位置精度に依存しない向き情報をユーザに迅速かつ効率的に提供し、これにより、ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0220】
いくつかの実施形態では、第1の位置要素上に向きインジケータを表示している間、向きインジケータは、
図6Aのような第1の形状を有する第1の向きインジケータである(例えば、向きインジケータは、第1の視覚的特徴を有する)。いくつかの実施形態では、第1の位置要素上の向きインジケータは、第1の位置要素の境界に沿ったハロの形状をしている。いくつかの実施形態では、向きインジケータの高さ(第1の位置要素の中心に対して垂直であるディメンションにおける向きインジケータのサイズ)は、第1の位置要素の半径よりも小さい。
【0221】
いくつかの実施形態では、第2の位置要素上に向きインジケータを表示している間、向きインジケータは、
図6Bのような、第1の形状とは異なる第2の形状を有する第2の向きインジケータである(例えば、向きインジケータは、第1の視覚的特徴とは異なる第2の視覚的特徴を有する)。
【0222】
いくつかの実施形態では、第2の位置要素上の向きインジケータは、第2の位置要素から外側に延びる円錐の形状をしている。いくつかの実施形態では、向きインジケータの高さは、第2の位置要素の半径よりも大きい。いくつかの実施形態では、第1の向きインジケータの形状は、所与のズームレベルの第2の向きインジケータの形状とは異なる。いくつかの実施形態では、第1の向きインジケータのサイズ/表示領域は、所与のズームレベルの第2の向きインジケータのサイズ/表示領域とは異なる。
【0223】
(例えば、向きインジケータを、第2の位置要素上にあるときは第1の向きインジケータとして、又は第1の位置要素上にあるときは第2の向きインジケータとして表示することによって)向きインジケータを表示する上述の方法は、位置精度に依存しない向き情報をユーザに迅速かつ効率的に提供し、これにより、(例えば、位置インジケータがあるタイプの位置インジケータから別のタイプの位置インジケータに切り替わるときに、第1の向きインジケータから第2の向きインジケータに切り替えるための追加入力の実行をユーザに要求することなく)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0224】
いくつかの実施形態では、向きインジケータを含む位置インジケータを表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、
図6Eのような地図の表現のズームレベルを第1のズームレベルに変更する要求に対応するユーザ入力を受け取る(例えば、第1の位置要素を表示している間に、地図の表現をズームアウト又はズームインするユーザ入力を受け取る)。いくつかの実施形態では、ユーザ入力は、内向き又は外向きピンチジェスチャである。いくつかの実施形態では、ユーザ入力は、ズームアウトアフォーダンス又はズームインアフォーダンスの選択である。いくつかの実施形態では、ユーザ入力は、ダブルタップの後に続く下向き又は上向きスワイプジェスチャである。
【0225】
いくつかの実施形態では、ユーザ入力の受け取るに応答して、電子デバイスは、
図6Eのように、地図の表現のズームレベルを第1のズームレベルに変更する(例えば、ユーザ入力に従ってズームレベルを減少又は増加させる)。いくつかの実施形態では、位置インジケータが第1の位置要素を含みかつ第2の位置要素を含まないという判定に従って(例えば、向きインジケータが第1の位置要素上に表示されているという判定に従って)、電子デバイスは、
図6Eのような地図の表現のズームレベルの変更に基づいて方向インジケータのサイズを変化させる(例えば、第1の位置要素が表示され、第2の位置要素の表示に切り替えない場合、第1の位置要素のサイズが変化するときに(任意選択的に、ズームイン又はズームアウト入力の結果として)方向インジケーの幅が変化する。
【0226】
いくつかの実施形態では、向きインジケータの角度サイズは、割り出された向きの精度に基づいており、ズームイン入力又はズームアウト入力に応答して一定のままである。例えば、向きインジケータの角度幅が30度である(例えば、デバイスは、デバイスが30度以内の精度で特定の向きに向いている判定された)場合、(その時間中に精度が変化しないこと前提として)ズーム入力に応答して角度幅は30度のままである。一方、向きインジケータの絶対幅は、第1の位置インジケータのサイズ(例えば、半径)に基づく。例えば、向きインジケータの角度は、割り出された向きの精度に基づいており、割り出された向きの精度が一定のままである場合、第1の位置要素のサイズの変化に応答して(例えば、ズームイン又はズームアウト入力に応答して)、第1の位置要素の境界に表示されたままであるために、一定の角度を維持したまま向きインジケータの幅が増減する。例えば、第1の位置要素の半径が25%増加すると、第1の位置要素の円周が30%増加し、したがって、(例えば、円周の増加に追従して)向きインジケータの幅が25%増加する(。
【0227】
いくつかの実施形態では、位置インジケータが第2の位置要素を含みかつ第1の位置要素を含まないという判定に従って(例えば、向きインジケータが第2の位置要素上に表示されているという判定に従って)、電子デバイスは、
図6Cのような地図の表現のズームレベルの変更に基づく向きインジケータのサイズ変更を実施しない(例えば、第2の位置要素が表示され、第1の位置要素の表示に切り替えない場合、向きインジケータの幅はズームイン又はズームアウト入力に応答して変化しない)。いくつかの実施形態では、第2の位置要素のサイズがズームイン又はズームアウト入力に応答して変化しないため、向きインジケータのサイズも変化しない。
【0228】
(例えば、第1の位置要素上に表示されているが、第2の位置要素上に表示されていない場合に、向きインジケータのサイズを変化させることによって)向きインジケータを表示する上述の方法は、位置精度に依存しない適切な向き情報をユーザに迅速かつ効率的に提供し、これにより、ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0229】
いくつかの実施形態では、第1の位置インジケータを表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、
図6Eのような地図の表現のズームレベルを第1のズームレベルに変更する要求に対応するユーザ入力を受け取る(例えば、第1及び第2の位置要素を表示している間に、地図の表現をズームアウト又はズームインするユーザ入力を受け取る)。
【0230】
いくつかの実施形態では、ユーザ入力は、内向き又は外向きピンチジェスチャである。いくつかの実施形態では、ユーザ入力は、ズームアウトアフォーダンス又はズームインアフォーダンスの選択である。いくつかの実施形態では、ユーザ入力は、ダブルタップの後に続く下向き又は上向きスワイプジェスチャである。
【0231】
いくつかの実施形態では、ユーザ入力の受け取るに応答して、電子デバイスは、
図6Eのように、地図の表現のズームレベルを第1のズームレベルに変更する(例えば、ユーザ入力に従ってズームレベルを減少又は増加させる)。いくつかの実施形態では、位置インジケータが第1の位置要素を含みかつ第2の位置要素を含まないという判定に従って、電子デバイスは、
図6Eのような地図の表現のズームレベルの変更に基づいて第1の位置要素のサイズを変化させる(例えば、第1の位置要素が表示され、第2の位置要素の表示に切り替えない場合、地図の表現のズームイン又はズームアウトに伴って、第1の位置要素の半径が変化する)。
【0232】
いくつかの実施形態では、向きインジケータの半径は、割り出された位置の精度に基づいており、ズームイン入力又はズームアウト入力に応答して一定に保たれる。例えば、割り出された位置の精度が割り出された位置の地理的半径300メートルであるようなものである場合、第1の位置要素の半径は、(例えば、地図の表現のスケール及び/又はズームレベルに基づく)300メートルを表すサイズを有する。したがって、ズームイン又はズームアウトに際し、第1の位置要素の半径が変化して、常に300メートルの地理的半径を包囲し続ける。
【0233】
いくつかの実施形態では、位置インジケータが第2の位置要素を含みかつ第1の位置要素を含まないという判定に従って、電子デバイスは、
図6Cのような地図の表現のズームレベルの変更に基づく第2の位置要素のサイズ変更を実施しない(例えば、第2の位置要素は、ズームレベルの変更に応答してサイズを変化させない)。いくつかの実施形態では、第2の位置要素が表示されるときに第1の位置要素が表示されないため、第2の位置要素が表示されるとき、位置インジケータの要素は、ズームレベルの変化に基づいてサイズを変化させない。
【0234】
(例えば、領域インジケータのサイズを変化させるが、点インジケータのサイズを変化させないことによって)ズーミングしながら位置インジケータを表示する上述の方法は、(例えば、一定面積を包含するように領域インジケータのサイズを自動的に変更するが、点インジケータのサイズを変化させないことによって)ユーザが地図と対話するときに関連位置情報をユーザに迅速かつ効率的に提供し、これにより、(例えば、ズームイン及びズームアウト時に割り出された位置の精度に混乱を生じさせずに)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0235】
いくつかの実施形態では、向きインジケータを表示している間に、位置インジケータが第1の位置要素を含みかつ第2の位置要素を含まないという判定に従って、向きインジケータは、
図6Rのような第1の形状の第1の部分である(例えば、位置インジケータが第1の位置要素(例えば、領域インジケータ)を含んでいる間、及び、向きインジケータが第1の位置要素に表示されている間、向きインジケータは、外側部分(例えば、位置インジケータの外側の部分)及び内部部分(例えば、位置インジケータの外側にある部分)を含む)。
【0236】
例えば、向きインジケータは、任意選択的に、位置インジケータの中心から外方向に(例えば、任意選択で、位置インジケータの境界を超えて)延びる円錐形の要素である。いくつかの実施形態では、位置インジケータが第1の位置要素を含んでいるのか、第2の位置要素を含んでいるのかに基づいて、向きインジケータの1つ以上の部分が表示されないか、又はフェードアウトされる。したがって、向きインジケータは、位置インジケータが第1の位置要素を含んでいるのか、第2の位置要素を含んでいるのかに基づいて、異なるサイズ及び/又は形状を有することができる。例えば、第1の位置要素(例えば、領域インジケータ)を表示している間に、向きインジケータの外側部分(例えば、第1の位置要素の外側にある部分)は、第1の位置要素の境界の一部分の周りのハロのように表示される。いくつかの実施形態では、向きインジケータの外側部分の深さ(例えば、外側方向の向きインジケータのサイズ)は小さい(例えば、第1の位置要素の半径よりも小さい)。いくつかの実施形態では、向きインジケータの内側部分(例えば、第1の位置要素の内側にある部分)は、第1の位置要素の中心に近いほどフェードアウトする(例えば、より透明になる))。例えば、第1の位置要素内の特定の位置(例えば、3分の1の点、2分の1の点、3分の2の点)において、向きインジケータの内側部分は、もはや表示されないような完全な透明である。いくつかの実施形態では、向きインジケータの内部部分は、第1の位置インジケータの境界から第1の位置要素の特定の位置まで、内側に向かって次第に薄らいでいく(例えば、徐々に透明になる)。
【0237】
いくつかの実施形態では、位置インジケータが第2の位置要素を含みかつ第1の位置要素を含まないという判定に従って、向きインジケータは、
図6Oのような、第1の形状の第1の部分とは異なる第1の形状の第2の部分である(例えば、位置インジケータが第2の位置要素を含みかつ第1の位置要素を含まず、向きインジケータが第2の位置要素上に表示されている間に、向きインジケータは外側部分を含みかつ内側部分を含まない)。
【0238】
したがって、いくつかの実施形態では、向きインジケータは、第2の位置要素の境界から外向きに延在する円錐形の要素として表示される。いくつかの実施形態では、向きインジケータの形状は、位置インジケータが第1の位置要素を含むかと同じ形状であるが、(例えば、向きインジケータが第1の位置要素に表示される場合と比較して)異なる部分が表示され、異なる部分が表示されない。例えば、向きインジケータの外側部分は、向きインジケータの内側部分が第1の位置要素の中心から外方向に延びるのと同様の様式で、第2の位置要素の境界から外方向に延びる。いくつかの実施形態では、向きインジケータは、第2の位置要素の境界に近いほど、薄れない(例えば、不透明になる)。したがって、上述したように、向きインジケータが第1の位置要素上に表示されている間は、(例えば、第1の位置要素の全半径に基づいて)向きインジケータの、位置インジケータの中心に近い部分はフェードアウトされ、向きインジケータの、位置インジケータの中心からより遠い部分が表示されるが、向きインジケータが第2の位置要素に表示されている間は、向きインジケータの、位置インジケータの中心に近い部分が表示され、向きインジケータの、位置インジケータの中心からより遠い部分は任意選択的に表示されない(例えば、向きインジケータの総表示「長」は、予め決定及び/又は固定されており、第2の位置要素の半径に基づいていない)。したがって、向きインジケータが第1の位置要素に表示されるか第2の位置要素に表示されるか(及び、任意選択的に、第1の位置要素のサイズ)に応じて、向きインジケータの様々な部分が表示されるが、他の部分は表示されない(又は、例えば任意選択的にフェードアウトされる)。
【0239】
(例えば、向きインジケータを、第1の位置要素上に表示されるときに第1の部分と共に表示し、第2の位置要素上に表示されるときに第2の部分と共に表示することによって)向きインジケータを表示する上述の方法は、(例えば、位置インジケータが変化するときに向きインジケータの視認性を維持するように方向インジケータの視覚的特徴を自動的に調整することによって)位置精度に依存しない向き情報をユーザに迅速かつ効率的に提供し、これにより、(例えば、位置インジケータが変化するたびに向きインジケータの一方の表示スタイルから向きインジケータの別の表示スタイルへ切り替えるための追加入力の実行をユーザに要求することなく)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0240】
いくつかの実施形態では、電子デバイスは、位置インジケータと共に、
図6Pのユーザアイコン614などの電子デバイスのユーザの表現(例えば、地図の表現上にユーザのアイコン、グラフィック、又は他の適切な表現)を表示する。
【0241】
いくつかの実施形態では、表現は、位置インジケータ又はその近くに表示される。いくつかの実施形態では、ユーザの表現は、円形の要素である。いくつかの実施形態では、表現は、表現が位置インジケータに関連付けられていることを示すインジケーション(例えば、矢印、位置インジケータで指し示しをする要素)を含む。いくつかの実施形態では、ユーザの表現は、位置インジケータを選択するユーザ入力に応答して表示される。いくつかの実施形態では、位置インジケータを選択するユーザ入力に応答して、デバイスの現在位置に関連付けられたユーザインタフェースが、ユーザの表現と同時に表示される。いくつかの実施形態では、デバイスの現在位置に関連付けられたユーザインタフェースは、住所、経度値と緯度値、及び/又はその位置の写真など、デバイスの割り出された現在位置に関する情報を提供する。いくつかの実施形態では、デバイスの現在位置に関連付けられたユーザインタフェースは、位置をマークする(例えば、将来のアクセスのために位置を保存する)ために選ぶことができるオプション、別のユーザ又はデバイスと位置を共有するためのオプション、及び/又は(例えば、方法900に関して以下に説明されるように)電子デバイスの位置を改善するためのオプションなど、デバイスの現在位置に関連付けられた1つ以上のオプションを含む。いくつかの実施形態では、ユーザの表現は、位置インジケータが1つ以上の基準を満たす場合にのみ表示される。例えば、位置インジケータが第2の位置要素を含みかつ第1の位置要素を含まない場合、位置インジケータの選択は、ユーザの表現(及び、任意選択的に、デバイスの現在位置に関連付けられたユーザインタフェース)の表示を引き起こす。しかしながら、位置インジケータが第1の位置要素を含みかつ第2の位置要素を含まない場合、第1の位置要素のサイズ及び/又は透明度の値が、任意選択的に、位置インジケータの選択がユーザの表現(及び任意選択的に、デバイスの現在位置に関連付けられたユーザインタフェース)の表示を引き起こすかどうかを決定する。例えば、第1の位置インジケータのサイズが閾値サイズを超えている場合、及び/又は(例えば、サイズが閾値サイズを超えているために)第1の位置インジケータの透明度が閾値透明度レベルを超えている場合、第1の位置インジケータの選択は、ユーザの表現の表示を引き起こさない(及び、任意選択的に、デバイスの現在位置に関連付けられるユーザインタフェースの表示を引き起こさない)。一方、第1の位置インジケータのサイズが閾値サイズ未満である場合、及び/又は第1の位置インジケータの透明度が閾値透明度レベル未満である場合、第1の位置インジケータの選択(例えば、第1の位置インジケータの任意の部分、第1の位置インジケータの中央など)は、ユーザの表現(及び任意選択的に、デバイスの現在位置に関連付けられたユーザインタフェース)の表示を引き起こす。
【0242】
いくつかの実施形態では、電子デバイスの割り出された位置の精度が個別のズームレベルの個別の閾値レベルを超えている(例えば、位置インジケータが第2の位置要素を含むが、第1の位置要素を含まない)という判定に従って、電子デバイスのユーザの表現は、
図6Pにおいて位置インジケータ602の方を指すユーザアイコン614上の三角形要素など、電子デバイスのユーザの表現を地図の表現上の個別の位置に結び付ける個別のユーザインタフェース要素と共に、表示される(例えば、ユーザの表現が、ユーザの表現を位置インジケータに関連付ける要素を含む)。
【0243】
例えば、ユーザの表現は、位置インジケータの方を指す(例えば、第2の位置要素の方を指す)、その表現から外向きに延びる部分を含む。いくつかの実施形態では、ユーザの表現は、位置インジケータの近く(例えば、位置インジケータの、上、下、左、右)に表示される。
【0244】
いくつかの実施形態では、電子デバイスの割り出された位置の精度が個別のズームレベルの個別の閾値レベル未満である(例えば、位置インジケータが第1の位置要素を含むが、第2の位置要素を含まない)という判定に従って、電子デバイスのユーザの表現は、
図6Rの三角形の要素を含まないユーザアイコン614など、個別のユーザインタフェース要素なしで表示される(例えば、ユーザの表現は、位置インジケータの方を指す外向きに延びる要素を含まない)。
【0245】
いくつかの実施形態では、ユーザの表現は、第1の位置要素の内側に表示される。例えば、ユーザの表現は、第1の位置要素の中心に表示される。いくつかの実施形態では、位置インジケータが第1の要素を含む状態から第2の要素を含む状態に変化することに応答して、ユーザの表現は、(例えば、位置インジケータの方を指す)個別のユーザインタフェース要素を含まない状態から個別のユーザインタフェース要素を含む状態に移行する(及び、任意選択的に、位置インジケータの内側に表示される状態から、位置インジケータの外側で及び/又は位置インジケータから視覚的に離れて表示される状態に移動する)。いくつかの実施形態では、位置インジケータが第2の要素を含む状態から第1の要素を含む状態に変化することに応答して、ユーザの表現は、個別のユーザインタフェース要素を含む状態から個別のユーザインタフェース要素を含まない状態に移行する(及び、任意選択的に、位置インジケータの外側で及び/又は位置インジケータから視覚的に離れて表示される状態から、位置インジケータの内側に表示される状態に移動する)。上述したように、位置インジケータは、ユーザが地図の表現をズームイン又はズームアウトすることに応答して、第1の位置要素を含む状態から第2の位置要素を含む状態に(又はその逆も同様)移行する。いくつかの実施形態では、地図の表現をズームイン又はズームアウトする要求が受け取られたときにユーザの表現が表示される場合、ユーザの表現の表示が維持される。いくつかの実施形態では、第1の位置インジケータが閾値サイズを超える(例えば、第1の位置インジケータの選択がユーザの表現の表示を引き起こさない)程度に地図の表現がズームされても、ユーザの表現の表示は維持される。したがって、ユーザの表現が表示される場合、個別のズームレベルにおける位置インジケータの選択が他の方法でユーザの表現の表示を引き起こさない場合でも、ズームイン又はズームアウトはユーザの表現の表示を維持する。
【0246】
(例えば、位置インジケータと、位置インジケータが第1の位置要素を含んでいるのか第2の位置要素を含んでいるのかに基づいて表現を位置インジケータに結び付ける要素とを用いて)ユーザの表現を表示する上述の方法は、(例えば、位置インジケータが第1の位置要素を含む状態又は第2の位置要素を含む状態から変化した場合に、ユーザの表現を位置インジケータに結び付ける要素を含むように自動的に移行することによって)インジケータがユーザの現在位置を表現することを迅速かつ効率的に示し、これにより、ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0247】
図7における動作について説明された特定の順序は単なる例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。また、本明細書で説明される他の方法(例えば、方法900)に関して本明細書で説明される他のプロセスの詳細もまた、
図7に関して上述された方法700と類似の方式で適用可能であることに留意されたい。例えば、方法700を参照して上述した電子デバイスの現在位置を示すための電子デバイスの動作は、任意選択的に、本明細書で説明される他の方法(例えば、方法900)を参照して本明細書に説明される電子デバイスの割り出された位置の精度を改善する特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
【0248】
上述の情報処理方法における動作は、任意選択的に、(例えば、
図1A~
図1B、
図3、
図5A~
図5Bに関して記載した)汎用プロセッサ又は特定用途向けチップなどの情報処理装置内の1つ以上の機能モジュールを実行することによって実施される。更に、
図7を参照して上述した動作は、
図1A~1Bに示す構成要素によって任意選択的に実行される。例えば、表示動作702は、任意選択的に、イベントソータ170、イベント認識部180、及びイベント処理部190によって実施される。イベントソータ170内のイベントモニタ171は、タッチ感知面604上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136ー1に送信する。アプリケーション136ー1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触が、ユーザインタフェース上のオブジェクトの選択などの所定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられたイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176又はオブジェクト更新部177を、任意選択的に利用又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他のプロセスが、
図1A~1Bに示す構成要素に基づいて、どのように実施され得るかは明らかであろう。
デバイスの割り出された位置の精度の向上
【0249】
ユーザは、電子デバイスを使用して地図上の地理的位置を表示及び発見することを含む、多くの異なる方法で電子デバイスと対話する。いくつかの実施形態では、ユーザは、電子デバイスの割り出された位置を地図上に見ることができる。以下に説明する実施形態は、電子デバイスの割り出された位置の精度を向上させ、それによってユーザと電子デバイスとの対話を強化する方法を提供する。デバイスとの双方向作用を強化することにより、動作を実行するためにユーザが必要な時間の量を低減し、したがって、デバイスの電力使用量を低減してバッテリ駆動デバイスに対してバッテリ寿命を増大する。
【0250】
図8A~
図8Sは、本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる例示的な方法を示す。これらの図中の実施形態は、
図9を参照して説明するプロセスを含め、以下に説明するプロセスを例示するために使用される。
【0251】
図8Aは、(例えば、ディスプレイデバイスを介して、表示生成構成要素を介してなど)ユーザインタフェース800を表示する電子デバイス500を示す。いくつかの実施形態では、ユーザインタフェース800は、表示生成構成要素を介して表示される。いくつかの実施形態では、表示生成構成要素は、表示データを受信することができかつユーザインタフェースを表示することができるハードウェア構成要素(例えば、電気的構成要素を含む)である。いくつかの実施形態では、表示生成構成要素の例として、タッチスクリーンディスプレイ、モニタ、テレビ、プロジェクタ、一体型の、個別の、若しくは外付けのディスプレイデバイス、又は、デバイス500と通信する任意の他の好適なディスプレイデバイスが挙げられる。
【0252】
いくつかの実施形態では、ユーザインタフェース800は地図アプリケーション(例えば、
図6Aに関して上述した地図アプリケーションと同様の、ユーザが地理的位置を見ることができ、位置を探すことができ、及び/又はある場所から別の場所への道案内を要求することができるアプリケーション)のユーザインタフェースである。いくつかの実施形態では、地図アプリケーションは、デバイス500にインストールされたアプリケーションである。
【0253】
いくつかの実施形態では、ユーザインタフェース800は、電子デバイスの割り出された現在位置に道案内する地図の表現を含む。
図8Aでは、デバイスの割り出された位置の精度806が、現在のズームレベルの閾値808を超えており、したがって、ユーザインタフェース800は、位置インジケータ802(例えば、方法700に関して上述した点インジケータ)を含む。
図8Aに示すように、ユーザインタフェース800が点インジケータ(例えば、位置インジケータ802)を表示しているため、デバイス500は、以下でより詳細に説明するように、デバイスの位置精度を改善するためのアフォーダンスを表示しない。いくつかの実施形態では、ユーザインタフェース800が領域インジケータ(例えば、位置インジケータ810)を表示していないが、デバイス500は、アフォーダンスを表示する。例えば、位置インジケータ802を表示する代わりに、デバイス500は、位置インジケータ802が他の方法で表示される(例えば、アフォーダンスが位置インジケータとして及び/又は位置インジケータ802の位置で表示される)位置で、アフォーダンス(例えば、
図8Bに関して以下に記載されるアフォーダンス812など)を表示する。
【0254】
図8Bは、位置精度806が地図の現在のズームレベルの閾値レベル808未満である実施形態を示す。いくつかの実施形態では、位置精度806が、地図の現在のズームレベルの閾値レベル808未満であるため、デバイス500は、領域インジケータに対応する位置インジケータ810(例えば、
図6Aに関して上述した位置インジケータ602と同様)を表示する。したがって、
図8Bに示すように、デバイス500は、デバイス500の正確な(例えば、単一の)位置を割り出すことができず、現在の割出し精度に基づいて、デバイスが特定の地理的領域内にあるということを割り出すことしかできない。位置インジケータ810及び向きインジケータ804の態様は、任意選択的に、
図6A~
図6T及び方法700を参照して上述した通りである。
【0255】
図8Bでは、アフォーダンス812は、位置インジケータ810内(例えば、中心)に表示される。いくつかの実施形態では、アフォーダンス812は、以下で更に詳細に説明するように、デバイスの割り出された位置を改善するプロセスを開始するために選ぶことができる。
図8Bに示すように、アフォーダンス812は、矢印又は矢じりのアイコンである。いくつかの実施形態では、アフォーダンス812は、デバイスの割り出された向き(例えば、
図8Bに示される実施形態では、北西)に向けられる。いくつかの実施形態では、アフォーダンス812は、固定グラフィックであり、向きを動的に変化させない。
【0256】
いくつかの実施形態では、アフォーダンス812の選択に応答して開始されるデバイスの割り出された位置を改善するプロセスは、精度806で位置を生じたデバイスの位置を最初に割り出すために使用されたプロセスとは異なるプロセスである。したがって、アフォーダンス812の選択に応答して開始されるデバイスの割り出された位置を改善するプロセスは、割り出された位置の精度を向上させ、割り出された位置を現在表示されているよりも更に絞ることができる。
【0257】
いくつかの実施形態では、以下で更に詳細に説明するように、デバイスの割り出された位置を改善するプロセスが、デバイス500の1つ以上のカメラによって撮影された1つ以上の画像を分析することと、1つ以上の要素(例えば、オブジェクト、建物、看板、会社、ランドマーク、(コンピュータビジョンの分野で知られている)特徴、及び/又は任意の他の特定地点)を識別することと、並びに、識別された要素のリストを、1つ以上の既撮影画像における識別された要素のリストと比較することと、を含む(例えば、1つ以上の既撮影画像における識別された要素のリストは(アフォーダンス812の表示前に)事前生成又は分析され、デバイス500以外のデバイスによって確認され、デバイス500の割り出された位置を改善するプロセスの一部としてデバイス500に送信される)。いくつかの実施形態では、デバイスの割り出された位置を改善するプロセスは、追加的又は代替的に、デバイス500の1つ以上のカメラによって撮影された1つ以上の画像を1つ以上の既撮影画像と比較し、撮影画像が既撮影画像と一致するかどうかを判定することを含む。いくつかの実施形態では、第一に精度806で位置を割り出すプロセスは、画像又は画像内の要素のそのような比較を含まない(むしろ、例えば、GPS及び/又はセルラ及び/又はWi-Fiベースの位置の割出し技術を含む)。
【0258】
いくつかの実施形態では、アフォーダンス812は、1つ以上の基準が満たされた場合にのみ
図8Bに表示される。いくつかの実施形態では、1つ以上の基準は、(例えば、
図8Bに示されるように)精度806が現在のズームレベルの閾値レベル808未満であるという要件を含む。いくつかの実施形態では、閾値レベル808は、方法700に関して上述したように、点インジケータを表示するのか、領域インジケータを表示するのかを判定する閾値レベル(例えば、
図6A~
図6Nに記載された閾値レベル608)である。例えば、精度806が現在のズームレベルの閾値レベル808未満であるという要件は、領域インジケータが表示されるとき(例えば、精度が閾値未満であるとき)に満たされ、点インジケータが表示されるとき(例えば、精度が閾値を超えているとき)に満たされない。いくつかの実施形態では、閾値レベル808は、点インジケータを表示するのか、領域インジケータを表示するのかを判定する閾値レベルとは異なる閾値レベルである。例えば精度806が現在のズームレベルの閾値レベル808未満であるという要件は、点インジケータが表示される場合でも満たされることがあり、精度806が現在のズームレベルの閾値レベル808未満であるという要件は、領域インジケータが表示される場合でも満たされないことがある。
【0259】
いくつかの実施形態では、1つ以上の基準は、デバイスが特定の所定の地理的位置又はその中に位置すると判定されたときに満たされる地理基準を含む。例えば、所定の地理的位置は、任意選択的に、それぞれの位置に対して写真情報(例えば、上述のような識別された要素のリスト)が利用可能である位置を含む。いくつかの実施形態では、地図アプリケーション(又は地図サーバ)が、過去にカメラで撮影された1つ以上の画像や写真にアクセスできる場合、写真情報を利用することができる。いくつかの実施形態では、過去に撮影された画像は、第三者によって取り込まれ、(例えば、デバイス500の外部の)サーバ上に保持される。既撮影画像は、道路や歩道から撮影されたもので、道路、看板、建物、会社、商店、その他の認識可能なランドマークの画像が含まれている。
【0260】
いくつかの実施形態では、1つ以上の基準は、カメラ明瞭度が所定のレベルを超えているという要件を含む。例えば、デバイス500の1つ以上のカメラによって撮影された1つ以上の画像が、所定の明瞭度レベル(例えば、十分なディテール又は十分な品質を撮影する能力)を超えて入れば、カメラ明瞭度要件が満たされている。いくつかの実施形態では、カメラ明瞭度の基準は、(例えば、現在の日時が所定の時間窓内にあるという)時刻要件を含む。例えば、所定の時間窓は、昼間時間帯を含みかつ夜間時間帯時間を含まない(例えば、日の出から日没まで)。いくつかの実施形態では、所定の時間窓は、日の出の30分前に始まり、日没の30分後までである。いくつかの実施形態では、他の時間窓が可能である。
【0261】
いくつかの実施形態では、カメラ明瞭度基準は、周囲光の量が閾値レベルを超えているという要件を含む。いくつかの実施形態では、閾値量の周囲光を必要とすることにより、デバイス500の1つ以上のカメラによって撮影された画像が、デバイス500の周囲の物体の十分なディテールを含むことを確保する。いくつかの実施形態では、周囲光の量の判定は、周囲光センサを使用して、及び/又、はデバイス500の1つ以上のカメラによって撮影された画像を分析して、十分な輝度、コントラスト、ディテール、及び/又は明瞭度があるかどうかを判定することよって行うことができる。
【0262】
いくつかの実施形態では、カメラ明瞭度要件は、現在の気象が鮮明なカメラ撮影に寄与するという要件を含む。例えば、現在の天気が濃霧又は本曇りを含む場合、デバイス500の1つ以上のカメラによって撮影された画像は十分な明瞭度を提供しないことがあり、したがって、カメラ明瞭度要件は満たされない。逆に、現在の天気が晴れ渡った空を含む場合、カメラの明瞭度要件は任意選択的に満たされる。
【0263】
いくつかの実施形態では、カメラ明瞭度基準は、時刻要件、周囲光要件、及び気象要件のうちのいずれか1つ、又は、上記の任意の組み合わせ(例えば、時刻要件、3要件のうちの2つ、又は、3要件全て)を含む。
【0264】
いくつかの実施形態では、上記基準のうちの3つ(例えば、地理的要件、カメラ明瞭度要件、及び精度要件)の全てが満たされる場合、1つ以上の基準は満たされる。いくつかの実施形態では、上記の3つの基準うちのいずれかが満たされない場合、1つ以上の基準は満たされない。いくつかの実施形態では、1つ以上の基準は、本明細書に記載されるものよりも多い要件を含むことも、少ない要件を含むことも可能である。
【0265】
図8Bに示されるように、精度806が閾値レベル808未満であるという要件が満たされ、地理基準が満たされ、及び時刻基準(又は、以下に詳述するように、例えば、周囲光基準若しくはカメラ明瞭度要件)が満たされる。したがって、1つ以上の基準が満たされていることに応答して、ユーザインタフェース800は、位置インジケータ810の中心にアフォーダンス812を含む。
図8Bに示されるアフォーダンス812の位置は単なる例示であり、アフォーダンス812は、ユーザインタフェース800内の任意の場所(例えば、位置インジケータと同時に表示されるアフォーダンス)に配置することができると理解される。
【0266】
図8Cは、時刻基準が満たされ、精度806が閾値レベル808未満であるという要件が満たされているが、地理基準が満たされていない(例えば、デバイス500が、個別の位置の識別された要素のリスト及び/又は既撮影画像など、デバイスの割り出された位置を改善するプロセスに使用するための写真情報を利用できない位置にあると判定されるため)実施形態を示す。いくつかの実施形態では、地理基準が満たされていないので、地理基準及び精度806が閾値レベル808未満であるという要件が満たされているにもかかわらず、アフォーダンス812がユーザインタフェース800に表示されない。
【0267】
図8Dは、地理基準が満たされ、精度806が閾値レベル808未満であるという要件が満たされているものの、(例えば、デバイス500における現在時刻が、日没後又は日の出前であるため)時刻基準の時間が満たされていない実施形態を示す。いくつかの実施形態では、時刻基準たされていないので、地理基準及び精度806が閾値レベル808未満であるという要件が満たされているにもかかわらず、アフォーダンス812がユーザインタフェース800に表示されない。
図8Dは、時刻基準が満たされずにアフォーダンス812の不表示を引き起こしている状態を示しているが、いくつかの実施形態では、時刻基準の代わりに、(いくつかの実施形態では、任意選択的に、時刻基準を含む)カメラ明瞭度基準を使用することができる。例えば、精度806が閾値レベル808未満であるという要件が満たされていながら、明瞭度基準が満たされていない場合、アフォーダンス812は表示されない(また、カメラ明瞭度基準、地理基準、及び精度806が閾値レベル808未満であるという要件が全て満たされる場合、アフォーダンス812が表示される)。したがって、
図8C及び
図8Dに示される実施形態では、ユーザインタフェース800は、アフォーダンス812を含まない位置インジケータ810を含む。
【0268】
図8Eでは、位置インジケータ810及びアフォーダンス812を表示している(例えば、
図8Bのように、1つ以上の基準が満たされている)間に、アフォーダンス812を選択するユーザ入力803(例えば、タッチスクリーン504上のアフォーダンス812の位置でタップ入力)が受け取られる。いくつかの実施形態では、ユーザ入力803の受け取りに応答して、デバイス500は、
図8Fに示すように、デバイス500の割り出された位置を改善するプロセスを開始する。
【0269】
図8Fでは、デバイス500は、ユーザインタフェース814を表示する。いくつかの実施形態では、ユーザインタフェース814は、ユーザインタフェース800の一部分(例えば、ユーザインタフェース800の下部)にオーバレイされる。いくつかの実施形態では、位置インジケータ810及び向きインジケータ804を依然として含むユーザインタフェース800が、デバイス500の位置精度を改善する後述のプロセス中に更新される。いくつかの実施形態では、ユーザインタフェース814は、デバイスの地図アプリケーションの位置精度を改善するプロセスにユーザを誘導するための命令を含む。いくつかの実施形態では、ユーザインタフェース814は、ユーザインタフェース814を解除し、デバイスの地図アプリケーションの位置精度を改善するプロセスをキャンセルするために選ぶことができる終了アフォーダンス816を含む。いくつかの実施形態では、ユーザインタフェース814は、テキスト命令818及びグラフィック820を含む。いくつかの実施形態では、グラフィック820は、テキスト命令818によって説明される命令を表す静止画像又はアニメーションである。
図8Fでは、テキスト命令818は、デバイス500の周囲(例えば道路の向こう側)にある建物をスキャンするようにユーザに指示し、グラフィック820は、街並みを横方向に動く電話のアニメーションとなっている。いくつかの実施形態では、グラフィック820は、予め描かれた建物又は家屋の表現(例えば、街並み)を含む。いくつかの実施形態では、表示されたグラフィック、例えば、グラフィック820は、デバイス500の1つ以上のカメラによって撮影される実際の環境の表現ではない。例えば、グラフ820は、ライブ・カメラ・ビューを含まなくてもよい。したがって、デバイスの割り出された位置を改善するプロセスを実行している間に、いくつかの実施形態では、デバイス500は、デバイス500の1つ以上のカメラによって撮影された画像の表現又はビューを表示しない。
【0270】
上述のように、デバイスの割り出された位置を改善するプロセスは、デバイス500の1つ以上のカメラで1つ以上の画像を撮影することと、この1つ以上の画像を分析して1つ以上の要素(例えば、オブジェクト、建物、看板、会社、ランドマーク、及び/又は任意の他の特定地点)を識別することと、並びに、識別された要素のリストを、1つ以上の既撮影画像における識別された要素のリストと比較することと、を含むいくつかの実施形態では、1つ以上の既撮影画像における識別された要素のリストは、(例えば、デバイス500の外部のサーバによって)予め生成される。いくつかの実施形態では、1つ以上の既撮影画像は、デバイスの割り出された位置を改善するプロセスの一部として、デバイス500(又は任意選択的に、デバイス500の外部のサーバ)によって分析される。いくつかの実施形態では、(例えば、オブジェクトの30%、50%、75%、90%、95%、99%等の一致など)識別された要素のリスト内の閾値数の要素が既撮影画像内のオブジェクトと一致する場合、デバイス500は、現在、デバイス500が、その既撮影画像に関連付けられた地理的位置にある、と判断することができる。したがって、いくつかの実施形態では、識別要素リスト内の要素が、既撮影画像における識別された要素のリスト内の十分量のオブジェクトと一致する場合、デバイス500は、デバイス500がそれぞれの既撮影画像(複数可)内のコード化された位置又はその近くにある、と判定することができる。いくつかの実施形態では、既撮影画像内の要素と一致する要素が多いほど、デバイス500は、デバイス500の位置を絞り込むことができる。後述するように、デバイス500がデバイスの位置を閾値未満の面積(例えば、100平方フィート未満、2500平方フィート未満、10,000平方フィート未満、50,000平方フィート未満など)に閾値以上の信頼度(例えば、80%の確実、90%の確実、95%確実、99%確実など)で割り出せる場合、デバイスの割り出された位置を改善するプロセスは終了し、デバイス500は、新たに割り出された位置を反映するように位置インジケータ(例えば、地図上でそのタイプ、その位置など)を更新する。
【0271】
いくつかの実施形態では、プロセスの最中、デバイス500は、デバイス500の1つ以上のカメラを使用して画像を連続撮影する。いくつかの実施形態では、デバイス500は、所定の周期(例えば、0.5秒ごと、1秒ごと、3秒ごと、5秒ごとなど)で画像を撮影する。
【0272】
いくつかの実施形態では、プロセスは、追加的又は代替的に、1つ以上の画像を撮影し、デバイス500の周りの領域の1つ以上の既撮影画像に対してこの画像を比較することを含む。いくつかの実施形態では、デバイス500は、画像を分析し、この画像を既撮影画像に対して比較して、撮影画像が既撮影画像の全て又は一部に一致するかどうかを判定する。いくつかの実施形態では、この比較は、デバイス500上で実行される。いくつかの実施形態では、デバイス500は、ユーザがデバイスの割り出された位置を改善するプロセスを開始するときに、1つ以上の既撮影画像をダウンロードする。いくつかの実施形態では、デバイス500は、ユーザがプロセスを開始する前に既撮影画像をダウンロードした。いくつかの実施形態では、比較は、デバイス500の外部のサーバ又はデバイスで実行され、デバイス500は、任意選択的に、1つ以上の撮影画像をサーバ又は外部デバイスに送信する。
【0273】
いくつかの実施形態では、比較の結果に基づいて、デバイス500は、デバイス500の位置を割り出すことができる。例えば、撮影画像が、閾値量(例えば、2画像、3画像、5画像など)の個別の地理的位置で取られた既撮影画像と一致する場合、デバイス500は、現在、デバイス500がその個別の地理的位置にある、と判定する。いくつかの実施形態では、既撮影画像は、GPS座標(又は任意選択的に他のタイプの場所情報)でコード化される。したがって、デバイス500のカメラで撮影された画像が十分量の既撮影画像と一致する場合、デバイス500は、デバイス500が個別の既撮影画像内のコード化された位置又はその近くにある、と判定することができる。いくつかの実施形態では、複数の画像が複数の既撮影画像に一致するとき、デバイス500は、デバイス500の位置を絞り込むことができる。後述するように、デバイス500がデバイスの位置を閾値未満の面積(例えば、100平方フィート未満、2500平方フィート未満、10,000平方フィート未満、50,000平方フィート未満など)に閾値以上の信頼度(例えば、80%の確実、90%の確実、95%確実、99%確実など)で割り出せる場合、デバイスの割り出された位置を改善するプロセスは終了し、デバイス500は、新たに割り出された位置を反映するように位置インジケータ(例えば、地図上でそのタイプ、その位置など)を更新する。
【0274】
本明細書に記載されるように、デバイスの割り出された位置を改善するプロセスは、上述の写真比較プロセス、上述の要素比較プロセス、又はこの2つのプロセスの組み合わせ、のいずれかを含む。いくつかの実施形態では、(例えば、上述のプロセスに加え、又は、これに替えて)デバイス500の1つ以上のカメラによる1つ以上の撮影画像が1つ以上の既撮影画像と相関関係にあるかどうかを判定するための他の方法が可能である。同様に、上述のプロセスはいずれも、デバイス500によって、又はデバイス500の外部のサーバによって、又はその組み合わせによって、実行することができる。
【0275】
図8Gは、グラフィックを横切って移動するモバイルデバイスの表現を示すためにアニメーション化されたグラフィック820を示す。いくつかの実施形態では、グラフィック820のアニメーションは、(例えば、テキスト記述818に加えて)ユーザに視覚的命令を出す。したがって、いくつかの実施形態では、デバイス500の1つ以上のカメラがデバイス500の周りの環境を複数撮影することができるように、ユーザは、デバイス500を移動又は回転させるように指示される。いくつかの実施形態では、グラフィック820は、デバイス500が実際に移動しているか回転しているかに関係なく、動いているデバイスをアニメーション表示する。
【0276】
図8Hは、デバイス500の1つ以上のカメラ(例えば任意選択的に正面を向いているカメラ)がデバイス500近傍(例えば、道路の向こう側)の環境822に面するように持ち上げられたデバイス500を示す。いくつかの実施形態では、環境822は、
図8Hに示されるように、1つ以上の建物を含む。
図8Hでは、ユーザインタフェース800は、デバイス500の向きを示す向きインジケータ804(例えば、
図6Aに関して上述した向きインジケータ604と同様)を含む。
図8Hでは、向きインジケータ804は、ユーザが建物及び/又は環境をスキャンするためにデバイス500を動かすとき、デバイス500の向きを追う)。したがって、
図8Hでは、向きインジケータ804は、北西に向いている。
図8Hに示すように、環境822の画像は、ユーザインタフェース800又はユーザインタフェース814に表示されない。
【0277】
図8Iは、環境822内の建物又は他のランドマークを撮影し続けるために回転された(例えば、環境822内の低い方の建物を撮影するために、右方向に移動又は回転された)デバイス500を示している。いくつかの実施形態では、デバイス500が回転されたという判定に応答して、又はデバイス500の向きが変化したという判定に応答して、向きインジケータ804は、
図8Iに示すように、向きの変化を反映するように更新される。例えば、
図8Iでは、向きインジケータ804は、デバイス500が北東に向いていることを示すように更新されている。
図8Iに示すように、環境822の画像は、ユーザインタフェース800又はユーザインタフェース814には表示されない。
【0278】
図8J~
図8Nは、(例えば、位置を改善するプロセス中にデバイス500の割り出された向き及び/又は動きに基づいて)ユーザに追加の命令を出すためにテキスト記述818及び/又はグラフィック820を更新するユーザインタフェース814を示す。
図8Jでは、デバイス500は下を向いている。いくつかの実施形態では、デバイス500は、デバイス500が下を向いており(例えば、デバイスのy軸又はピッチ軸の方向が、水平より10度、30度、45度などの閾値量以上低い)、その1つ以上のカメラで、環境822内のランドマークを十分に撮影できない、と判定する。いくつかの実施形態では、デバイス500は、デバイス500が下を向いていると判定するための、ジャイロスコープ又はコンパスなどの1つ以上のセンサを含む。いくつかの実施形態では、デバイス500は、デバイス500の1つ以上のカメラによって撮影された画像を分析し、デバイス500が下を向いていると判定する。いくつかの実施形態では、デバイス500が下を向いているという判定に応答して、テキスト命令818が更新され、
図8Jに示すように、環境822内の建物に面するようにデバイス500を持ち上げるようにユーザに指示する。いくつかの実施形態では、グラフィック820が更新されて、グラフィック820内でデバイスが街並みに面するように持ち上げられるアニメーション(例えば、グラフィック820内のデバイスは、下を向いていて、街並に面するように上方向に動いている)を示す。
図8Jに示すように、環境822の画像は、ユーザインタフェース800又はユーザインタフェース814に表示されない。
【0279】
図8Kでは、デバイス500が上を向いており、デバイス500は、デバイスが上を向いている(例えば、デバイスのy軸又はピッチ軸の方向が、水平より10度、30度、45度などの閾値量以上高い)と判定する。いくつかの実施形態では、デバイスが上を向いているという判定に応答して、テキスト命令818が更新され、
図8Kに示すように、環境822内の建物に面するようにデバイス500を降ろすようにユーザに指示する。いくつかの実施形態では、グラフィック820が更新されて、グラフィック820内でデバイスが街並みに向かって降ろされるアニメーション(例えば、グラフィック820内のデバイスは、上を向いていて、街並みに面するように下方向に動いている)を示す。
図8Kに示すように、環境822の画像は、ユーザインタフェース800又はユーザインタフェース814に表示されない。
【0280】
図8Lでは、デバイス500は、デバイス500の回転又は移動が早すぎて環境822の画像を適正に撮影できないと判定する(例えば、撮影される画像がぼやける、又は、デバイス500内のジャイロスコープがデバイス500の動きが速すぎると判定する)。いくつかの実施形態では、デバイス500の回転又は移動が早すぎるという判定に応答して、テキスト記述818が更新され、
図8Lに示されるように、デバイス500をもっとゆっくりと動かすようにユーザに指示する。いくつかの実施形態では、グラフィック820は、デバイス500のアニメーションが画面、例えば表示されている街並み、をゆっくり移動するように更新される。
図8Lに示すように、環境822の画像は、ユーザインタフェース800又はユーザインタフェース814に表示されない。
【0281】
図8Mでは、デバイス500は、デバイス500が位置(例えば、x、yの位置)を変更していると判定し、したがって、デバイス500が単一の位置を特定しないようにする。いくつかの実施形態では、デバイス500は、デバイス500がデバイス500内の1つ以上のモーションセンサ(例えば、加速度計、ジャイロスコープ、コンパスなど)、デバイス500内の位置センサ(例えば、GPS、セルラ、Wi-Fi)、及び/又は位置の変化の結果を提供する結果に基づいて、デバイス500がどの位置を変更していると判定することができる。いくつかの実施形態では、デバイス500が位置を変更しているという判定に応答して、テキスト記述818が更新され、
図8Mに示されるように、1以上の撮影を行っている間は静止するようにユーザに指示する。いくつかの実施形態では、グラフィック820が更新され、1つの位置にとどまって左回転又は右回転しているデバイス500をアニメーション表示する。
【0282】
いくつかの実施形態では、デバイス500が、(例えば、1つ以上の動きセンサに基づいて)デバイス500は環境822を明瞭に撮影できるほど十分な安定保持をされていないと判定するとき、テキスト記述818が更新され、
図8Mに示されるように、1以上の撮影を行っている間は静止するようにユーザに指示する。したがって、いくつかの実施形態では、デバイスが位置を変更している又はおかしな動きをしている等という判定に応答して、テキスト記述818及び/又はグラフィック820は、撮影を行っている間は静止するようにユーザに指示を出す。
図8Mに示されるように、環境822の画像は、ユーザインタフェース800又はユーザインタフェース814に表示されない。
【0283】
図8Nでは、デバイス500は、デバイス500がデバイス500の位置を割り出せるようにするには不十分な環境822が撮影されていると判定する。いくつかの実施形態では、不十分な環境822が撮影されたという判定に応答して、テキスト記述818が更新され、例えば、ユーザに環境822内の異なる建物をスキャンするように指示するなど、バイスの位置を割り出すためにユーザにフィードバックを行う。いくつかの実施形態では、グラフィック820は、カメラの新しいビューに応答して更新される。例えば、カメラは、その視界により多くの建物を含むことができるため、グラフィック820は、(任意選択的に街並のサイズを小さくして)街並みに多くの建物を含み、新たに追加された建物を横切って移動するデバイスを示すことができる。いくつかの実施形態では、グラフィック820は、カメラが撮影している建物の数が多いか少ないか、又は新しい景色を撮影しているかどうかに関係なく、より多くの建物を含むようにアニメーション表示された街並みを表示します。
図8Nに示すように、環境822の画像は、ユーザインタフェース800又はユーザインタフェース814に表示されない。
【0284】
いくつかの実施形態では、不十分な環境822が撮影されたという判定に応答して、
図8Nに記載されているテキスト記述818を表示する代わりに、8Iに図示された命令が閾値時間だけユーザに表示された後に、(例えば、上記の基準に従って)任意選択的に別の命令がユーザに提供されるまで、(例えば、
図8Nのような)環境822内の様々な建物をスキャンする旨の指示が表示される(例えば、
図8Iに示す命令を2秒間、3秒間、5秒間、8秒間、10秒間など表示した後、十分な環境822が撮影されているかどうかに関係なく、命令を
図8Nに示すものに置き換える)。
【0285】
したがって、上述のように、デバイス500は、テキスト命令818及び/又はグラフィック820を更新して、デバイス500の割り出された位置を改善するプロセスを正常に完了するために必要な調整に基づいて更新された命令を提供することができる。画像撮影及び/又は比較プロセスのステータスに基づいて、上述のもの以外のテキスト指示が可能であることが理解される。また、上述のテキスト命令の一部又は全てが任意選択で、ユーザに表示される必要はないことも理解される。例えば、テキスト命令「静止する」は、ユーザに示される必要はなく、デバイス500がユーザが位置を変更していると判定した場合でも、(例えば、動きを止めたりスキャン行動を変更することをユーザに要求せずに)デバイス500は、任意選択的に、デバイス500の割り出された位置を向上させるプロセスを正常に実行することができる。いくつかの実施形態では、デバイス500の割り出された位置を改善するプロセスの正常完了に応答して、ユーザインタフェース814が解除され、位置インジケータが、位置インジケータ810(例えば、領域インジケータ)から位置インジケータ804(例えば、点インジケータ)に切り替わる。いくつかの実施形態では、デバイス500の割り出された位置を改善するプロセスの正常完了に応答して、位置インジケータが、(例えば、任意選択的に、上述のプロセスを使用してデバイスの位置が割り出されたことを示す)改善されたデバイス位置に対応する、位置インジケータ810又は位置インジケータ804とは異なるユーザインタフェース要素に切り替わる。
図8Oに示すように、(例えば、
図8E~
図8Nを参照して説明されたプロセスによって更に正確に割り出された)位置インジケータ804の場所は、(例えば、上述のプロセスによって割り出された位置に基づいて)位置インジケータ810が以前に表示されていた場所の中心ではない場合がある。
図8Oでは、上述のプロセスの結果として、精度806が(任意選択的に閾値レベル808を超える)高レベルまで増加する。これが、(例えば、方法700を参照して説明されたように)任意選択的に、デバイス500が位置インジケータ810の表示から位置インジケータ802の表示に切り替えた理由である。いくつかの実施形態では、精度806が閾値レベル808を超えて増加しない場合(例えば、地図が非常に大きくズームインされている場合など)、デバイス500は、任意選択的に、位置インジケータ810の表示を(例えば、任意選択的に、精度の増加を反映するためにより小さいサイズで)維持する。
【0286】
デバイスの割り出された位置を改善するための上記のプロセスは、追加的又は代替的に、デバイスの割り出された向きを改善することができることが理解される。例えば、デバイス500は、比較に基づいて、デバイスの向きを割り出し、それに応じて1つ以上の向きセンサを較正して、デバイスの向きの精度を向上させる(また、例えば、これに応じて向きインジケータの角度を任意選択的に小さくする)ことができる。
【0287】
図8P~
図8Sは、精度806が現在のズームレベルの閾値レベル808未満であるという要件806が満たされない場合でも、デバイス500の割り出された位置を改善するプロセスを開始する実施形態を示す。
図8Pでは、精度806は、現在のズームレベルの閾値レベル808未満である。いくつかの実施形態では、精度806が現在のズームレベルの閾値レベル808未満であることに応答して、ユーザインタフェースは、(例えば、
図6Eのような)インジケータ810を含む。したがって、精度806が現在のズームレベルの閾値レベル808未満であるという要件が満たされる。
図8Pでは、地理基準及び日時基準も満たされている。いくつかの実施形態では、精度806が現在のズームレベルの閾値レベル808未満であるという要件が満たされ、地理的基準が満たされ、かつ時刻が満たされるため、
図8Pに示されるように、アフォーダンス812が表示される。
【0288】
図8Qでは、精度806が一定のままで、内向きピンチジェスチャ(例えば、ズームアウトの要求)に対応するユーザ入力803が受け取られる。いくつかの実施形態では、地図ズームアウトする要求に応答して、(例えば、
図8Pと比較して)閾値レベル808が精度806未満に減少する。いくつかの実施形態では、精度806が閾値レベル808を超えることに応答して、デバイス500は、位置インジケータ810を位置インジケータ802に置き換える。いくつかの実施形態では、地図のズームアウトより、精度806が現在のズームレベルの閾値レベル808未満であるという要件がもはや満たされない。精度806が現在のズームレベルの閾値レベル808未満であるという要件が満たされなくなったことに応答して、
図8Qに示すように、ユーザインタフェース800内のディスプレイからアフォーダンス812が除去される。
【0289】
図8Rでは、位置インジケータ802を選択するユーザ入力803(例えば、タッチスクリーン504上の位置インジケータ802の位置でのタップ)が受け取られる。いくつかの実施形態では、ユーザ入力803に応じて、デバイス500は、
図8Sに示すように、ユーザインタフェース824を表示する。いくつかの実施形態では、ユーザインタフェース824は、ユーザインタフェース800にオーバレイ又はスーパーインポーズされる。いくつかの実施形態では、ユーザインタフェース824は、デバイスの現在位置に関する情報を表示する。いくつかの実施形態では、ユーザインタフェース824は、デバイスの現在位置に対応する住所を含む。いくつかの実施形態では、ユーザインタフェース824は、デバイスの現在位置とデバイスの現在位置を別のユーザ又はデバイスと共有するためのアフォーダンス828とをマークするためのアフォーダンス826を含む。いくつかの実施形態では、ユーザインタフェース824は、地表レベル又は道路レベルからのデバイスの現在位置の既撮影画像に対応する画像832を含む。いくつかの実施形態では、ユーザインタフェース824は、デバイスの割り出された位置を改善するプロセスを開始するために(例えば、ユーザ入力803を介するなどして)選択できるアフォーダンス830を含む。したがって、精度806が現在のズームレベルの閾値レベル808未満であるという要件は満たされていないが、(例えば、
図8F~
図8Nを参照して説明したように)ユーザは、ユーザインタフェース824上に表示されるアフォーダンス830を介してデバイスの割り出された位置を改善するプロセスを開始することができる。
【0290】
いくつかの実施形態では、全ての基準が満たされていない場合でも、デバイスの割り出された位置を改善するプロセスを開始する他の方法が可能である。いくつかの実施形態では、ユーザが(例えば、アフォーダンス812、アフォーダンス830、又は他のいずれか)デバイスの割り出された位置を改善するプロセスを開始することができるように、特定の基準を満たす必要がある。例えば、地理基準及び時刻基準のいずれかが満たされていない場合、デバイスの割り出された位置を改善するプロセスは、任意選択的に、いかなる手段によっても利用できない(アフォーダンス830は、任意選択的に、ユーザインタフェース824に表示されない)。
【0291】
図9は、本開示のいくつかの実施形態に係る、電子デバイスの割り出された位置の精度を向上させる方法900を示すフロー図である。方法900は、任意選択的に、
図1A~
図1B、
図2~
図3、
図4A~
図4B、及び
図5A~
図5Bを参照して上述したようなデバイス100、デバイス300、デバイス500、及びデバイス511などの電子デバイスにおいて実行される。方法900のいくつかの動作は任意選択的に組み合わされ、及び/又は、いくつかの動作の順序は任意選択的に変更される。
【0292】
以下に説明するように、方法900は、電子デバイスの割り出された位置の精度を向上させる方法を提供する。この方法は、本開示のデバイスのユーザインタフェースと対話するときのユーザの認識的負担を軽減し、それによって、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザインタフェースとのユーザの対話の効率を向上させることにより、電力が節約され、バッテリを充電する間隔が増大する。
【0293】
いくつかの実施形態では、表示生成構成要素と通信する電子デバイス500が、表示生成構成要素(例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、若しくはウェアラブルデバイス)、又は、マウス(例えば、外付け)、トラックパッド(任意選択的に一体型又は外付け)、タッチパッド(任意選択的に一体型又は外付け)、リモートコントロールデバイス(例えば、外付け)、別のモバイルデバイス(例えば、電子デバイスとは別体)、ハンドヘルドデバイス(例えば、外付け)、及び/又はコントローラ(例えば、外付け)などのうちの1つ以上通信するコンピュータ)を介して、
図8Aのユーザインタフェース800などの地図ユーザインタフェースを表示する(902)。
【0294】
いくつかの実施形態では、表示生成構成要素は、電子デバイスと一体のディスプレイ(任意選択的にタッチスクリーンディスプレイ)、ユーザインタフェースを投影するための、又はユーザインタフェースを1人以上のユーザに見えるようにするための、モニタ、プロジェクタ、テレビ、又はハードウェア構成要素(任意選択的に一体型又は外付け)などの外部ディスプレイである。
【0295】
いくつかの実施形態では、地図ユーザインタフェースは、地図の表現(904)(例えば、方法700に関して上述したような個別の地理的位置の地図)と、
図8Aの位置インジケータ802など、地図の表現上に電子デバイスの割り出された位置を示す位置インジケータ(906)とを含む(例えば、地図の表現は、電子デバイスの位置を示すインジケータを含む)。
【0296】
いくつかの実施形態では、地図は、ユーザの地理的位置を表示する。いくつかの実施形態では、地図の表現は、ユーザが様々な地理的位置を見るため対話可能である。いくつかの実施形態では、地図の表現は、ユーザがズームレベルを変更するために対話可能である。いくつかの実施形態では、地図の表現は、ズームレベルに基づいて様々なレベルの詳細を表示する。例えば、第1のズームレベルでは、地図の表現は、道路及び高速道路の表現を含み、第1のズームレベルよりも近い第2のズームレベルでは、地図の表現は、建物、会社、及び/又はランドマークの表現を含む。
【0297】
いくつかの実施形態では、インジケータは、位置の割出しが有効にされる場合にのみ表示される(例えば、GPS追跡が有効化される)。いくつかの実施形態では、インジケータは、電子デバイスの位置の精度すなわち信頼度に基づいて、電子デバイスの推定位置を示す。いくつかの実施形態では、電子デバイスは、電子デバイスの位置を割り出すことができるGPS構成要素を含む。いくつかの実施形態では、デバイスは、GPS構成要素がロックすることができる衛星の数に基づいて、電子デバイスの位置を特定の精度レベルで割り出すことができる(例えば、衛星が多いほど精度が高くなり、少ないほど精度が低くなる)。いくつかの実施形態では、電子デバイスは、セルラプロバイダと通信し、セルラプロバイダからのデータを使用して(例えば、電子デバイスが通信しているセルタワー(複数可)に基づいて)、電子デバイスの位置を割り出すことができる。いくつかの実施形態では、電子デバイスは、他の機構に基づいてその位置を判定することができる。いくつかの実施形態では、割り出された位置の精度が現在のズームレベルの閾値レベル未満である場合、位置インジケータは領域インジケータを含み、精度が閾値レベルを超えている場合、位置インジケータは方法700に関して上述した点インジケータを含む。
【0298】
いくつかの実施形態では、地図ユーザインタフェース(908)を表示している間に、1つ以上の基準が満たされているという判定に従って、電子デバイスは、
図8Bのアフォーダンス812(例えば、精度を向上させるプロセスを開始するために選ぶことができる位置インジケータ上又は位置インジケータ内のボタン又はアイコン)など、電子デバイスの割り出された位置の精度を向上させるプロセスを開始するために選ぶことができる選択可能オプションを表示する(910)。
【0299】
いくつかの実施形態では、位置インジケータの中心に選択可能オプションが表示される。いくつかの実施形態では、割り出された位置を向上させるプロセスは、電子デバイスの周りの領域及び/又はランドマークの1つ以上の可視光センサ(例えば、カメラ)を使用して1以上の視覚的取り込みを行うことを含む。いくつかの実施形態では、1つ以上の基準は、(例えば、1つ以上の視覚的キャプチャと比較する際に使用するために)電子デバイスの割り出された位置がその位置のランドマークについて視覚データが存在する位置であるという要件を含む。いくつかの実施形態では、1つ以上の基準が、割り出された位置の精度が閾値未満であるという要件を含む(例えば、デバイスが十分に正確な位置を割り出すことができない、及び/又は、方法700を参照して説明されるように、地図ユーザインタフェースが、デバイスが潜在的に位置する一般的な領域を示す領域インジケータを含む)。いくつかの実施形態では、1つ以上の基準は、現在の日時が時間窓内にあるという要件を含む。例えば、現在の時刻が日の出後及び日没前の場合に、時刻要件が満たされる。いくつかの実施形態では、現在の時刻が、日の出の1時間後及び日没の1時間前(任意選択で、日の出の30分後、日没の30分前、日の出の2時間後、日没の2時間前など)であれば、時刻要件が満たされる。いくつかの実施形態では、1つ以上の基準は、(例えば、カメラ撮影が正確で精緻な撮影を提供しやすいように、時刻要件を満たすことに加え)十分な光が存在するとデバイスの周囲光センサが判定するという要件を含む。
【0300】
(例えば、1つ以上の基準が満たされている場合に地図ユーザインタフェース上にオプションを表示することによって)デバイスの割り出された位置の精度を向上させる上述の方法は、デバイスの割り出された位置を改善する迅速かつ効率的な方法をユーザに提供し、これにより、(例えば、追加入力の実行、デバイスの位置を改善するプロセスを開始するための別のユーザインタフェースへの誘導、別の位置への物理的移動をユーザに要求することなく)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0301】
いくつかの実施形態では、1つ以上の基準が満たされていないという判定に従って、電子デバイスは、例えば、
図8A及び
図8C~
図8Dのような、電子デバイスの割り出された位置の精度を向上させるプロセスを開始するために選ぶことができる選択可能オプションの表示を実施しない(例えば、ボタン又はアイコンを表示しない)。
【0302】
いくつかの実施形態では、ボタン又はアイコンがなくても、デバイスは、向上させるプロセスを開始する方法をユーザに提供する。例えば、地図ユーザインタフェースが点インジケータを表示している(例えば、デバイスが地図上の特定の位置にあることを示している)場合、ユーザは、点インジケータ又は別の選択可能なユーザインタフェース要素を選択して、デバイスの割り出された位置の精度を向上させるプロセスを開始するための選択可能なオプションを含むデバイスの位置に関する情報と共に、ユーザインタフェースを表示させることができる。いくつかの実施形態では、ユーザは、デバイスの位置の割り出しを手動で開始するための選択可能オプションを選択することができ、これにより、任意選択的に、精度が閾値未満になり、選択可能オプションが表示される(任意選択的に、1つ以上の基準の他の要件が満たされた場合のみ)。
【0303】
デバイスの割り出された位置の精度を向上させるためのオプションを提供しない上述の方法は、デバイスに、不適切なときは位置改善プロセスの開始を迅速かつ効率的に回避するようにさせ、これにより、(例えば、位置改善プロセスの開始を試みる入力など、デバイスへの不必要な入力を省くことによって)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0304】
いくつかの実施形態では、1つ以上の基準は、電子デバイスが
図8Cのような1つ以上の所定の位置にある(例えば、デバイスが、建物及びランドマークの既撮影画像が存在する地理的位置に位置する)という要件、現在時刻が
図8Dのような所定の時間窓内にある(例えば、現在時刻が日の出後及び日没前である)という要件、又は電子デバイスの割り出された位置の精度が
図8Aのような地図の表現の現在のズームレベルの個別の閾値レベル未満である(例えば、方法700に関して上述した第1の位置要素などのエリアインジケータを位置インジケータが含むように、割り出された位置の精度が現在のズームレベルの閾値未満である)という要件のうちの1つ以上を含む。
【0305】
いくつかの実施形態では、既撮影画像は、歩行者又は車両の視点からの建物、道路、オブジェクト、及び/又はランドマークの画像である。いくつかの実施形態では、既撮影画像は、ユーザがブラウズ及び閲覧できる同じ既撮影画像セットからのものである。例えば、デバイスの割り出された位置が、既撮影画像が存在しない場所(例えば、農村地帯、森林、狭い路地など)にある場合、デバイスは、デバイスの精度を向上させるプロセスを実行することができず、したがって、デバイス位置基準は満たされない。
【0306】
いくつかの実施形態では、現在の時刻が、日の出の1時間後及び日没の1時間前(任意選択で、日の出の30分後、日没の30分前、日の出の2時間後、日没の2時間前など)であれば、時刻要件が満たされる。いくつかの実施形態では、現在時刻が所定の時間窓内にない場合、時刻要件は満たされない。いくつかの実施形態では、時刻要件により、適正なカメラ撮影のための十分な光が存在することを保証する。いくつかの実施形態では、適切なカメラ撮影(例えば、周囲光センサ)、気象データなどのために十分な光が存在することを保証するために、時刻要件に加え、又は、その代わりに、他の要件が使用される。
【0307】
いくつかの実施形態では、精度が閾値を超えている場合、位置インジケータは方法700に関して上述した第2の位置要素などのポイントロケータを含み、精度要件は満たされない。
【0308】
(例えば、位置要件、時刻要件、及び/又は位置精度要件が満たされたときに)デバイスの割り出された位置の精度を向上させるためのオプションを提供する上述の方法は、(例えば、プロセスが正確に実施できるように要件が満たされたときにのみ)デバイスの割り出された位置を迅速かつ効率的に改善する方法をユーザに提供し、これにより、(例えば、現在時刻にプロセスを実施できるかどうかの別途判断をユーザに要求することなく、また、プロセスを十分な精度で適切に実行できないときにユーザにオプションを提供することなく)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0309】
いくつかの実施形態では、1つ以上の基準が満たされなくかつ
図8Aのような選択可能なオプションを表示していないとき(例えば、基準が満たされない結果として選択可能なオプションが表示されていないとき)に地図ユーザインタフェースを表示している間に、電子デバイスが、1つ以上の入力デバイスを介して、地図の表現の現在のズームレベルを第1のズームレベルまで増加させる要求に対応するユーザ入力(例えば、地図をズームインするユーザ入力)を受け取る。いくつかの実施形態では、ユーザ入力は、外向きピンチジェスチャである。いくつかの実施形態では、ユーザ入力は、ズームインアフォーダンスの選択である。いくつかの実施形態では、ユーザ入力は、ダブルタップの後に続く上向きスワイプジェスチャである。
【0310】
いくつかの実施形態では、ユーザ入力の受け取りに応答して、電子デバイスは、地図の表現の現在のズームレベルを第1のズームレベルまで増加させる(例えば、ユーザ入力に従ってズームレベルを増加させる)。いくつかの実施形態では、デバイスの割り出された位置の精度が第1のズームレベルの個別の閾値レベル未満であるという判定に従って、電子デバイスは、
図8Bのように、電子デバイスの割り出された位置の精度を向上させるために選ぶことができる選択可能オプションを表示する(例えば、ズームインによって精度が閾値未満となる場合、選択可能オプションを表示する)。
【0311】
いくつかの実施形態では、ズームインによって精度が閾値未満になる場合、位置インジケータは、方法700に関して上述した第1の位置要素などの領域インジケータを含む。いくつかの実施形態では、精度が個別の閾値を超えたままである場合、選択可能オプションの不表示を続行する。したがって、いくつかの実施形態では、選択可能オプションは、精度が現在のズームレベルの閾値未満である場合にのみ(例えば、領域インジケータが表示されるときのみ)表示される。
【0312】
(例えば、精度が閾値未満になるようなユーザによる地図ユーザインタフェースのズームアウトに応答して)デバイスの割り出された位置の精度を向上させるためのオプションを提供する上述の方法は、(例えば、ユーザが地図ユーザインタフェースをズームしてデバイスの割り出された位置が単一の位置ではなく領域内であることが明らかになったときにオプションを表示することによって)デバイスの割り出された位置を改善する迅速かつ効率的な方法をユーザに提供し、これにより、(例えば、現在のズームレベルのせいで、増加した位置精度が、更に役立つ位置情報をユーザに提供しない場合には、オプションを提供しないことによって)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、更にこれにより、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0313】
いくつかの実施形態では、選択可能オプションを表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、
図8Eのような選択可能オプションを選択するユーザ入力を受け取る。いくつかの実施形態では、ユーザ入力の受け取りに応答して、電子デバイスは、(
図8Fのような)電子デバイスによって撮影された1つ以上の画像を使用して電子デバイスの割り出された位置を向上させるプロセスを開始する(例えば、電子デバイスの割り出された位置を向上させるプロセスは、電子デバイスの周りの建物、道路、オブジェクト、及びランドマークの複数のカメラ撮影を実行することと、複数のカメラ撮影物を、デバイスの割り出された位置にある建物、道路、オブジェクト、及びランドマークの既撮影物と比較することと、含む)。
【0314】
いくつかの実施形態では、電子デバイスの割り出された位置を向上させるプロセスは、特定地点(例えば、看板、道路、建物、商店など)の複数のカメラ撮影を実行することと、カメラ内で特定地点を識別することと、識別された関心点を既撮影画像に存在する特定地点と比較することと、を含む。いくつかの実施形態では、電子デバイスは、比較(複数可)を行う(例えば、選択可能オプションの選択を検出することに応答して、及び/又は、選択可能オプションの選択を検出する前に、かつ1つ以上の基準が満たされていることに応答して、既撮影画像がサーバからデバイスにダウンロードされる)。いくつかの実施形態では、電子デバイスが(電子デバイスの外部の)サーバに撮影アップロードし、サーバが比較(複数可)を実行する。いくつかの実施形態では、比較(複数可)中に一致が見いだされるかどうか(例えば、電子デバイスの近傍の1つ以上のオブジェクトが既撮影画像内のオブジェクトと一致するかどうか)に基づいて、デバイスは、電子デバイスの現在位置を割り出すことができる。いくつかの実施形態では、デバイスは、デバイスの近傍のオブジェクト、並びに、それぞれのオブジェクトの撮影の角度に基づいて、位置を割り出すことができる。
【0315】
(例えば、1つ以上のカメラ撮影を1つ以上の既撮影画像と比較することによって)デバイスの割り出された位置の精度を向上させる上述の方法は、デバイスの割り出された位置を改善する迅速かつ効率的な方法をユーザに提供し、これにより、(例えば、既撮影画像をデバイスの環境と手動で比較することをユーザに要求することなく)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、更にこれにより、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0316】
いくつかの実施形態では、電子デバイスの割り出された位置の精度を向上させるプロセスは、表示生成構成要素を介して、電子デバイスの割出し位置の位置精度を向上させるプロセスを実施するための命令を備えたユーザインタフェースを表示することを含み、この命令は、
図8Fのユーザインタフェース814などの電子デバイスを指向させるための命令を含む(例えば、1以上の撮影を実行している間に、デバイスは、撮影をどのように実行するかについての命令を提供するユーザインタフェースを表示する)。
【0317】
例えば、ユーザインタフェースは、デバイスのカメラを近くの建物に向ける、カメラを上げる、カメラを下げる、撮影中は静止する、撮影を続行する、又は、もっと多くの建物を撮影する、撮影中にデバイスをもっとゆっくり動かすようにとの命令を含む(例えば、これらのうちのいずれかは、デバイスが比較に使用するために周囲の画像を撮影している間に表示され、電子デバイスの向き/動きセンサを介して、位置改善プロセスを適切に完了するためにデバイスの動き/向きを変更すべきことを検出したことに応答して、独立して表示される)。いくつかの実施形態では、ユーザインタフェースは、表示領域内の所定の位置(例えば、下側、上側、左側、又は右側)に表示されるポップアップユーザインタフェースである。いくつかの実施形態では、ユーザインタフェースは、地図の表現にオーバレイされて表示される。
【0318】
(例えば、デバイスの向け方に関する命令を表示することによって)デバイスの割り出された位置の精度の改善の仕方に関する命令を提供する上述の方法は、適切な撮影の行い方をユーザに指示する迅速かつ効率的な方法をユーザに提供し、これにより、(例えば、画像のキャプチャの仕方に関するユーザフィードバックを提供することによって)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0319】
いくつかの実施形態では、電子デバイスの割り出された位置を向上させるプロセスは、
図8Hの環境822の表現を表示しないユーザインタフェース814など、電子デバイスによって撮影された1つ以上の画像の表現を表示生成構成要素を介して表示することを含まない(例えば、カメラ撮影及び既撮影画像との比較は、ユーザインタフェース内に撮影を表示せずに行われる)。いくつかの実施形態では、位置精度を向上させるプロセスは、ナビゲーションモード又は1つの場所から別の場所への道案内に関連付けられていない。したがって、いくつかの実施形態では、ユーザは、地図ユーザインタフェースで閲覧しながら、又は、そうでなければ地図ユーザインタフェースと対話をしながら、位置精度を向上させるプロセスを開始することができる。いくつかの実施形態では、ユーザは、最初に道案内又はナビゲーションモードを要求しなくても、デバイスの位置精度を向上させるためのオプションが提供される。
【0320】
(例えば、撮影の表現を表示せずにカメラ撮影を実行することによって)デバイスの割り出された位置の精度を向上させる上述の方法は、(例えば、気を散らせたり視覚的に邪魔になったりする可能性のある地図ユーザインタフェースから離れて道案内をせずに)デバイスの割り出された位置を改善する迅速かつ効率的な方法をユーザに提供し、これにより、ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、更にこれにより、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0321】
いくつかの実施形態では、電子デバイスの割り出された位置を向上させるプロセスは、
図8H~
図8Iのような、1つ以上の画像を撮影するための電子デバイスの向きの変更(例えば、撮影の実行中に、デバイスの近傍の様々なアングル及び様々なオブジェクトを撮影するために(例えば、ユーザがデバイスを回転した、またはそうでなくデバイスの向きを変更した結果)デバイスの向きが変更)を検出することを含む。
【0322】
いくつかの実施形態では、電子デバイスは、表示生成構成要素を介して、地図の表現上に電子デバイスの向きインジケータを表示する。電子デバイスの向きの変化を検出している間、電子デバイスは、電子デバイスの向きに基づいて、
図8H~8Iの向きを変更する向きインジケータ804などの向きインジケータの向きを変更する(例えば、地図上の位置インジケータは(任意選択的に、方法700に関して上述されたのと同様に)向きインジケータを含み、向きインジケータは、様々なアングル及びオブジェクトを撮影するためにデバイスが回転されるとき、向きジケータはデバイスの向きを追う)。
【0323】
(例えば、デバイスの回転に従って回転する位置インジケータ上の向きインジケータを表示することによって)デバイスの割り出された位置を改善しながら向きインジケータを更新する上述の方法は、個別の方向の撮影が適切に行われていることをユーザに迅速かつ効率的に視覚的にフィードバックし、これにより、ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、更にこれにより、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0324】
いくつかの実施形態では、1つ以上の基準が満たされていない間、位置インジケータは、
図8Bの位置インジケータ810のように、第1の位置要素を含みかつ第2の位置要素を含まない(例えば、方法700に関して上述したように、位置インジケータは領域インジケータを含みかつ点インジケータを含まない)。
【0325】
いくつかの実施形態では、電子デバイスの割り出された位置の精度を向上させるプロセスを実行した後、電子デバイスは、
図8Oの位置インジケータ802などの位置インジケータを、第2の位置要素を含みかつ第1の要素を含まないように更新し(例えば、デバイスの割り出された位置の精度を向上させるプロセスを実行した後、方法700に関して上述した第2の位置インジケータなどの点インジケータがユーザインタフェースに表示されるように、割り出された位置の精度が閾値を超える)、ここで、第1の位置要素は、電子デバイスが位置すると判定される地図の表現上の領域を示し(例えば、方法700に関して上述された第1の位置インジケータなどの第1の位置要素は、内部に電子デバイスがあると判定される領域を示す半径を備えた円形要素である)、第2の位置要素はそこに電子デバイスが位置すると判定される地図の表現の位置を示す(例えば、方法700に関して上述された第2の位置要素などの第2の位置要素は、デバイスがあると判定された地図上の単一位置を示す)。
【0326】
(例えば、割り出された位置の精度を向上させるプロセスを正常に実行した後に位置インジケータを点インジケータで表示することによって)デバイスの割り出された位置の精度を向上させる上述の方法は、デバイスの割り出された位置を改善する迅速かつ効率的な方法をユーザに提供し、これにより、(例えば、更新された位置データに基づいて位置インジケータを更新するプロセスを実行した後に、追加入力の実行をユーザに要求することなく)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0327】
いくつかの実施形態では、選択可能オプションは
図8Bのような地図ユーザインタフェース内の第1の位置から第2の位置に移動するための1つ以上の道案内が、表示生成構成要素を介して表示されていない間に、表示される(例えば、選択可能オプションが表示され、ある位置から別の位置への道案内を要求せずに、また、現在位置から目的地への案内するためのナビゲーションモードを開始せずに、プロセスが実行される)。
【0328】
いくつかの実施形態では、選択可能オプションが表示され、ユーザインタフェースがいずれの道案内も表示していないときにプロセスが実行される。いくつかの実施形態では、選択可能オプションは、道案内が表示されている間又はナビゲーションモードの間に、表示される(任意選択的に、精度を向上させるプロセスを実行している間、ナビゲーションが一時停止される、及び/又は、任意選択的に、精度を向上させるプロセスにより、デバイスの割り出された位置がデバイスの以前に割り出された位置と異なった場合、ナビゲーションが更新される)。
【0329】
(例えば、道案内の要求又はナビゲーションの開始をユーザに要求せずに)デバイスの割り出された位置の精度を向上させる上述の方法は、デバイスの割り出された位置を改善する迅速かつ効率的な方法をユーザに提供し、これにより、(例えば、道案内を取得する又は目的地へのナビゲーションを行うプロセスとは別個のプロセスとして、道案内を要求して位置精度を向上させるプロセスを開始させるための追加入力の実行をユーザに要求せずに)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0330】
いくつかの実施形態では、1つ以上の基準が満たされていないかつ選択可能オプションを表示していないとき(例えば、基準が満たされていない結果として選択可能オプション非表示であるとき)に、地図ユーザインタフェースを表示している。いくつかの実施形態では、この基準が満たされない場合、位置インジケータは、方法700に関して上述した第2の位置インジケータなどの点インジケータを含み、電子デバイスは、1つ以上の入力デバイスを介して、
図8Rのような位置インジケータを選択する第1のユーザ入力(例えば、位置インジケータ及び/又は点インジケータ上でタップするユーザ入力)を受け取る。
【0331】
いくつかの実施形態では、ユーザ入力の受け取りに応答して、電子デバイスは、表示生成構成要素を介して、(例えば、住所、画像、及び/又はデバイスの現在位置に関連付けられた1つ以上の選択可能オプションを表示する)
図8Sのユーザインタフェース824などの、電子デバイスの現在位置に関する情報を含むユーザインタフェースと、
図8Sのアフォーダンス830などの、電子デバイスの割り出された位置の精度を向上させるプロセスを開始するために選ぶことができる第2の選択可能オプションと表示する(例えば、ユーザインタフェース要素は、1つ以上の基準のうちの1つ以上が満たされない場合であっても、電子デバイスの割り出された位置を向上させるプロセスを実行するために選ぶことができる選択可能オプションを含む)。
【0332】
いくつかの実施形態では、情報は、地図ユーザインタフェースにオーバレイされたユーザインタフェース要素上に表示される。いくつかの実施形態では、割り出された位置の精度が現在のズームレベルの閾値を上回るために地図ユーザインタフェースが選択可能オプションを含まない場合でも、ユーザは、第2の選択可能オプションを選択して、割り出された位置の精度を改善するプロセスを開始することができる。いくつかの実施形態では、場所又は時刻要件が満たされない場合、ユーザインタフェース要素は、選択可能オプションを含まない(任意選択的に、選択可能オプションは無効化及び/又はグレーアウトされる)。したがって、いくつかの実施形態では、ユーザは、精度要件が満たされていない場合でも、割り出された位置を向上させるプロセスを開始することができるが、位置要件又は時刻要件が満たされていない場合は、プロセスを開始することはできない。いくつかの実施形態では、第2の選択可能オプションの選択に応答して開始されるプロセスは、上述の選択可能オプションの選択に応答して開始されるプロセスと同じである。
【0333】
(例えば、位置インジケータを選択するユーザ入力に応答して表示されたユーザインタフェース上で)デバイスの割り出された位置の精度を向上させるためのオプションを提供する上述の方法は、(例えば、精度要件が満たされず、選択可能オプションが表示されない場合であっても)デバイスの割り出された位置を改善する迅速かつ効率的な方法をユーザに提供し、これにより、(例えば、精度要件が満たされて選択可能オプションが位置インジケータに表示されるように、ズームインするための追加入力の実行をユーザに要求することなく)ユーザと電子デバイスとの間の対話を簡略化し、電子デバイスの操作性を強化し、ユーザ・デバイス間のインタフェースを効率化し、これにより更に、デバイスの使用時の誤りを削減しながら、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用を削減し、電子デバイスのバッテリ寿命を改善する。
【0334】
図9における動作について説明された特定の順序は単なる例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。また、本明細書で説明される他の方法(例えば、方法700)に関して本明細書で説明される他のプロセスの詳細もまた、
図9に関して上述された方法900と類似の方式で適用可能であることに留意されたい。例えば、方法900を参照して上述した電子デバイスの割り出された位置の精度を向上させるための電子デバイスの動作は、任意選択的に、本明細書で説明される他の方法(例えば、方法700)を参照して本明細書に説明される電子デバイスの現在位置を示す特性等のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
【0335】
上述の情報処理方法における動作は、任意選択的に、(例えば、
図1A~
図1B、
図3、
図5A~
図5Bに関して記載した)汎用プロセッサ又は特定用途向けチップなどの情報処理装置内の1つ以上の機能モジュールを実行することによって実施される。更に、
図9を参照して上述した動作は、任意選択的に、
図1A~
図1Bに示す構成要素によって実施される。例えば、表示動作902及び910は、任意選択的に、イベントソータ170、イベント認識部180、及びイベント処理部190によって実施される。イベントソータ170内のイベントモニタ171は、タッチ感知面604上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136ー1に送信する。アプリケーション136ー1のそれぞれのイベント認識部180は、イベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触が、ユーザインタフェース上のオブジェクトの選択などの所定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられたイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176又はオブジェクト更新部177を、任意選択的に利用又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他のプロセスが、
図1A~1Bに示す構成要素に基づいて、どのように実施され得るかは明らかであろう。
【0336】
上述のように、本技術の一態様は、特定の正当なソースから入手可能なデータを収集及び使用して、ユーザに対するデバイス位置情報の表示を改善することである。本開示は、場合によっては、この収集されたデータが、特定の人物を一意的に特定する、又は特定するために使用できる、個人情報データを含み得ることを想到している。そのような個人情報データは、人口統計データ、位置ベースのデータ、オンライン識別子、電話番号、電子メールアドレス、自宅住所、ユーザの健康又はフィットネスレベル(例えば、バイタルサイン測定、服薬情報、運動情報)に関するデータ若しくは記録、生年月日、又は任意の他の個人情報を含むことができる。
【0337】
本開示は、本技術におけるそのような個人情報データの使用がユーザの利益になる使用であり得る点を認識するものである。例えば、個人情報データを使用して、ユーザの現在位置を表示したり、ユーザの電子デバイスの位置を表示したりすることができる。したがって、そのような個人情報データの使用により、ユーザは、ユーザ又はデバイスの位置に関するより多くの情報を有することができる。更に、ユーザに利益をもたらす個人情報データに関する他の使用も本開示によって意図されている。
【0338】
本開示では、そのような個人情報データの収集、分析、開示、転送、記憶、又は他の使用の責任を負うエンティティが、十分に確立されたプライバシーポリシー及び/又はプライバシー慣行を遵守することが企図されている。具体的には、そのようなエンティティは、ユーザのプライバシーを維持するための業界又は政府の要件を満たす又は上回ると一般に認識されるプライバシー慣行を実現し、一貫して適用することが予想されるであろう。個人データの使用に関するそのような情報は目立つべきであり、ユーザによって容易にアクセス可能とするべきであり、データの収集及び/又は使用が変化するにつれて更新されるべきである。ユーザからの個人情報は、正当な使用のためのみに収集されるべきである。更に、そのような収集/共有は、ユーザの承諾を受けた後に、又は適用可能な法律に明記された他の正当な根拠に基づいて行われるべきである。その上、そのようなエンティティは、そのような個人情報データへのアクセスを保護及び安全化し、個人情報データへのアクセス権を有する他者が、それらのプライバシーポリシー及び手順を忠実に守ることを保証するための、あらゆる必要な措置を講じることを考慮するべきである。更に、そのようなエンティティは、広く受け入れられているプライバシーポリシー及び慣行に対する自身の遵守を証明するために、サードパーティによる評価を自らが受けることができる。加えて、ポリシー及び慣行は、収集及び/又はアクセスされる具体的な個人情報データのタイプに適合されるべきであり、また、より高い基準を課す役割を担い得る管轄権固有の考慮事項を含めた、適用可能な法令及び基準に適合されるべきである。例えば、アメリカ合衆国では、特定の健康データの収集又はそれへのアクセスは、医療保険の相互運用性と説明責任に関する法律(HIPAA)等の、連邦法及び/又は州法によって管理されてもよく、その一方で、他国における健康データは、他の規制及びポリシーの対象となり得るものであり、それに従って対処されるべきである。
【0339】
前述のことがらにも関わらず、本開示はまた、個人情報データの使用又は個人情報データへのアクセスを、ユーザが選択的に阻止する実施形態も想到する。すなわち、本開示は、そのような個人情報データへのアクセスを防止又は阻止するために、ハードウェア要素及び/又はソフトウェア要素が提供され得ることを意図している。例えば、広告配信サービスの場合においてなど、本技術は、ユーザが、サービスの登録中又はその後のいつでも、個人情報データの収集への参加の「オプトイン」又は「オプトアウト」を選択できるように構成することができる。別の例では、ユーザは、デバイスの位置の割出しを有効にしない選択をすることができる。更に別の例では、ユーザは、デバイスの位置情報の共有を制限する選択、又は位置情報の表示及び/又は共有を完全にブロックする選択を行うことができる。「オプトイン」及び「オプトアウト」の選択肢を提供することに加えて、本開示は、個人情報のアクセス又は使用に関する通知を提供することを意図している。例えば、ユーザに、地図アプリケーションを表示する際に現在位置が割り出されることを通知し、位置情報が生成される直前に再確認することができる。
【0340】
更には、本開示の意図は、個人情報データを、非意図的若しくは無許可アクセス又は使用の危険性を最小限に抑える方法で、管理及び処理するべきであるという点である。データの収集を制限し、データがもはや必要とされなくなると削除することにより、リスクを最小化することができる。加えて、かつ、特定の健康関連アプリケーションにおいて適用可能な場合、ユーザのプライバシーを保護するために、データの匿名化を使用することができる。非特定化は、適切な場合には、識別子を除去すること、記憶されたデータの量又は特異性を制御すること(例えば、位置データを住所レベルよりも都市レベルで収集すること)、データがどのように記憶されるかを制御すること(例えば、データをユーザ全体にわたって集約すること)、及び/又は差分プライバシーなどの他の方法によって、容易にしてもよい。
【0341】
それゆえ、本開示は、1つ以上の様々な開示された実施形態を実施するための、個人情報データの使用を広範に網羅するものであるが、本開示はまた、そのような個人情報データにアクセスすることを必要とせずに、それらの様々な実施形態を実施することも可能であることを想到する。すなわち、本技術の様々な実施形態は、そのような個人情報データの全て又は一部分が欠如することにより、動作不可能にされるものではない。例えば、位置情報は、GPSセンサの使用とは異なり、デバイスが通信しているセルラタワーに基づいてデバイスの位置を割り出すなど、非特定情報データ又は必要最低限の識別情報に基づいて生成することができかつユーザに配信することができる。
【0342】
個人特定可能な情報の使用は、ユーザのプライバシーを維持するための業界又は政府の要件を満たす又は超えるとして一般に認識されているプライバシーポリシー及びプラクティスに従うべきであることに十分に理解されたい。特に、個人特定可能な情報データは、意図されない又は許可されていないアクセス又は使用のリスクを最小限に抑えるように管理及び取り扱いされるべきであり、許可された使用の性質はユーザに明確に示されるべきである。
【0343】
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、想到される特定の用途に適した様々な変更で本発明及び様々な記載された実施形態を最良の形で使用することを有効化するために、これらの実施形態を選択し記載した。