以下、この発明の実施の形態を、図面を参照しながら詳細に説明する。
実施の形態1.
図1は、この発明の実施の形態1に係る地図情報処理装置の構成を示すブロック図である。なお、以下においては、この地図情報処理装置が車両に搭載されたナビゲーション装置に適用されているものとして説明する。地図情報処理装置は、操作スイッチ1、タッチパネル2、GPS(Global Positioning System)受信機3、車速センサ4、角速度センサ5、地図データベース記憶装置6、制御装置7および表示装置8を備えている。
操作スイッチ1は、地図情報処理装置を操作するための各種スイッチであり、例えば、ハードキー、リモートコントローラ(リモコン)または音声認識装置などによって構成することができる。この操作スイッチ1の操作により発生された操作データは、制御装置7に送られる。
タッチパネル2は、この発明の3次元入力装置に対応し、表示装置8の表示面に設置されて、該表示面に対する指の3次元位置を検出する3次元タッチパネルから構成されている。なお、タッチパネル2で検出の対象とする検出対象物は、指に限らず、タッチパネル2が感応する他の物体とすることもできる。このタッチパネル2で検出された3次元位置を示す3次元位置データは、制御装置7に送られる。
GPS受信機3は、GPS衛星から送信された電波をアンテナ(図示しない)で受信することにより得られたGPS信号に基づき、この地図情報処理装置が適用されたナビゲーション装置が搭載された車両(図示しない)の現在位置を検出する。このGPS受信機3で検出された車両の現在位置を表す現在位置データは、制御装置7に送られる。
車速センサ4は、車両から送られてくる車速信号に基づき車両の移動速度を検出する。この車速センサ4で検出された車両の移動速度を表す速度データは、制御装置7に送られる。角速度センサ5は、車両の進行方向の変化を検出する。この角速度センサ5で検出された車両の進行方向の変化を表す角速度データは、制御装置7に送られる。
地図データベース記憶装置6は、例えば、記憶媒体としてハードディスクを用いたハードディスクドライブにより構成されており、道路、背景、名称またはランドマークなどといった地図の構成要素が記述された地図データを格納している。この地図データベース記憶装置6に記憶されている地図データは、制御装置7によって読み出される。
制御装置7は、例えばマイクロコンピュータから構成されており、操作スイッチ1、タッチパネル2、GPS受信機3、車速センサ4、角速度センサ5、地図データベース記憶装置6および表示装置8との間でデータを送受することにより、この地図情報処理装置の全体を制御する。この制御装置7の詳細は、後述する。
表示装置8は、例えばLCD(Liquid Crystal Display)から構成されており、制御装置7から送られてくる画像信号に従い、地図および地図上における地図情報処理装置の現在位置などを表示する。
次に、制御装置7の詳細を説明する。制御装置7は、位置検出部11、画面操作判定部12および地図描画部13を備えている。位置検出部11は、GPS受信機3から送られてくる現在位置データ、車速センサ4から送られてくる車速データおよび角速度センサ5から送られてくる角速度データを用いて、この地図情報処理装置が適用されたナビゲーション装置が搭載された車両の位置を検出し、この検出した位置と地図データベース記憶装置6から読み出した地図データに含まれる道路データとを用いてマップマッチングを行い、正確な車両の位置を検出する。この位置検出部11で検出された車両の位置を表す位置データは、地図描画部13に送られる。
画面操作判定部12は、タッチパネル2から送られてくる3次元位置データにより示される指の3次元位置に基づき、使用者が指示した画面操作の内容、例えば、スクロール、拡大または縮尺などといった画面操作の内容を判定する。この画面操作判定部12において判定された画面操作の内容を表すデータは、地図描画部13に送られる。
地図描画部13は、位置検出部11から送られてくる位置データを取得するとともに、画面操作判定部12から送られてくるデータによって示される画面操作に必要な地図データを地図データベース記憶装置6から取得し、これら位置データおよび地図データを用いて、車両の位置および画面操作に従った地図を描画し、画像信号として表示装置8に送る。これにより、表示装置8の画面に、車両の位置および画面操作に応じた地図が表示される。
なお、制御装置7は、上述した処理以外の処理、例えば、ナビゲーション装置で実行される地図データベース記憶装置6に記憶されている経路誘導のための案内情報および各地点の情報などを用いて、出発地から目的地までの推奨経路を求める経路探索処理、経路探索処理で得られた推奨経路に沿って案内情報を提示する経路誘導処理、および、各地点に関する情報の中から所望の条件に合った地点の情報を求める地点検索処理などを実行するように構成することができる。
また、図1に示す地図情報処理装置から、GPS受信機3、車速センサ4、角速度センサ5および制御装置7の内部の位置検出部11を除去し、位置に依存しないで地図を表示する地図情報処理装置を構成することもできる。
また、操作スイッチ1の代わりに、表示装置8に各種スイッチの画像を表示し、タッチパネル2上の各種スイッチの画像にタッチされたか否かによって、各種スイッチが押下されたか否かを判定するように構成することもできる。
図2は、タッチパネル2が検出する指の3次元位置を表す座標(X,Y,Z)と表示装置8の表示面との関係を示す図である。表示面の左下隅を基準として、Xは、表示面の横方向の指の位置を表し、Yは、表示面の縦方向の指の位置を表し、Zは、表示面に対して垂直方向の指の位置を表す。
タッチパネル2によって検出された指の3次元位置を「タッチ位置」と呼ぶ。また、タッチパネル2は、タッチ位置以外に、タッチ位置が有効であるか無効であるかを示すタッチ位置有効・無効情報を出力する。タッチ位置有効・無効情報は、指が感応範囲内にあるときは「有効」を示し、指が感応範囲外にあるときは「無効」を示す。
次に、この発明の実施の形態1に係る地図情報処理装置の動作を説明する。図3は、制御装置7の画面操作判定部12の動作を示すフローチャートである。
画面操作判定部12において処理が開始されると、まず、タッチ位置が取得される(ステップST100)。すなわち、画面操作判定部12は、タッチパネル2から、指のタッチ位置およびタッチ位置有効・無効情報を取得し、画面操作判定部12の内部に設けられたタッチ位置軌跡格納部21に格納する。
図4は、タッチ位置軌跡格納部21に格納されたデータの例を示す図である。タッチ位置軌跡格納部21は、格納されているタッチ位置の数を示すタッチ位置数と、タッチ位置とタッチ位置有効・無効情報との対が時間経過の順に格納されたテーブルを含む。このタッチ位置軌跡格納部21に格納されている内容は、タッチ位置が移動した軌跡を表している。
次いで、挙動判定処理が行われる(ステップST110)。すなわち、画面操作判定部12は、タッチ位置軌跡格納部21の内容によって示されるタッチ位置の移動軌跡に基づいて、指の挙動に対応する操作を判定し、判定結果を、画面操作判定部12の内部に設けられた操作指定部22に格納する。
操作指定部22には、判定結果として、非操作、拡大、縮小、スクロール、確定または不定を表すコードが格納される。この場合、コードとして、例えば非操作、拡大、縮小、スクロール、確定および不定のそれぞれに0、1、2、3、4および5といった値が与えられる。なお、判定結果がスクロールの場合は、さらに、スクロール方向、スクロール速度およびZ座標の平均値が格納される。
図5は、地図を拡大または縮小する場合の操作例を示す図であり、使用者が地図を拡大したいときは、指を実線矢印方向(aからb)へ動かして表示装置8の表示面へ近づける。また、使用者が地図を縮小したいときは、指を破線矢印方向(bからa)へ動かして表示装置8の表示面から遠ざける。
図6は、地図をスクロールさせる場合の操作例を示す図であり、使用者が地図を表示装置8の表示面において角度θの方向にスクロールさせたいとき、指を実線矢印方向(aからb)へ移動させる。指がbに至り、さらにスクロールを続けたいときは、実線矢印の逆方向(bからa)へ指を戻し、再び実線矢印方向(aからb)へ移動させる。この操作を繰り返すことにより任意の量のスクロールが可能となる。なお、破線矢印は実線矢印を表示面へ投影したものである。
図7は、操作を確定させる場合の操作例を示す図であり、使用者が地図の拡大、縮小またはスクロールした後に表示状態を確定させたいときに、拡大、縮小またはスクロールを行わせるように指を動かした後、円を描くように動かす。なお、確定操作としては、円を描くように動かすだけでなく、拡大、縮小またはスクロールを指示する指の動きと異なる動きであれば、任意の動きを用いることができる。
タッチパネル2の感応範囲内に指がないときは、使用者は操作をしていないと判断されて「非操作」とされる。特に、拡大、縮小またはスクロールの操作の後に確定操作なしで指を感応範囲外に移動すると、それまでに行われた拡大、縮小またはスクロールの操作がキャンセルされる。また、指が移動していないときに、拡大、縮小、スクロールまたは確定以外の動作が行われたときは「不定」とされる。
次いで、所定時間が経過したかどうかが調べられる(ステップST120)。このステップST120において、所定時間が経過していないことが判断されると、このステップST120を繰り返し実行しながら待機状態に入る。このステップST120の繰り返し実行による待機状態において、所定時間が経過したことが判断されると、シーケンスはステップST100に戻り、上述した処理が繰り返される。
以上の動作により、所定時間間隔で取得されたタッチ位置およびタッチ位置有効・無効情報がタッチ位置軌跡格納部21に取得順に格納されるとともに、タッチ位置の移動軌跡により使用者が指示した操作が判定され、その判定結果が操作指定部22に格納され、この操作指定部22の内容が地図描画部13に送られる。
次に、図3のステップST110で行われる挙動判定処理の詳細を、図8に示すフローチャートを参照しながら説明する。
挙動判定処理では、まず、無効であるかどうかが調べられる(ステップST200)。すなわち、画面操作判定部12は、タッチ位置軌跡格納部21に格納されている最新のタッチ位置有効・無効情報が無効を示しているかどうかを調べる。このステップST200において、無効であることが判断されると、指がタッチパネル2の感応範囲外にあり、タッチ操作が行われていない旨が認識され、シーケンスはステップST210に進む。
ステップST210においては、タッチ位置数がクリアされる。すなわち、画面操作判定部12は、タッチ位置軌跡格納部21に格納されているタッチ位置数を「0」にクリアする。以後は、タッチ位置有効・無効情報およびタッチ位置は、図4に示すタッチ位置軌跡格納部21のテーブルの先頭から順に格納されていく。次いで、非操作コードが格納される(ステップST220)。すなわち、画面操作判定部12は、操作指定部22に無効を示す非操作コードを格納する。その後、挙動判定処理は終了する。
上記ステップST200において、無効でないことが判断されると、次いで、垂直移動でZ座標の値が減少しているかどうかが調べられる(ステップST230)。すなわち、画面操作判定部12は、タッチ位置軌跡格納部21に格納されているタッチ位置を最新のものから古いものに向けて順に辿って行き、X座標およびY座標の変動が微小であり、かつ、Z座標の値が減少方向に変動しているかどうかを調べる。
このステップST230において、垂直移動でZ座標の値が減少していることが判断されると、使用者が図5の実線で示すように指をaからbに向けて移動させて、地図を拡大させる操作を行っていることが認識され、次いで、拡大コードが格納される(ステップST240)。すなわち、画面操作判定部12は、操作指定部22に画面の拡大を示す拡大コードを格納する。その後、挙動判定処理は終了する。
上記ステップST230において、垂直移動でZ座標の値が減少していないことが判断されると、次いで、垂直移動でZ座標の値が増加しているかどうかが調べられる(ステップST250)。すなわち、画面操作判定部12は、タッチ位置軌跡格納部21に格納されているタッチ位置を最新のものから古いものに向けて順に辿って行き、X座標およびY座標の変動が微小であり、かつ、Z座標の値が増加方向に変動しているかどうかを調べる。
このステップST250において、垂直移動でZ座標の値が増加していることが判断されると、使用者が図5の破線で示すように指をbからaに向けて移動させて、地図を縮小させる操作を行っていることが認識され、次いで、縮小コードが格納される(ステップST260)。すなわち、画面操作判定部12は、操作指定部22に画面の縮小を示す縮小コードを格納する。その後、挙動判定処理は終了する。
上記ステップST250において、垂直移動でZ座標の値が増加していないことが判断されると、次いで、平行直線移動しているかどうかが調べられる(ステップST270)。すなわち、画面操作判定部12は、タッチ位置軌跡格納部21に格納されているタッチ位置を最新のものから古いものに向けて順に辿って行き、Z座標の変動が微小であり、かつ、X座標およびY座標が所定誤差内で直線的に一定方向に変化しているかどうかを調べる。この際、画面操作判定部12は、一定方向の角度(例えば、図6のθ)を算出し、仮のスクロール方向として図示しないメモリに一時的に格納しておく。また、Z座標についても、直線移動時の平均値を求め、スクロール速度判定用の値として図示しないメモリに一時的に格納しておく。
このステップST270において、平行直線移動していることが判断されると、次いで、スクロール中であるかどうかが調べられる(ステップST280)。すなわち、画面操作判定部12は、操作指定部22に格納されているコードが、画面のスクロールを示すスクロールコードであるかどうかを調べる。
このステップST280において、スクロール中でない、つまり操作指定部22に格納されているコードがスクロールコードでないことが判断されると、スクロールが開始された旨が認識され、デフォルトのスクロール速度が格納される(ステップST290)。すなわち、画面操作判定部12は、初回のスクロール処理であることを認識し、デフォルトとして規定されたスクロール速度を操作指定部22に格納するとともに、ステップST270でメモリに一時的に格納したZ座標の平均値を操作指定部22に格納する。その後、シーケンスはステップST320に進む。
上記ステップST280において、スクロール中である、つまり操作指定部22に格納されているコードがスクロールコードであることが判断されると、既にスクロール中である旨が認識され、次いで、逆方向移動であるかどうかが調べられる(ステップST300)。すなわち、画面操作判定部12は、操作指定部22に格納されているスクロール方向と、ステップST270でメモリに一時的に格納された仮のスクロール方向とを比較し、それらの方向が逆であるかどうかを調べる。
このステップST300において、逆方向移動である、つまり操作指定部22に格納されているスクロール方向と仮のスクロール方向とが逆であることが判断されると、同一方向に更にスクロールするために図6の実線矢印の逆方向(bからa)に指が戻されていることが認識され、シーケンスはステップST350に進む。
一方、ステップST300において、逆方向移動でない、つまり操作指定部22に格納されているスクロール方向と仮のスクロール方向とが同一であることが判断されると、同一方向への更なるスクロールが指示されているか、新たな方向へのスクロールが指示されていると認識され、次いで、スクロール速度が算出されて格納される(ステップST310)。すなわち、画面操作判定部12は、操作指定部22に格納されているZ座標の平均値と、ステップST270でメモリに一時的に格納したZ座標の平均値とを比較し、Z座標の平均値が増加していれば操作指定部22のスクロール速度を所定値だけ増加させ、減少していれば、所定値だけ減少させる。また、画面操作判定部12は、ステップST270でメモリに一時的に格納したZ座標の平均値を操作指定部22に格納する。その後、シーケンスはステップST320に進む。
ステップST320においては、スクロールコードおよびスクロール方向が格納される。すなわち、画面操作判定部12は、操作指定部22にスクロールを示すコードを格納するとともに、ステップST270でメモリに一時的に格納した仮のスクロール方向をスクロール方向として格納する。その後、挙動判定処理は終了する。
上記ステップST270において、平行直線移動していないことが判断されると、次いで、確定動作であるかどうかが調べられる(ステップST330)。すなわち、画面操作判定部12は、タッチ位置軌跡格納部21に格納されているタッチ位置を最新のものから古いものに向けて順に辿って行き、Z座標の変動が微小であり、かつX座標およびY座標が所定誤差内で円状の軌跡となっているかどうかを調べる。
このステップST330において、確定動作であることが判断されると、使用者が図7に示すように指を動かし、地図操作の終了を指示していることが認識され、表示縮尺および表示中心座標が現時点の設定に確定された後、確定コードが格納される(ステップST340)。すなわち、画面操作判定部12は、操作指定部22に確定を示す確定コードを格納する。その後、挙動判定処理は終了する。
上記ステップST330において、確定動作でないことが判断されると、シーケンスはステップST350に進む。ステップST350においては、不定コードが格納される。すなわち、画面操作判定部12は、指の移動が停止しているか、拡大、縮小、スクロールまたは確定に該当する操作が行われていないと判断して、操作指定部22に不定を示す不定コードを格納する。その後、挙動判定処理は終了する。
図9は、制御装置7の地図描画部13の動作を示すフローチャートである。地図描画部13は、上述した画面操作判定部12の動作と並行して動作し、上記ステップST110の挙動判定処理で操作指定部22に格納されたコードに従って地図を描画する。
地図描画に先立って、地図描画部13の内部に設けられた描画変数部31に、表示装置8に表示される地図の表示縮尺および表示装置8の表示面中心に該当する地点の地図座標である表示中心座標が格納される。表示中心座標としては、例えば、表示中心地点の緯度および経度が用いられる。また、地図描画部13の内部に設けられた復帰用描画変数部32に、地図表示を元に戻すために必要な地図の表示縮尺および表示中心座標が格納される。
初期状態では、描画変数部31には所定の表示縮尺および表示中心座標が格納され、この格納されている表示縮尺で、表示中心座標が表示面の中心となるように地図が描画される。また、復帰用描画変数部32にも、描画変数部31と同じ表示縮尺および表示中心座標が格納される。その後、以下の処理が行われる。
地図描画部13において処理が開始されると、まず、非操作であるかどうかが調べられる(ステップST400)。すなわち、地図描画部13は、操作指定部22を参照し、そこに格納されているコードが非操作コードであるかどうかを調べる。このステップST400において、非操作であることが判断されると、次いで、地図復帰が必要であるかどうかが調べられる(ステップST410)。すなわち、地図描画部13は、描画変数部31の内容と復帰用描画変数部32の内容とを比較し、同じでなければ、それまでに拡大、縮小またはスクロールのいずれかの操作が行われたことにより描画変数部31の表示縮尺または表示中心座標が変化し、拡大、縮小またはスクロール後に非操作になったものであると認識し、拡大、縮小またはスクロールの操作をキャンセルするために、表示されている地図を操作以前の状態に復帰させる必要があると判断する。一方、地図描画部13は、描画変数部31の内容と復帰用描画変数部32の内容とを比較し、同じであれば、非操作が継続しているか、決定の後に非操作となったものであり、表示されている地図を操作以前の状態に復帰させる必要がないと判断する。
上記ステップST410において、地図復帰が必要でないことが判断されると、シーケンスはステップST400に戻り、上述した処理が繰り返される。一方、ステップST410において、地図復帰が必要であることが判断されると、次いで、描画変数部31の復帰が行われる(ステップST420)。すなわち、地図描画部13は、復帰用描画変数部32から表示縮尺および表示中心座標を読み出し、描画変数部31に表示縮尺および表示中心座標として格納する。復帰用描画変数部32には、操作前の表示縮尺および表示中心座標が格納されているため、この処理により、描画変数部31には、復帰すべき操作が行われる前の地図の描画に必要な表示縮尺および表示中心座標が格納される。その後、シーケンスはステップST520に進む。
上記ステップST400において、非操作でないことが判断されると、次いで、不定であるかどうかが調べられる(ステップST430)。すなわち、地図描画部13は、操作指定部22を参照し、そこに格納されているコードが不定コードであるかどうかを調べる。このステップST430において、不定であることが判断されると、シーケンスはステップST400に戻り、上述した処理が繰り返される。
一方、ステップST430において、不定でないことが判断されると、次いで、拡大であるかどうかが調べられる(ステップST440)。すなわち、地図描画部13は、操作指定部22を参照し、そこに格納されているコードが拡大コードであるかどうかを調べる。このステップST440において、拡大であることが判断されると、表示縮尺が増加される(ステップST450)。すなわち、地図描画部13は、描画変数部31に格納されている表示縮尺を所定値だけ増加させる。その後、シーケンスはステップST520へ進む。なお、このステップST450における増加の結果、所定の上限値を超える場合は、上限値を描画変数部31に格納する。
上記ステップST440において、拡大でないことが判断されると、次いで、縮小であるかどうかが調べられる(ステップST460)。すなわち、地図描画部13は、操作指定部22を参照し、そこに格納されているコードが縮小コードであるかどうかを調べる。このステップST460において、縮小であることが判断されると、表示縮尺が減少される(ステップST470)。すなわち、地図描画部13は、描画変数部31に格納されている表示縮尺を所定値だけ減少させる。その後、シーケンスはステップST520へ進む。なお、このステップST470における減少の結果、所定の下限値を超える場合は、下限値を描画変数部31に格納する。
上記ステップST460において、縮小でないことが判断されると、次いで、スクロールであるかどうかが調べられる(ステップST480)。すなわち、地図描画部13は、操作指定部22を参照し、そこに格納されているコードがスクロールコードであるかどうかを調べる。このステップST480において、スクロールであることが判断されると、表示中心が変更される(ステップST490)。すなわち、地図描画部13は、操作指定部22に格納されているスクロール方向およびスクロール速度と、描画変数部31に格納されている表示縮尺とから、表示されている地図を所定量だけ移動させるのに必要な表示中心座標の変移量を求め、描画変数部31に格納されている表示中心座標を、求めた変移量だけ変移させる。その後、シーケンスはステップST520へ進む。
上記ステップST480において、スクロールでないことが判断されると、次いで、確定であるかどうかが調べられる(ステップST500)。すなわち、地図描画部13は、操作指定部22を参照し、そこに格納されているコードが確定コードであるかどうかを調べる。このステップST500において、確定であることが判断されると、復帰用描画変数部32の内容が変更される(ステップST510)。すなわち、使用者が所望する拡大、縮小またはスクロール状態となり、操作前の状態に復帰する必要がないため、地図描画部13は、描画変数部31から表示縮尺および表示中心座標を読み出し、復帰用描画変数部32に表示縮尺および表示中心座標として格納する。その後、シーケンスはステップST400に戻り、上述した処理が繰り返される。また、上記ステップST500において、確定でないことが判断された場合も、シーケンスはステップST400に戻り、上述した処理が繰り返される。
ステップST520においては、地図描画が行われる。すなわち、地図描画部13は、描画変数部31の表示縮尺で、表示装置8の表示面中心に該当する地点の地図座標が描画変数部31の表示中心座標となるように、地図データベース記憶装置6から必要な地図データを取得し、地図描画を行う。その後、シーケンスはステップST400に戻り、上述した処理が繰り返される。
以上説明したように、この発明の実施の形態1に係る地図情報処理装置によれば、地図表示縮尺の変更を、直感的で分かりやすい簡単な操作で行うことができる。また、平行直線移動が検出されたときのみスクロールし、それ以外は元の表示位置と同じ表示中心を有する地図の縮尺変更が行われるので、縮尺変更操作時に指がぶれたとしても、地図が移動することなく縮尺変更が可能となる。その結果、地図表示の変更操作を、地図の見やすさを維持したまま、しかも直感的かつ簡単に行うことができる。
また、タッチパネル2により検出された指または物体が表示面に近いときに拡大し、遠いときに縮小して地図を表示するように構成したので、近づくと大きく見えるという人間の感覚に適合し、違和感なく地図の縮尺を変更ができる。また、指または物体がタッチパネル2により検出されない距離に離されたときに、元の縮尺の地図を表示するように構成したので、地図表示縮尺の変更の取り消しを簡単な操作で行うことができる。
また、縮尺変更操作とスクロール操作を、3次元入力による簡単な操作によって、ほぼ同時に行うことができるので、地図表示縮尺の変更とスクロールを同時に行うことが可能である。また、縮尺変更とスクロールの取り消し、確定操作についても、何度も画面をタッチしたり、ボタンを押したりすることなく、直感的な操作で行うことが可能となっている。また、スクロールとスクロール速度の変更を同時に行うことが可能となっている。
実施の形態2.
上述した実施の形態1に係る地図情報処理装置では、地図を拡大するか/縮小するか、また、スクロール速度を速くするか/遅くするかといった判定は、指のタッチパネル2からの距離の相対的な変化(前回と比べて遠ざかったか/近づいたか)により決定している。この発明の実施の形態2に係る地図情報処理装置では、これを相対的な変化に基づく判断ではなく、絶対的な基準を設け、指のタッチパネルからの高さにより、固定的に描画縮尺およびスクロール速度を定める。なお、基本的な構成は実施の形態1に係る地図情報処理装置と同じであるため、以下では実施の形態1に係る地図情報処理装置と相違する部分を中心に説明する。
図10(a)は、固定的な描画縮尺を規定する表示縮尺テーブルの一例であり、図10(b)は、固定的なスクロール速度を定めたスクロール速度テーブルの一例である。これら表示縮尺テーブルおよびスクロール速度テーブルは、制御装置7の図示しないメモリに格納され、随時参照できるように構成されている。
図3のステップST110にて判定される挙動は、非操作、縮尺変更、スクロール、確定および不定である。非操作、スクロール、確定の判定方法および判定後の処理は、上述した実施の形態1に係る地図情報処理装置の場合と同様である。
「縮尺変更」は、実施の形態1に係る地図情報処理装置における拡大および縮小操作を判定できた場合とする。このとき、表示縮尺も合わせて操作指定部22に格納される。不定は、指の移動が停止しているか、縮尺変更、スクロールおよび確定に該当する操作が行われていないと判定できた場合とする。
次に、図3のステップST110で行われる挙動判定処理の詳細を、図11に示すフローチャートを参照しながら説明する。なお、図11に示すフローチャートにおいて、図8のフローチャートに示した実施の形態1に係る地図情報処理装置の挙動判定処理と同じ処理を実行するステップには、図8で使用した符号と同一の符号を付して説明を簡略化する。
挙動判定処理では、まず、無効であるかどうかが調べられる(ステップST200)。このステップST200において、無効であることが判断されると、次いで、タッチ位置数がクリアされる(ステップST210)。次いで、非操作コードが格納される(ステップST220)。その後、挙動判定処理を終了する。
上記ステップST200において、無効でないことが判断されると、次いで、垂直移動しているかどうかが調べられる(ステップST600)。すなわち、画面操作判定部12は、タッチ位置軌跡格納部21に格納されているタッチ位置を最新のものから古いものに向けて順に辿って行き、X座標およびY座標の変動が微小であり、かつ、Z座標が減少方向または増加方向に変動しているかどうかを調べる。この際、最新のZ座標が制御装置7の図示しないメモリに一時的に格納される。
このステップST600において、垂直移動していることが判断されると、使用者が図5の実線または破線で示すように指を移動させて、地図の表示縮尺を変更する操作を行っていることが認識され、次いで、縮尺変更コード、Z座標値に該当する表示縮尺が格納される(ステップST610)。すなわち、画面操作判定部12は、縮尺変更を示す縮尺変更コードを操作指定部22に格納するとともに、表示縮尺テーブルを参照し、ステップST600で制御装置7のメモリに一時的に格納されたZ座標値に該当する表示縮尺を操作指定部22に格納する。その後、挙動判定処理は終了する。
上記ステップST600において、垂直移動していないことが判断されると、次いで、平行直線移動しているかどうかが調べられる(ステップST270)。このステップST270において、平行直線移動していることが判断されると、次いで、スクロール中であるかどうかが調べられる(ステップST280)。このステップST280において、スクロール中でないことが判断されると、シーケンスはステップST620に進む。
一方、ステップST280において、スクロール中であることが判断されると、次いで、逆方向移動であるかどうかが調べられる(ステップST300)。このステップST300において、逆方向移動であることが判断されると、シーケンスはステップST350に進む。一方、ステップST300において、逆方向移動でないことが判断されると、シーケンスはステップST620に進む。
ステップST620においては、Z座標値に該当するスクロール速度が格納される。すなわち、画面操作判定部12は、制御装置7の図示しないメモリに格納されたスクロール速度テーブルを参照し、ステップST270で制御装置7のメモリに一時的に格納したZ座標の平均値に該当するスクロール速度を操作指定部22に格納する。次いで、スクロールコードおよびスクロール方向が格納される(ステップST320)。その後、挙動判定処理は終了する。
上記ステップST270において、平行直線移動していないことが判断されると、次いで、確定動作であるかどうかが調べられる(ステップST330)。このステップST330において、確定動作であることが判断されると、確定コードが格納される(ステップST340)。その後、挙動判定処理は終了する。上記ステップST330において、確定動作でないことが判断されると、シーケンスはステップST350に進む。ステップST350においては、不定コードが格納される。その後、挙動判定処理は終了する。
図12は、制御装置7の地図描画部13の動作を示すフローチャートである。なお、図12に示すフローチャートにおいて、図9のフローチャートに示した実施の形態1に係る地図情報処理装置と同じ処理を実行するステップには、図9で使用した符号と同一の符号を付して説明を簡略化する。
まず、非操作であるかどうかが調べられる(ステップST400)。このステップST400において、非操作であることが判断されると、次いで、地図復帰が必要であるかどうかが調べられる(ステップST410)。このステップST410において、地図復帰が必要でないことが判断されると、シーケンスはステップST400に戻り、上述した処理が繰り返される。一方、ステップST410において、地図復帰が必要であることが判断されると、次いで、描画変数部31の復帰が行われる(ステップST420)。その後、シーケンスはステップST520に進む。
上記ステップST400において、非操作でないことが判断されると、次いで、不定であるかどうかが調べられる(ステップST430)。このステップST430において、不定であることが判断されると、シーケンスはステップST400に戻り上述した処理が繰り返される。
一方、ステップST430において、不定でないことが判断されると、次いで、縮尺変更であるかどうかが調べられる(ステップST700)。すなわち、地図描画部13は、操作指定部22を参照し、そこに格納されているコードが縮尺変更コードであるかどうかを調べる。このステップST700において、縮尺変更であることが判断されると、表示縮尺が変更される(ステップST710)。すなわち、地図描画部13は、操作指定部22に格納されている表示縮尺を、描画変数部31の表示縮尺に上書きする。その後、シーケンスはステップST520へ進む。
上記ステップST700において、縮尺変更でないことが判断されると、次いで、スクロールであるかどうかが調べられる(ステップST480)。このステップST480において、スクロールであることが判断されると、表示中心が変更される(ステップST490)。その後、シーケンスはステップST520へ進む。
上記ステップST480において、スクロールでないことが判断されると、次いで、確定であるかどうかが調べられる(ステップST500)。このステップST500において、確定であることが判断されると、復帰用描画変数部32の内容が変更される(ステップST510)。その後、シーケンスはステップST400に戻り、上述した処理が繰り返される。また、上記ステップST500において、確定でないことが判断された場合も、シーケンスはステップST400に戻り、上述した処理が繰り返される。ステップST520においては、地図描画が行われる。その後、ステップST400に戻り、上述した処理が繰り返される。
以上説明したように、この発明の実施の形態2に係る地図情報処理装置によれば、指のタッチパネルからの高さに応じて、固定的に縮尺とスクロール速度を定めるように構成したので、変更したい縮尺およびスクロール速度があらかじめ決まっている場合、直接その縮尺およびスクロール速度に対応する位置に指の高さを移動させることにより、素早く且つ簡単に希望の縮尺およびスクロール速度に変更することが可能となる。
実施の形態3.
この発明の実施の形態3に係る地図情報処理装置は、画面をスクロールせずに固定し、指を近づけた近傍のみに対して実施の形態1に係る地図情報処理装置の拡大および縮小操作を適用し、描画するようにしたものである。図13および図14は、実施の形態3に係る地図情報処理装置の操作例を示す図であり、図13の状態から操作指を画面左上に移動すると、図14に示すように、表示変更面のみ移動し、表示固定面の表示が変わらないことを示している。以下では、実施の形態1に係る地図情報処理装置と異なる部分を中心に説明する。
地図描画部13の中の描画変数部31には、表示縮尺および表示変更面の表示中心座標が格納される。初期状態では、所定の表示縮尺および表示中心座標が格納される。復帰用描画変数部32には、表示縮尺および表示固定面の表示中心座標が格納される。初期状態では、所定の表示縮尺および表示中心座標が格納される。
図3のステップST110にて判定される挙動は、非操作、拡大、縮小、平行移動、確定および不定である。非操作、拡大、縮小、確定の判定方法と判定後の処理は実施の形態1に係る地図情報処理装置の場合と同様である。
「平行移動」は、タッチ位置軌跡格納部21に格納されているタッチ位置を最新のものから古いものに向けて順に辿って行き、X座標およびY座標が変化していると判定できた場合とする。このときのX座標およびY座標を中心座標として、一定の近傍距離を縮尺変更して描画するため、最新のX座標およびY座標を操作指定部22に格納する。なお、Z座標の変化の有無は問わない。「不定」は、指の移動が停止しているか、拡大、縮小、スクロール、平行移動または確定に該当する操作が行われていないと判定できた場合とする。
次に、この実施の形態3に係る地図情報処理装置の動作を説明する。この地図情報処理装置で行われる挙動判定処理は、図8のフローチャートに示した実施の形態1に係る地図情報処理装置の挙動判定処理と同じであるので説明を省略する。
図16は、制御装置7の地図描画部13の動作を示すフローチャートである。なお、図16に示すフローチャートにおいて、図9のフローチャートに示した実施の形態1に係る地図情報処理装置と同じ処理を実行するステップには、図9で使用した符号と同一の符号を付して説明を簡略化する。
まず、非操作であるかどうかが調べられる(ステップST400)。このステップST400において、非操作であることが判断されると、次いで、地図復帰が必要であるかどうかが調べられる(ステップST800)。すなわち、地図描画部13は、描画変数部31に格納されている表示縮尺と復帰用描画変数部32に格納されている表示縮尺とを比較し、同じでなければ、表示されている地図を操作以前の状態に復帰させる必要があると判断し、同じであれば、復帰させる必要がないと判断する。
上記ステップST800において、地図復帰が必要でないことが判断されると、シーケンスはステップST400に戻り、上述した処理が繰り返される。一方、ステップST800において、地図復帰が必要であることが判断されると、次いで、描画変数部31の復帰が行われる(ステップST810)。すなわち、地図描画部13は、復帰用描画変数部32に格納されている表示縮尺を読み出し、描画変数部31に表示縮尺として格納する。その後、シーケンスはステップST870に進む。
上記ステップST400において、非操作でないことが判断されると、次いで、不定であるかどうかが調べられる(ステップST430)。このステップST430において、不定であることが判断されると、シーケンスはステップST400に戻り、上述した処理が繰り返される。
一方、ステップST430において、不定でないことが判断されると、次いで、拡大であるかどうかが調べられる(ステップST440)。このステップST440において、拡大であることが判断されると、表示縮尺が増加される(ステップST450)。その後、シーケンスはステップST870へ進む。
上記ステップST440において、拡大でないことが判断されると、次いで、縮小であるかどうかが調べられる(ステップST460)。このステップST460において、縮小であることが判断されると、表示縮尺が減少される(ステップST470)。その後、シーケンスはステップST870へ進む。
上記ステップST460において、縮小でないことが判断されると、次いで、平行移動であるかどうかが調べられる(ステップST820)。すなわち、地図描画部13は、操作指定部22を参照し、そこに格納されているコードが平行移動コードであるかどうかを調べる。このステップST820において、平行移動であることが判断されると、表示中心が変更される(ステップST830)。すなわち、地図描画部13は、操作指定部22に格納されているX座標およびY座標を制御装置7のメモリの描画変数部31の表示中心座標に上書きする。その後、シーケンスはステップST870へ進む。
上記ステップST820において、平行移動でないことが判断されると、次いで、確定であるかどうかが調べられる(ステップST500)。このステップST500において、確定であることが判断されると、次いで、地図変更が必要であるかどうかが調べられる(ステップST840)。すなわち、地図描画部13は、描画変数部31に格納されている表示縮尺と復帰用描画変数部32に格納されている表示縮尺とを比較し、内容が同じでなければ、表示されている地図を変更する必要があると判断し、同じであれば、変更する必要がないと判断する。
このステップST840において、地図変更が必要であることが判断されると、復帰用描画変数部32の内容が変更される(ステップST850)。すなわち、地図描画部13は、描画変数部31から表示縮尺を読み出し、復帰用描画変数部32に表示縮尺として格納する。次いで、地図描画(全画面)が行われる(ステップST860)。すなわち、地図描画部13は、図15に示すように、指を近づけた近傍の表示縮尺を全画面の表示縮尺に適用するために、描画変数部31に格納されている表示縮尺で、表示装置8の表示面中心に該当する地点の地図座標が復帰用描画変数部32の表示中心座標となるように、地図データベース記憶装置6から必要な地図データを取得し、地図描画を行う。その後、シーケンスはステップST400に戻り、上述した処理が繰り返される。また、上記ステップST500において、確定でないことが判断された場合、および、ステップST840において、地図変更が必要でないことが判断された場合も、シーケンスはステップST400に戻り、上述した処理が繰り返される。
ステップST870においては、地図描画(一部画面)が行われる。すなわち、地図描画部13は、描画変数部31に格納されている表示縮尺で、描画変数部31に格納されている表示中心座標から一定の近傍距離内のみを描画するために、これに必要な地図データを地図データベース記憶装置6から取得し、地図描画を行う。その後、シーケンスはステップST400に戻り、上述した処理が繰り返される。
以上説明したように、この発明の実施の形態3に係る地図情報処理装置によれば、指のタッチ位置の近傍に限定し地図の表示縮尺を変更するように構成したので、全画面の表示縮尺を切り替えることなく、一部の地点近傍のみを拡大表示し、詳細を見ることができるとともに、縮尺変更前の地図と見比べながら全画面の縮尺変更を決定することが可能となる。また、一時的に縮尺変更したい場合に、背景に元の縮尺の地図が表示されているので、前の縮尺に戻すために、縮尺を覚えておく必要がなく、簡単な操作で直ちに元の地図に戻す(画面を切り替える)ことができる。
実施の形態4.
この発明の実施の形態4に係る地図情報処理装置は、画面をスクロールせずに固定し、指の移動角度と回転方向に応じて、任意の角度まで地図を回転させて表示するようにしたものである。図18は、実施の形態4に係る地図情報処理装置の操作例を示す図である。操作指を90度移動させることにより、時計回りに90度回転された地図が表示される例を示している。この例では、画面の縦横比が異なるため、図18(a)の破線部分のみが表示されている。以下では、実施の形態1に係る地図情報処理装置と異なる部分を中心に説明する。
地図描画部13の描画変数部31には、表示縮尺、表示中心座標および表示角度が格納される。初期状態では、所定の表示縮尺、表示中心座標および表示角度が格納される。復帰用描画変数部32についても同様である。
図3のステップST110にて判定される挙動は、非操作、回転、確定および不定である。非操作および確定の判定方法と判定後の処理は、実施の形態1に係る地図情報処理装置の場合と同様である。
「回転」は、タッチ位置軌跡格納部21に格納されているタッチ位置を最新のものから古いものに向けて順に辿って行き、X座標およびY座標が変化していると判定できた場合とする。このとき、最新のX座標およびY座標と回転方向と移動角度が操作指定部22に格納される。回転方向は、今回のX座標およびY座標で示される位置と、前回のX座標およびY座標で示される位置とを比較して算出される。
移動角度は、前回のX座標およびY座標で示される位置から描画変数部31の表示中心座標までの直線と、今回のX座標およびY座標で示される位置から描画変数部31の表示中心座標までの直線との角度差を比較して算出される。前回のX座標およびY座標が存在しない場合(今回が初めての場合)は回転させないので、移動角度として0が格納される。「不定」は、指の移動が停止しているか、回転または確定に該当する操作が行われていないと判定できた場合とする。
次に、この実施の形態4に係る地図情報処理装置の動作を説明する。この地図情報処理装置で行われる挙動判定処理は、図8のフローチャートに示した実施の形態1に係る地図情報処理装置の挙動判定処理と同じであるので説明を省略する。
図17は、制御装置7の地図描画部13の動作を示すフローチャートである。なお、図17に示すフローチャートにおいて、図9のフローチャートに示した実施の形態1に係る地図情報処理装置と同じ処理を実行するステップには、図9で使用した符号と同一の符号を付して説明を簡略化する。
まず、非操作であるかどうかが調べられる(ステップST400)。このステップST400において、非操作であることが判断されると、次いで、地図復帰が必要であるかどうかが調べられる(ステップST900)。すなわち、地図描画部13は、描画変数部31に格納されている表示角度と復帰用描画変数部32に格納されている表示角度とを比較し、内容が同じでなければ地図復帰は必要であると判断し、内容が同じであれば地図復帰は必要でないと判断する。
このステップST900において、地図復帰が必要でないことが判断されると、シーケンスはステップST400に戻り、上述した処理が繰り返される。一方、ステップST900において、地図復帰が必要であることが判断されると、次いで、描画変数部31の復帰が行われる(ステップST910)。すなわち、地図描画部13は、復帰用描画変数部32から表示角度を読み出し、描画変数部31に表示角度として格納する。その後、シーケンスはステップST950に進む。
上記ステップST400において、非操作でないことが判断されると、次いで、不定であるかどうかが調べられる(ステップST430)。このステップST430において、不定であることが判断されると、シーケンスはステップST400に戻り、上述した処理が繰り返される。
一方、ステップST430において、不定でないことが判断されると、次いで、回転であるかどうかが調べられる(ステップST920)。すなわち、地図描画部13は、操作指定部22を参照し、そこに格納されているコードが回転コードであるかどうかを調べる。このステップST920において、回転であることが判断されると、表示角度の変更が行われる(ステップST930)。すなわち、地図描画部13は、描画変数部31に格納されている表示角度を操作指定部22の移動角度分だけ増減させる。具体的には、操作指定部22の回転方向を参照し、時計周りのときは増加させ、逆時計周りのときは減少させる。ただし、表示角度が360を越えた場合は、算出された値から360を引いた数値が格納される。また、0より小さくなった場合は、算出された数値の絶対値を360から引いた値が格納される。例えば、算出された数値が−20であれば、360−20=340が格納される。その後、シーケンスはステップST950に進む。
上記ステップST920において、回転でないことが判断されると、次いで、確定であるかどうかが調べられる(ステップST500)。このステップST500において、確定であることが判断されると、復帰用描画変数部32の内容が変更される(ステップST940)。すなわち、地図描画部13は、描画変数部31にから表示角度を読み出し、復帰用描画変数部32に表示角度として格納する。その後、シーケンスはステップST400に戻り、上述した処理が繰り返される。また、上記ステップST500において、確定でないことが判断された場合も、シーケンスはステップST400に戻り、上述した処理が繰り返される。
ステップST950においては、地図描画が行われる。すなわち、地図描画部13は、描画変数部31に格納されている表示角度および表示縮尺で、表示装置8の表示面中心に該当する地点の地図座標が描画変数部31の表示中心座標となるように、地図データベース記憶装置6から必要な地図データを取得し、地図描画を行う。その後、シーケンスはステップST400に戻り、上述した処理が繰り返される。
以上説明したように、この発明の実施の形態4に係る地図情報処理装置によれば、指の回転方向と移動量に応じて地図が回転するように構成したので、地図表示方向の変更を、直感的で分かりやすい操作によって行うことができる。なお、指をタッチパネル2から認識できない位置まで離した場合に、最初の方向に戻るように構成することもできる。
実施の形態5.
この発明の実施の形態5に係る地図情報処理装置は、画面をスクロールせずに固定し、指を近づけた近傍のみを別の表示モード(鳥瞰図または3次元地図)で描画するようにしたものである。つまり、指を近づけた近傍の所定範囲の地図を、この所定範囲以外の地図と異なる表示モード(表示形態)とする。図13および図14は、実施の形態5に係る地図情報処理装置の操作例を示す図である。以下では、実施の形態1に係る地図情報処理装置と異なる部分を中心に説明する。
地図描画部13の中の描画変数部31には、表示縮尺、表示変更面の表示中心座標および表示モードが格納される。初期状態では、所定の表示縮尺、表示中心座標および表示モードが格納される。また、復帰用描画変数部32には、表示縮尺、表示固定面の表示中心座標および表示モードが格納される。初期状態では、所定の表示縮尺、表示中心座標および表示モードが格納される。
図3のステップST110にて判定される挙動は、非操作、平行移動、確定および不定である。非操作および確定の判定方法と判定後の処理は実施の形態1に係る地図情報処理装置の場合と同様である。
「平行移動」は、タッチ位置軌跡格納部21に格納されているタッチ位置を最新のものから古いものに向けて順に辿って行き、X座標およびY座標が変化していると判定できた場合とする。このときのX座標およびY座標を中心座標として、一定の近傍距離を別の表示モードで描画するために、最新のX座標およびY座標を操作指定部22に格納する。なお、Z座標の変化の有無は問わない。「不定」は、指の移動が停止しているか、平行移動または確定に該当する操作が行われていないと判定できた場合とする。
次に、この実施の形態5に係る地図情報処理装置の動作を説明する。この地図情報処理装置で行われる挙動判定処理は、図8のフローチャートに示した実施の形態1に係る地図情報処理装置の挙動判定処理と同じであるので説明を省略する。
図19は、制御装置7の地図描画部13の動作を示すフローチャートである。なお、図19に示すフローチャートにおいて、図16のフローチャートに示した実施の形態4に係る地図情報処理装置と同じ処理を実行するステップには、図16で使用した符号と同一の符号を付して説明を簡略化する。
まず、非操作であるかどうかが調べられる(ステップST400)。このステップST400において、非操作であることが判断されると、次いで、描画変数部31の復帰が行われる(ステップST1010)。すなわち、地図描画部13は、描画変数部31に格納されている表示中心座標から一定の近傍距離内のみを通常の地図で描画するために、復帰用描画変数部32から表示モードを読み出し、描画変数部31に表示モードとして格納する。その後、シーケンスはステップST1070に進む。
上記ステップST400において、非操作でないことが判断されると、次いで、不定であるかどうかが調べられる(ステップST430)。このステップST430において、不定であることが判断されると、シーケンスはステップST400に戻り、上述した処理が繰り返される。
一方、ステップST430において、不定でないことが判断されると、次いで、平行移動であるかどうかが調べられる(ステップST820)。このステップST820において、平行移動であることが判断されると、表示中心が変更される(ステップST830)。その後、シーケンスはステップST1070へ進む。
上記ステップST820において、平行移動でないことが判断されると、次いで、確定であるかどうかが調べられる(ステップST500)。このステップST500において、確定であることが判断されると、次いで、復帰用描画変数部32の内容が変更される(ステップST1050)。すなわち、地図描画部13は、描画変数部31から表示モードを読み出し、復帰用描画変数部32に表示モードとして格納する。
次いで、地図描画(全画面)が行われる(ステップST1060)。すなわち、地図描画部13は、図15に示すように、指を近づけた近傍の表示モードを全画面の表示モードに適用するために、描画変数部31に格納されている表示モードおよび表示縮尺で、表示装置8の表示面中心に該当する地点の地図座標が復帰用描画変数部32の表示中心座標となるように、地図データベース記憶装置6から必要な地図データを取得し、地図描画を行う。その後、シーケンスはステップST400に戻り、上述した処理が繰り返される。また、上記ステップST500において、確定でないことが判断された場合も、シーケンスはステップST400に戻り、上述した処理が繰り返される。
ステップST1070においては、地図描画(一部画面)が行われる。すなわち、地図描画部13は、描画変数部31に格納されている表示モードおよび表示縮尺で、描画変数部31に格納されている表示中心座標から一定の近傍距離内のみを描画するために、これに必要な地図データを地図データベース記憶装置6から取得し、地図描画を行う。その後、シーケンスはステップST400に戻り、上述した処理が繰り返される。
以上説明したように、この発明の実施の形態5に係る地図情報処理装置によれば、指のタッチ位置近傍に限定して地図の表示モードを変更することにより、全画面の表示モードを変更することなく、一時的に地図の表示を変えて見ることが可能となる。また、指のタッチ位置の近傍に表示を限定、かつ、範囲を移動させることが可能であり、タッチパネルの画面に表示される地図全体において、必要な部分のみ異なった表示モードで見ることが可能となる。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。