【実施例1】
【0010】
本発明を適用したナビゲーション装置の1実施例について
図1乃至
図6、
図10及び
図11を用いて説明する。
【0011】
図1は本発明の操作エリアと画面遷移後の地図縮尺を示す図であり、
図3は本発明の構成ブロック図であり、
図4は本実施例の操作エリアを示す図であり、
図5は本実施例の機能ブロック図であり、
図6は本実施例の操作から画面遷移までの処理手順を示すフロー図であり、
図10は本発明の操作エリア履歴の保持方法を示す図であり、
図11は本発明の地図縮尺例を示す図である。
【0012】
図1において、101はナビゲーション装置の操作エリア兼表示エリアである。
【0013】
105、106、107は操作エリア101上を3つの領域に分割したそれぞれの領域を示している。102、103、104は、それぞれ、操作エリア107上の操作点108、操作エリア106上の操作点109、操作エリア105上の操作点110を操作した時に表示される表示エリアを示している。ここで、本発明における操作とは、利用者が地図の表示位置を変更するために、操作入力装置303を
介して表示装置302上に表示された地図上の所望の点を指し示すことを言い、操作点とは操作によって利用者が指定した点の事を言う。
【0014】
例えば、
図2に示すように、ナビゲーション装置の表示装置201上に地図が表示されているとする。タッチパネルを搭載したナビゲーション装置では、利用者が点Oをタッチ操作で操作した場合、表示装置202上には点Oを中心とする地図が表示される。つまり表示装置201上の点Oをタッチすることを操作、この時の点Oを操作点という。
【0015】
操作エリア101と表示エリア103は同じ縮尺の地図が表示されているが、表示エリア102は操作エリア101よりも縮尺が大きい地図が表示されている。表示エリア104は操作エリア101よりも縮尺が小さい地図が表示されている。
【0016】
操作点108、109、110はそれぞれ操作エリア107、106、105上の操作点に対応している。操作エリア105は操作エリア101の中心から離れた部分の操作エリアであるため、利用者が期待する表示移動距離も長いと判断し、地図縮尺を自動で小さくする操作の対象エリアと判断する。操作エリア107は操作エリア101の中心に近い部分の操作エリアであるため、利用者が期待する表示移動距離は長くはなく、より詳細な地図情報の表示を期待すると判断し、地図縮尺を自動で大きくする操作の対象エリアと判断する。操作エリア106は操作エリア105でも107でもない操作領域と判断し、地図の縮尺を変更しない操作の対象エリアと判断する。
【0017】
図3において、302はナビゲーション装置の表示装置であり、地図の表示を行う。303は操作入力装置であり、タッチパネルやポインティング装置による操作位置の取得を行う。301は表示装置302上に表示する地図や緯度経度情報が記憶された地図情報を記憶する地図記憶装置である。304は本発明内の各種演算や制御を行うCPUである。305はCPU304によりデータの入出力が行われ、一時的なデータが記憶されるRAMである。306は本発明に使用される閾値などを記憶しておく書き換え可能な不揮発性メモリであり、ナビゲーション本体の電源が入っていない状態でも記憶が保持される。
【0018】
図4において、401は本実施例用に、操作エリア101をより詳細に定義した操作エリアである。操作エリア401は中心402で直交する軸403、404により、左上、右上、左下、右下の4つの領域に分割される。縮尺を小さくする操作の操作エリアとして操作エリア405、406、407、408がそれぞれの領域上に定義される。縮尺を変更しない操作の操作エリアとして操作エリア409、410、411、412が、縮尺を大きくする操作の操作エリアとして操作エリア413、414、415、416が定義される。つまり、操作エリア401は全部で12個の領域に分割される。それぞれの領域上を操作された場合の動作は後述する。
【0019】
操作エリア405、406、407、408と操作エリア409、410、411、412の境界は、中心402からの距離417により決定され、距離417は閾値Aとして不揮発性メモリ306上に予め保存されている。操作エリア409、410、411、412と操作エリア413、414、415、416の境界は中心402からの距離418により決定され、距離418は閾値Bとして不揮発性メモリ306上に予め保存されている。
【0020】
419は操作エリア401上の操作された操作点の1例であり、中心402からの距離420と軸403との角度421により、位置が特定される。本実施例では距離420を距離D、角度421を角度Rとする。
【0021】
図5において、501、505は不揮発性メモリ306上に保存されているエリア閾値記憶部と連続操作閾値記憶部である。連続操作閾値については後述する。
【0022】
502、503、504はRAM305上に一時的に保存される、現在表示されている地図の縮尺を記憶する地図縮尺記憶部と、現在表示されている地図の緯度経度を記憶する表示中心記憶部と、どの操作エリア上が操作されてきたのかを記憶する操作履歴記憶部である。
【0023】
506、507、508はCPU304によって処理される部分であり、どの操作エリアが操作されたのかを算出する操作エリア算出部、次に表示する地図の縮尺を算出する地図縮尺算出部、算出された縮尺で地図の表示処理を行う表示制御部である。
【0024】
図6は、CPU304によって処理される、操作エリア算出部506と地図縮尺算出部507の処理フローである。
【0025】
操作入力装置303と地図記憶装置301の情報から操作点419の緯度経度を算出する。(ステップ601)
本実施例では操作点419の緯度経度を(Tx、Ty)とし、中心402を(0、0)とした、相対的な座標を用いる。
【0026】
下記の式を満たす角度Rを算出する。(ステップ602)
(式1)
Rが0°以上90°未満の場合は右下の領域、90°以上180°未満の場合は左下の領域、180°以上270°未満の場合は左上の領域、270°以上360°未満の場合は右上の領域と判断する。
【0027】
下記の式を満たす距離Dを算出する。(ステップ603)
(式2)
閾値Aと距離Dとの比較を行う。(ステップ604)
距離Dが閾値A以下の場合は、閾値Bと距離Dとの比較を行う。(ステップ605)
602により算出された領域のエリア方向(右上、左上、左下、右下)並びに閾値A及び閾値Bと距離Dとの大小関係により、12個の操作エリアのどのエリアが操作されたかを判断することができる。
【0028】
例えば、
図4では操作点419と中心402との距離Dは閾値Aよりも長いため、ステップ606が実行される。つまり、操作エリア405、406、407、408が操作された場合はステップ606が実行される。
【0029】
そして、距離Dが、閾値A及び閾値Bより短い場合、すなわち、操作エリア413、414、415、416が操作された場合はステップ607が実行される。
【0030】
さらに、距離Dが、閾値Aより短く、閾値Bより長い場合、すなわち、操作エリア409、410、411、412が操作された場合はステップ608が実行される。
【0031】
ステップ606では次に表示する地図の縮尺を小さくする操作エリアが操作されたと判断し、操作履歴記憶部504に今回操作された操作エリア情報が保存される。ステップ607では地図の縮尺を大きくする操作エリアが操作されたと判断し、ステップ608では地図の縮尺を変更しない操作エリアが操作されたと判断し、それぞれ操作履歴記憶部504に今回操作された操作エリア情報が保存される。
【0032】
ここで、操作エリア情報は、
図10のような表形式で過去の操作履歴も保存されている。操作履歴には操作されたエリアが12個の操作エリアのうち、どの操作エリアなのかが一意に特定できる情報が保存される。
【0033】
図10では操作エリア405から416までを同じ名前のラベル405から416に対応付けし、操作エリアを一意に特定するためにラベル情報を保存する。1001には今回操作された最新の操作エリアの履歴が保存されており、1002、1003、1004、には1回前、2回前、3回前に操作された操作エリアが保存され、1005には最も古い操作の操作エリアが保存される。保存される回数はRAMのサイズ等によりナビゲーション装置毎に適切に設定される。本実施例での最新の操作エリアは操作エリア408のため、1001には操作エリア408が保存される。
【0034】
ステップ609では、今回操作した操作エリアと1回前の操作エリアが同じかどうか判断する。
【0035】
図10では今回の操作エリアが408であるが、1回前の操作エリアの412とは異なるため、地図の縮尺を変更せずに表示エリアを変更するステップ612が実行される。1回前と今回の操作エリアが同じ場合は表示エリアの移動のための処理が続いていると考えられるが、異なる場合は表示したい地点を含むエリア付近が表示されている可能性も高く、地図の縮尺を必要以上に変更しないことで、利用者の混乱を抑制する効果を得ることができる。
【0036】
なお、今回の操作が1回目の操作である場合は、比較する履歴がなく、同じではないと判断し、ステップ612が実行される。
【0037】
連続操作閾値記憶部505に保存された閾値Cと今回の操作履歴1001までに連続して同じ領域が操作された回数を比較する。(ステップ610)
閾値Cを3回とした場合、1001、1002、1003が共に同じ操作エリアを連続操作した場合、操作履歴1001の操作エリアが地図の縮尺を大きくする操作エリアか小さくする操作エリアかを判断するステップ611を実行する。利用者が中心として表示したいエリアが操作エリア405、406、407、408上にある場合に、1回の操作で地図の縮尺が変更されてしまうと、利用者が混乱してしまう可能性もあるため、必要以上に地図の縮尺しない効果を得ることができる。利用者の嗜好に合わせて設定変更することが可能であり、閾値Cが1回の場合は、1回の操作で地図の縮尺を変更する設定と判断できる。
【0038】
地図の縮尺は通常、
図11のような段階的な縮尺が使用されている。ステップ611では、地図縮尺記憶部502に記憶された縮尺1101から1106のいずれかに対し、1段階縮尺の大きい地図または1段階縮尺の小さい地図に変更する。
図11に示す縮尺の段階は1例であり、実際のシステムにより適切に設定される。
【0039】
上記処理により利用者が操作した操作点を含む操作エリアに応じて、また、操作エリアの履歴に応じて、地図の縮尺が適切に変更された地図情報を表示エリアに表示することで、利用者に有効な情報を、利用者が地図の縮尺を変更する操作を行わずに提供することができる。また、緯度経度情報を用いることにより、閾値A、Bにメートル、キロメートル単位のような実際の地図上の距離を用いることができ、利用者に分かりやすい柔軟な閾値を設定することが可能となる。
【実施例2】
【0040】
本実施例は第1の実施例とは異なる操作エリアの算出方法を提供するナビゲーション装置である。なお、本実施例における構成ブロック図は第1の実施例の図と同じで
図3を用いる。
【0041】
図7において、
図4同様、操作エリア405、406、407、408は地図縮尺を小さくする操作の操作エリアであり、操作エリア409、410、411、412は地図縮尺を変更しない操作の操作エリアであり、操作エリア413、414、415、416は地図縮尺を大きくする操作の操作エリアである。
【0042】
第1の実施例では、操作エリアの境界や操作点の座標は地図情報からの緯度経度を元に算出されていたが、本実施例では、緯度経度を用いずに操作入力装置上の座標のみを用いることで、機能ブロックの簡素化、処理フロー内の計算量の簡素化の効果を得ることができる。操作エリア405、406、407、408と操作エリア409、410、411、412との垂直方向の境界は軸403からの距離703により決定され、水平方向の境界は軸404からの距離701により決定され、距離701、703はそれぞれ閾値Ax、Ayとして不揮発性メモリ306に予め保存されている。操作エリア409、410、411、412と操作エリア413、414、415、416との垂直方向の境界は軸403からの距離704により決定され、水平方向の境界は軸404からの距離702により決定され、距離702、704はそれぞれ閾値Bx、Byとして不揮発性メモリ306に予め保存される。
【0043】
図7の操作点419の座標(Tx、Ty)は中心402の座標を(0、0)とする相対的な座標で表され、軸403からの距離706はTy、軸404からの距離705はTxで表される。タッチパネルの座標は表示エリア401の左上や左下を基準(0、0)としている場合が多く、中心402の座標は(0、0)でない場合がある。この場合は、操作入力装置303から取得した座標と中心402の座標の差をとることで、中心402の座標を基準とする座標(Tx、Ty)を算出することができる。
【0044】
図8では、本実施例において、地図の緯度経度情報を用いないため、地図記憶装置301、地図縮尺記憶部502、表示中心記憶部503が不要となり、構成を簡素化することができる。
【0045】
本実施例では操作エリア算出部801が第1の実施例とは異なるため、
図9の処理フローを用いて変更点を説明する。
【0046】
本実施例では操作入力装置303からの操作座標を緯度経度ではなく、中心402を基準とする座標で算出する。(ステップ901)
操作点の座標から操作エリアのエリア方向(右上、左上、左下、右下)を式3の条件により算出する。(ステップ902)
(式3)
Tx≧0かつTy≧0ならば右上領域
Tx<0かつTy≧0ならば左上領域
Tx<0かつTy<0ならば左下領域
Tx≧0かつTy<0ならば右下領域
次に、TxとTyの大きさがそれぞれAxとAyの大きさを超えているかの比較を行う。(ステップ903)
どちらかが超えていた場合、操作エリア405、406、407、408が操作されたと判断されるため、地図縮尺を小さくする操作エリアの操作と判断する。
【0047】
そして、ステップ903でどちらも超えていない場合、TxとTyの大きさがそれぞれBxとByの大きさを超えていないかの比較を行う。(ステップ904)
どちらも超えていない場合、操作エリア413、414、415、416が操作されたと判断し、地図縮尺を大きくする操作エリアの操作と判断する。
【0048】
さらに、ステップ904でどちらかが超えている場合は、操作エリア409、410、411、412が操作されたと判断されるため、地図縮尺を変更しない操作エリアの操作と判断する。ステップ606から612までは第1の実施例と同様に処理される。
【0049】
上記の処理により、第1の実施例と比較し、本実施例では、緯度経度を用いないことで地図記憶装置301、地図縮尺記憶部502、表示中心記憶部503が不要とする少ない構成ブロックにより、また、積算、商算、√演算を使用せず、大小比較による少ない計算量での操作エリアの判定により、地図の縮尺を適切に判定し、地図情報を提供することができる。