以下、図を参照して、本発明の実施の形態について説明する。
図6は、本発明を適用した地図表示装置101の基本構成例を示すブロック図である。
地図表示装置101は、入力装置111、データ処理部112、および表示部113により構成される。
ユーザは、入力装置111により、表示部113の画面上の任意の位置を指示することができる。例えば、入力装置111は、ポインタ等により表示部113の画面上の任意の位置を指示することができるポインティングデバイスとされる。
例えば、入力装置111がポインティングデバイスの1つであるマウスとされた場合、表示部113の画面上に、画面の任意の位置を指示することができるポインタが表示され、ユーザは、ポインタを所望の位置に移動させて、マウスのボタンを押下することにより、そのポインタが指示する位置を明確に指定することができる。また、例えば、入力装置111がポインティングデバイスの1つであるタッチパネルとスタイラスペンとされた場合、表示部113の画面の表面に設けられたタッチパネルの任意の位置にスタイラスペンを接触させることにより、ユーザは、スタイラスペンが接触されたタッチパネルの位置に対応する表示部113の画面上の任意の位置を指示することができる。
なお、入力装置111により表示部113の画面上の任意の位置が指示されたとき、実際に指示された表示部113の画面上の位置と、指示された位置に表示されている画像上の位置の2種類の位置が指定される。以下、入力装置111により指示された表示部113の画面上の位置を画面ポインタ位置、画面ポインタ位置に表示されている画像上の位置を画像ポインタ位置、特に画像ポインタ位置に地図が表示されている場合、その地図の位置を地図ポインタ位置と称する。すなわち、入力装置111により表示部113の画面上の任意の位置を指示したとき、画面ポインタ位置と画像ポインタ位置(画像ポインタ位置に地図が表示されている場合、地図ポインタ位置)の2種類の位置が指示される。
また、例えば、入力装置111がマウスとされた場合、ポインタにより表示部113の任意の位置(画面ポインタ位置)が指示された状態において、マウスのボタンが押下されていない状態、すなわち、ポインタにより画面ポインタ位置が指示されているだけの状態と、マウスのボタンが押下された状態、すなわち、ポインタにより指示されている画面ポインタ位置が明確に指定されている状態の2種類の状態が存在する。この画面ポインタ位置が指示された2種類の状態を区別するために、以下、前者を、画面ポインタ位置が指示された状態、後者を、画面ポインタ位置が指定された状態と称する。
従って、例えば、入力装置111がスタイラスペンとタッチパネルとされた場合、スタイラスペンをタッチパネルの任意の位置に接触させることにより、画面ポインタ位置が指示および指定された状態となり、スタイラスペンをタッチパネルから離すことにとより、画面ポインタ位置が指示も指定もされていない状態となる。
入力装置111は、入力装置111が指示あるいは指定している画面ポインタ位置に関する情報(以下、ポインタ情報と称する)をデータ処理部112に出力する。ポインタ情報には、入力装置111が指示あるいは指定している画面ポインタ位置の他、画面ポインタ位置を指示しているのかあるいは指定しているのかを区別する情報が含まれる。
データ処理部112は、入力装置111より取得したポインタ情報に基づいて、地図、およびアイコンやメニューなど地図に重ねて表示するデータ(以下、重畳データと称する)から構成される画像データを生成し、生成した画像データを表示部113に出力し、表示部113に画像を表示させる。
表示部113は、LCD(Liquid Crystal Display)などの図示せぬ画面等から構成される。
データ処理部112は、入力部121、ナビゲーションモジュール選択部122、画像表示制御部123、スイッチャ124、レンダラ125、および地図データ蓄積部126により構成される。
ナビゲーションモジュール選択部122は、入力部121を介して、入力装置111よりポインタ情報を取得する。ナビゲーションモジュール選択部122は、レンダラ125から、表示部113に表示されている地図の範囲、および地図に重ねて表示されている重畳データの表示位置と内容を含む情報(以下、表示情報と称する)を取得する。ナビゲーションモジュール選択部122は、図9乃至図11を参照して後述するように、取得したポインタ情報と表示情報に基づいて、画像表示制御部123が有するナビゲーションモジュール141−1乃至141−n(以下、ナビゲーションモジュール141−1乃至141−nを個々に区別する必要がない場合、単にナビゲーションモジュール141と称する)のn個のナビゲーションモジュールから、実際に処理を実行させる1つのナビゲーションモジュール141を選択する。
以下、ナビゲーションモジュール選択部122により選択されたナビゲーションモジュール141をアクティブナビゲーションモジュールと称し、ナビゲーションモジュール141がナビゲーションモジュール選択部122により選択されることを、ナビゲーションモジュール141がアクティブにされると表現する。
ナビゲーションモジュール選択部122は、アクティブナビゲーションモジュールを選択した結果を、画像表示制御部123およびスイッチャ124に伝達する。
画像表示制御部123は、n個のナビゲーションモジュール141−1乃至141−nを有している。その詳細は後述するが、ナビゲーションモジュール141は、それぞれ異なる制御方法により、レンダラ125が表示部113に表示させる画像データを生成するための地図の表示位置、地図に重ねて表示する重畳データに関する情報を含む画像データ更新情報を逐次生成し、スイッチャ124を介して、レンダラ125に供給することにより、表示部113に表示される画像の内容を制御(以下、画像表示制御と称する)する。
画像表示制御部123は、n個のナビゲーションモジュール141のうち、アクティブナビゲーションモジュールとして選択されている1つのナビゲーションモジュール141に画像表示制御処理を実行させる。アクティブナビゲーションモジュールとして選択されているナビゲーションモジュール141は、入力部121とスイッチャ124を介して、入力装置111から取得したポインタ情報と、スイッチャ124を介して、レンダラ125から取得した表示情報に基づいて、画像データ更新情報を逐次生成し、スイッチャ124を介して、レンダラ125に供給する。
ナビゲーションモジュール141は、それぞれ処理を実行中であることを表わす処理実行中フラグを管理しており、アクティブナビゲーションモジュールであるナビゲーションモジュール141の処理実行中フラグがONの場合、ナビゲーションモジュール選択部122は、アクティブナビゲーションモジュールを変更することができない。
スイッチャ124は、ナビゲーションモジュール選択部122よりアクティブナビゲーションモジュール選択結果を取得し、入力部121より取得したポインタ情報と、レンダラ125から取得した表示情報を、ナビゲーションモジュール141−1乃至141−nのうち、アクティブナビゲーションモジュールであるナビゲーションモジュール141にのみ供給する。スイッチャ124は、アクティブナビゲーションモジュールであるナビゲーションモジュール141より取得した画像データ更新情報をレンダラ125に供給する。
レンダラ125は、スイッチャ124を介して、アクティブナビゲーションモジュールであるナビゲーションモジュール141から取得した画像データ更新情報に基づいて、表示部113に表示させる範囲の地図に関するデータ(以下、地図データと称する)を地図データ蓄積部126から取得し、取得した地図データに、重畳データを重畳させた画像データを生成し、表示部113に出力する。レンダラ125は、表示部113に表示させた地図の範囲、および重畳データの表示位置と内容を含む表示情報をナビゲーションモジュール選択部122と、スイッチャ124を介して、アクティブナビゲーションモジュールであるナビゲーションモジュール141に供給する。
次に、図7乃至図11を参照して、地図表示装置101により実行される処理を説明する。
まず、図7を参照して、地図表示装置101により実行されるナビゲーション処理について説明する。なお、この処理は、ユーザにより処理の開始が指令されたとき、開始され、ユーザにより処理の停止が指令されたとき、終了される。
ステップS1において、データ処理部112は、初期化処理を実行する。具体的には、レンダラ125は、処理開始時に表示するように予め設定されている地図や前回ナビゲーション処理を行ったときに最後に表示されていた地図など、ナビゲーション処理開始時に表示する範囲の地図データを地図データ蓄積部126より取得して、その上に重畳データを重畳させて、画像データを生成する。レンダラ125は、生成した画像データを表示部113に出力し、表示部113に画像を表示させる。レンダラ125は、表示部113に表示された地図の範囲、および重畳データの表示位置と内容を含む表示情報を、ナビゲーションモジュール選択部122とスイッチャ124に供給する。ナビゲーションモジュール選択部122は、全てのナビゲーションモジュール141をインアクティブ(アクティブナビゲーションモジュールであるナビゲーションモジュール141が存在しない状態)とする。ナビゲーションモジュール141は、自己の処理実行中フラグをOFFにする。
ステップS2において、ナビゲーションモジュール選択部122は、アクティブナビゲーションモジュールであるナビゲーションモジュール141が存在するか否か判定する。
いまの場合、ステップS1の処理により、全てのナビゲーションモジュール141がインアクティブとされており、アクティブナビゲーションモジュールであるナビゲーションモジュール141は存在しないと判定され、処理はステップS10に進む。
ステップS10において、アクティブナビゲーションモジュール変更処理が行われる。
詳細は図9乃至図11を参照して後述するが、この処理により、ナビゲーションモジュール選択部122は、画像表示制御部123が有するナビゲーションモジュール141の中から、アクティブナビゲーションモジュールを選択し、選択結果を画像表示制御部123とスイッチャ124に伝達する。アクティブナビゲーションモジュールになることができるナビゲーションモジュール141が存在しない場合、ナビゲーションモジュール選択部122は、その結果を画像表示制御部123とスイッチャ124に伝達する。その後、処理はステップS2に戻る。
2回目以降のステップS2の処理において、アクティブナビゲーションモジュールであるナビゲーションモジュール141が存在すると判定された場合、処理はステップS3に進み、画像表示制御処理が行われる。詳細は図8などを参照して後述するが、この処理により表示部113に表示されている画像の更新が必要な場合、アクティブナビゲーションモジュールであるナビゲーションモジュール141は、表示部113に表示する地図の表示位置、および地図に重ねて表示する重畳データに関する情報を含む画像データ更新情報を生成し、スイッチャ124を介して、レンダラ125に供給する。
ステップS4において、ナビゲーションモジュール選択部122は、アクティブナビゲーションモジュールを変更できるか否かを判定する。ナビゲーションモジュール選択部122は、アクティブナビゲーションモジュールであるナビゲーションモジュール141に対して、処理を実行中か否かを問い合わせる。アクティブナビゲーションモジュールであるナビゲーションモジュール141は、処理を実行中であるか否かを示す処理実行中フラグがONの場合、処理を実行中であることをナビゲーションモジュール選択部122に伝達し、処理実行中フラグがOFFの場合、処理を実行中でないことをナビゲーションモジュール選択部122に伝達する。
ステップS4において、ナビゲーションモジュール選択部122は、アクティブナビゲーションモジュールであるナビゲーションモジュール141より処理を実行中でないと伝達された場合、アクティブナビゲーションモジュールを変更できると判定し、処理はステップS5に進む。
ステップS5において、ステップS10の処理と同様に、アクティブナビゲーションモジュール変更処理が行われ、アクティブナビゲーションモジュールの選択結果を、画像表示制御部123とスイッチャ124に伝達する。その後、処理はステップS6に進む。
ステップS4において、ナビゲーションモジュール選択部122は、アクティブナビゲーションモジュールであるナビゲーションモジュール141より処理を実行中であると伝達された場合、アクティブナビゲーションモジュールを変更できないと判定し、ステップS5の処理はスキップされ、すなわち、アクティブナビゲーションモジュール変更処理は実行されずに、処理はステップS6に進む。これにより、アクティブナビゲーションモジュールであるナビゲーションモジュール141が処理を実行している最中に、アクティブナビゲーションモジュールが他のナビゲーションモジュール141に変更されるのが防止される。
ステップS6において、レンダラ125は、画像データ更新情報を取得したか否かを判定する。例えば、ステップS3の画像表示制御処理により、表示部113に表示されている画像の更新が必要な処理が実行され、スイッチャ124を介してアクティブナビゲーションモジュールであるナビゲーションモジュール141よりレンダラ125に画像データ更新情報が供給された場合、ステップS6において、画像データ更新情報を取得したと判定され、処理はステップS7に進む。
ステップS7において、レンダラ125は、画像データ更新情報に基づいて、画像データを生成する。レンダラ125は、画像データ更新情報に基づいて、表示部113に表示する範囲の地図データを地図データ蓄積部126から取得し、その上にアイコンやメニューなどの重畳データを重畳した画像データを生成する。
ステップS8において、レンダラ125は、画像データを表示部113に出力し、表示部113に画像を表示させる。これにより、表示部113に表示されている画像が、ステップS3の画像表示制御処理により生成された画像データ更新情報に基づいて生成された画像データにより表示される画像に更新される。
ステップS9において、レンダラ125は、表示部113に表示させた地図の範囲、および重畳データの表示位置と内容を含む表示情報を、ナビゲーションモジュール選択部122と、スイッチャ124を介してアクティブナビゲーションモジュールであるナビゲーションモジュール141に供給する。その後、処理はステップS2に戻り、以降の処理が繰り返される。
ステップS6において、画像データ更新情報を取得していないと判定された場合、ステップS7乃至S9の処理はスキップされ、すなわち表示部113に表示されている画像は更新されずに、処理はステップS2に戻り、以降の処理が繰り返される。
2回目以降のステップS2の処理において、アクティブナビゲーションモジュールであるナビゲーションモジュール141が存在しないと判定された場合、処理はステップS10に進み、ステップS10の処理により、新たなアクティブナビゲーションモジュールであるナビゲーションモジュール141が選択されるまで、ステップS2とS10の処理が繰り返される。
次に、図8を参照して、図7のステップS3における画像表示制御処理の詳細について説明する。
ステップS21において、アクティブナビゲーションモジュールであるナビゲーションモジュール141は、画像データ更新情報を生成する。アクティブナビゲーションモジュールであるナビゲーションモジュール141は、必要に応じて、入力部121とスイッチャ124を介して、ポインタ情報を取得し、ポインタ情報と図7のステップS9または後述する図9のステップS35の処理により取得した表示情報に基づいて、レンダラ125が表示部113に表示させる画像データを生成するための地図の表示位置、地図に重ねて表示する重畳データに関する情報を含む画像データ更新情報を生成する。
ステップS22において、アクティブナビゲーションモジュールであるナビゲーションモジュール141は、画像データ更新情報を、スイッチャ124を介して、レンダラ125に出力する。その後、処理は図7のステップS4に進み、レンダラ125は、この画像データ更新情報に基づいて、図7のステップS7において、画像データを生成し、ステップS8において、表示部113に画像を表示させる。
次に、図9を参照して、図7のステップS5およびS10におけるアクティブナビゲーションモジュール変更処理の詳細について説明する。
ステップS31において、入力部121は、入力装置111よりポインタ情報を取得する。ポインタ情報には、入力装置111が指示あるいは指定している画面ポインタ位置、画面ポインタ位置を指示しているのかあるいは指定しているのかを区別する情報が含まれる。
ステップS32において、入力部121は、ステップS31の処理で取得したポインタ情報に基づいて、入力装置111により画面ポインタ位置が指示されているか否かを判定する。画面ポインタ位置が指示されていると判定された場合、処理はステップS33に進む。
ステップS33において、アクティブナビゲーションモジュール候補選択処理が行われる。アクティブナビゲーションモジュール候補選択処理の詳細については、図10および図11を参照して後述するが、この処理により、ナビゲーションモジュール141の中から、アクティブナビゲーションモジュールになることが可能なアクティブナビゲーションモジュール候補が1つ選択される。
ステップS34において、ナビゲーションモジュール選択部122は、現在のアクティブナビゲーションモジュールであるナビゲーションモジュール141とステップS33の処理で選択されたアクティブナビゲーションモジュール候補であるナビゲーションモジュール141が異なるか否かを判定する。現在のアクティブナビゲーションモジュールであるナビゲーションモジュール141とアクティブナビゲーションモジュール候補であるナビゲーションモジュール141が異なると判定された場合、処理はステップS35に進む。
ステップS35において、ナビゲーションモジュール選択部122は、アクティブナビゲーションモジュールを、現在のアクティブナビゲーションモジュールであるナビゲーションモジュール141からアクティブナビゲーションモジュール候補であるナビゲーションモジュール141に変更する。ナビゲーションモジュール選択部122は、アクティブナビゲーションモジュールの変更結果を、画像表示制御部123とスイッチャ124に伝達する。スイッチャ124は、入力部121を介して入力装置111より取得したポインタ情報と、レンダラ125より取得した表示情報を、アクティブナビゲーションモジュールに選択されたナビゲーションモジュール141に供給する。その後、処理は図7のステップS2またはS6に進む。
ステップS34において、現在のアクティブナビゲーションモジュールであるナビゲーションモジュール141とアクティブナビゲーションモジュール候補であるナビゲーションモジュール141が同じであると判定された場合、ステップS35の処理はスキップされ、すなわち、アクティブナビゲーションモジュールは変更されずに、処理は図7のステップS2またはS6に進む。
ステップS32において、画面ポインタ位置が指示されていないと判定された場合、処理はステップS36に進む。
ステップS36において、ナビゲーションモジュール選択部122は、全てのナビゲーションモジュールをインアクティブとする。すなわち、入力装置111により画面ポインタ位置が指示されていない場合、アクティブナビゲーションモジュールであるナビゲーションモジュール141は存在しないことになる。ナビゲーションモジュール選択部122は、全てのナビゲーションモジュールをインアクティブとした結果を画像表示制御部123とスイッチャ124に伝達する。その後、処理は図7のステップS2またはS6に進む。
次に、図10および図11を参照して、図9のステップS33におけるアクティブナビゲーションモジュール候補選択処理の詳細について説明する。
アクティブナビゲーションモジュール候補選択処理は、入力装置111により指示された画面ポインタ位置に基づいてアクティブナビゲーションモジュール候補を選択する方式(以下、画面ポインタ方式と称する)と、画面ポインタ位置に表示されている画像の内容や位置(例えば、地図ポインタ位置)に基づいてアクティブナビゲーションモジュール候補を選択する方式(以下、画像位置方式と称する)の2種類の処理方式が用いられる。
画面ポインタ方式では、表示部113に表示されている画像の内容に関わらず、画面ポインタ位置のみに基づいて、アクティブナビゲーションモジュール候補が検索される。画面ポインタ方式は、例えば、入力装置111により指示されている画面ポインタ位置が表示部113の画面の中央近傍の所定の領域内の位置か否かに基づいて、アクティブナビゲーションモジュールが切り替えられる場合に用いられる。
画像位置方式では、画面ポインタ位置に関わらず、画面ポインタ位置に表示されている画像の内容や位置に基づいて、アクティブナビゲーションモジュール候補が選択される。
画像位置方式は、例えば、入力装置111により指示されている地図ポインタ位置が、駅や観光地など地図の特定の領域内か否かに基づいてアクティブナビゲーションモジュールが切り替えられる場合に用いられる。
まず、図10を参照して、画面ポインタ方式におけるアクティブナビゲーションモジュール候補選択処理の詳細について説明する。
ステップS41において、ナビゲーションモジュール選択部122は、ナビゲーションモジュール選択部122が保持しているナビゲーションモジュール領域テーブルを検索する。ナビゲーションモジュール領域テーブルは、表示部113の画面上の座標と、その座標上に画面ポインタ位置が指示されている場合にアクティブになることができるナビゲーションモジュール141の関係を示したものであり、各座標には、それぞれ1種類のナビゲーションモジュールが対応されている。ナビゲーションモジュール選択部122は、図9のステップS31の処理で取得したポインタ情報とナビゲーションモジュール領域テーブルに基づいて、現在指示されている画面ポインタ位置の座標に登録されているナビゲーションモジュール141を検索する。
ステップS42において、ナビゲーションモジュール選択部122は、検索したナビゲーションモジュール141をアクティブナビゲーションモジュール候補として選択する。
その後、処理は図9のステップS34に進み、選択されたアクティブナビゲーションモジュール候補であるナビゲーションモジュール141と、現在のアクティブナビゲーションモジュールであるナビゲーションモジュール141が異なる場合、ステップS35の処理で、アクティブナビゲーションモジュールがアクティブナビゲーションモジュール候補であるナビゲーションモジュール141に変更される。
このようにして、入力装置111により指示された画面ポインタ位置に基づいて、アクティブナビゲーションモジュールが変更される。すなわち、ユーザは、入力装置111が指示する画面ポインタ位置を変更することにより、地図表示装置101の画像表示制御処理方法を切り替えることができる。
次に、図11を参照して、画像位置方式におけるアクティブナビゲーションモジュール候補選択処理の詳細について説明する。
ステップS61において、ナビゲーションモジュール選択部122は、画像表示制御部123が有する全てのナビゲーションモジュール141のアクティブ度をチェックしたか否かを判定する。アクティブ度とは、ナビゲーションモジュール141が、入力装置111により指示されている画面ポインタ位置に表示されている画像の内容や位置に対し、自己がアクティブになることができる度合いを数値で表したものである。アクティブ度0は、ナビゲーションモジュール141がアクティブになれないことを示し、アクティブ度の数値が大きいほど、アクティブになれる度合いが高いことを示す。
ステップS62において、ナビゲーションモジュール選択部122は、ナビゲーションモジュール141に、ポインタ情報と表示情報を供給して、アクティブ度を問い合わせる。
ステップS63において、ナビゲーションモジュール選択部122より問い合わせを受けたナビゲーションモジュール141は、ポインタ情報と表示情報に基づいて、画面ポインタ位置に表示されている画像の内容や位置を求め、画面ポインタ位置に表示されている画像の内容や位置に基づいて、自己のアクティブ度を決定する。
ステップS64において、ナビゲーションモジュール選択部122は、ナビゲーションモジュール141から、ステップS63の処理で決定されたアクティブ度を取得し、保存する。その後、処理はステップS61に戻る。
ステップS61において、全てのナビゲーションモジュール141について、アクティブ度のチェックが終了したと判定されるまで、ステップS61乃至S64の処理が繰り返され、ナビゲーションモジュール選択部122は、全てのナビゲーションモジュール141のアクティブ度を取得し、保存する。
ステップS61において、全てのナビゲーションモジュール141について、アクティブ度のチェックが終了したと判定された場合、処理はステップS65に進む。
ステップS65において、ナビゲーションモジュール選択部122は、各ナビゲーションモジュール141のアクティブ度を比較して、アクティブ度の数値がいちばん大きなナビゲーションモジュール141を、アクティブナビゲーションモジュール候補に選択する。
その後、処理は図9のステップS34に進み、選択されたアクティブナビゲーションモジュール候補であるナビゲーションモジュール141と、現在のアクティブナビゲーションモジュールであるナビゲーションモジュール141が異なる場合、ステップS35の処理で、アクティブナビゲーションモジュールがアクティブナビゲーションモジュール候補であるナビゲーションモジュール141に変更される。
このようにして、入力装置111により指示された画面ポインタ位置に表示されている画像の内容や位置に基づいて、アクティブナビゲーションモジュールが変更される。すなわち、ユーザは、入力装置111が指示する画像の内容や位置を変更することにより、地図表示装置101の画像表示制御処理方法を切り替えることができる。
次に、図12乃至図19を参照して、ナビゲーションモジュールにドラッグ方式ナビゲーションモジュールとスクロール方式ナビゲーションモジュールの2つのナビゲーションモジュールを用いた地図表示装置の実施の形態について説明する。
ドラッグ方式ナビゲーションモジュールは、図1を参照して上述したドラッグ方式により地図の表示位置や内容を制御する画像表示制御処理を行うナビゲーションモジュールであり、スクロール方式ナビゲーションモジュールは、図2を参照して上述したスクロール方式により地図の表示位置や内容を制御する画像表示制御処理を行うナビゲーションモジュールである。
図12は、ナビゲーションモジュールにドラッグ方式ナビゲーションモジュール241とスクロール方式ナビゲーションモジュール242の2つのナビゲーションモジュールを用いた地図表示装置201の基本構成例を示すブロック図である。図6に示す場合と同様の部分は、同一の符号を付してあり、その説明は省略する。
地図表示装置201は、図6に示される地図表示装置101と比較して、地図表示装置101の画像表示制御部123が、ドラッグ方式ナビゲーションモジュール241とスクロール方式ナビゲーションモジュール242の2つのナビゲーションモジュール有する画像表示制御部223に置き換えられている点が異なる。
データ処理部212の画像表示制御部223は、ドラッグ方式ナビゲーションモジュール241とスクロール方式ナビゲーションモジュール242の2つのナビゲーションモジュールを有している。詳細は後述するが、ナビゲーションモジュール選択部122は、ドラッグ方式ナビゲーションモジュール241とスクロール方式ナビゲーションモジュール242の中からアクティブナビゲーションモジュールを選択し、選択されたアクティブナビゲーションモジュールであるナビゲーションモジュール141が画像データ更新情報を生成することにより、表示部113に表示させる画像の内容を制御する。
図12で構成が示される地図表示装置201によるナビゲーションの処理は、図7を参照して説明した処理と同様なので、その説明は省略する。
図12の構成で示される地図表示装置201によるアクティブナビゲーションモジュール変更の処理は、図9のフローチャートを参照して説明した処理と同様なので、その説明は省略する。
図13乃至図16を参照して、図7のステップS3における画像表示制御処理の詳細について説明する。図13のフローチャートは、ドラッグ方式ナビゲーションモジュール241がアクティブナビゲーションモジュールとして選択されている場合の画像表示制御処理を示しており、図14は、ドラッグ方式ナビゲーションモジュール241がアクティブナビゲーションモジュールとして選択されている場合の表示部113の画面に表示される地図の範囲の例を示している。図15のフローチャートは、スクロール方式ナビゲーションモジュール242がアクティブナビゲーションモジュールとして選択されている場合の画像表示制御処理を示しており、図16は、スクロール方式ナビゲーションモジュール242がアクティブナビゲーションモジュールとして選択されている場合の表示部113の画面に表示される地図の範囲の例を示している。
まず、図13および図14を参照して、ドラッグ方式ナビゲーションモジュール241がアクティブナビゲーションモジュールとして選択されている場合の画像表示制御処理について説明する。
ステップS101において、ドラッグ方式ナビゲーションモジュール241は、入力部121とスイッチャ124を介して、入力装置111よりポインタ情報を取得する。
ステップS102において、ドラッグ方式ナビゲーションモジュール241は、ポインタ情報に基づいて、入力装置111により画面ポインタ位置が指定されているか否かを判定する。画面ポインタ位置が指定されていると判定された場合、処理はステップS103に進む。
ステップS103において、ドラッグ方式ナビゲーションモジュール241は、処理実行中フラグがOFFか否かを判定する。処理実行中フラグがOFFであると判定された場合、すなわち、ドラッグ方式ナビゲーションモジュール241の処理が開始されていない場合、処理はステップS104に進む。
ステップS104において、ドラッグ方式ナビゲーションモジュール241は、ポインタ情報と、図7のステップS9または図9のステップS35の処理により取得した表示情報に基づいて、入力装置111により指定されている地図ポインタ位置を求め、求めた地図ポインタ位置を基準地図ポインタ位置とする。
ステップS105において、ドラッグ方式ナビゲーションモジュール241は、処理実行中フラグをONにする。これにより、アクティブナビゲーションモジュールは、ドラッグ方式ナビゲーションモジュール241から他のナビゲーションモジュール141(この場合、スクロール方式ナビゲーションモジュール242)に変更されなくなり、ドラッグ方式ナビゲーションモジュール241がアクティブな状態が維持される。
その後、処理は図7のステップS4に進む。すなわち、入力装置111により画面ポインタ位置が指定され、ドラッグ方式ナビゲーションモジュール241の処理が開始されたときには、画像データ更新情報は生成されず、表示部113に表示されている画像は更新されない。
ステップS103において、処理実行中フラグがONであると判定された場合、すなわち、ドラッグ方式ナビゲーションモジュール241の処理がすでに実行されている場合、処理はステップS106に進む。
ステップS106において、ドラッグ方式ナビゲーションモジュール241は、画像データ更新情報を生成する。ドラッグ方式ナビゲーションモジュール241は、ポインタ情報と、図7のステップS9または図9のステップS35の処理により取得した表示情報に基づいて、ステップS104の処理で求めた基準地図ポインタ位置が、入力装置111により指定されている現在の画面ポインタ位置に表示される地図の表示位置を求める。ドラッグ方式ナビゲーションモジュール241は、求めた地図の表示位置に基づいて、画像データ更新情報を生成する。
例えば、ステップS104で求められた基準地図ポインタ位置を、図14Aで入力装置111により指定されている位置Aに表示されている地図の位置とし、現在の画面ポインタ位置を、図14A内の矢印で示されるように位置Aから右斜め上方向に移動させた図14Bで入力装置111により指定されている位置Bとした場合、ステップS106において、地図の表示位置(範囲)として、図14Aの四角形で囲まれた範囲251−1で示される位置(範囲)から、図14Aの位置Aに表示されている地図の位置(基準地図ポインタ位置)が図14Bの位置B(現在の画面ポインタ位置)に表示されるように移動させた四角形で囲まれた範囲251−2で示される位置(範囲)が求められる。
ステップS107において、ドラッグ方式ナビゲーションモジュール241は、画像データ更新情報を、スイッチャ124を介して、レンダラ125に出力する。その後、処理は図7のステップS4に進み、レンダラ125は、この画像データ更新情報に基づいて、図7のステップS7において、画像データを生成し、ステップS8において、表示部113に画像を表示させる。これにより、図14を参照して上述したように、画面ポインタ位置の移動に伴い、画面ポインタ位置に基準地図ポインタ位置が表示されるように、地図の表示位置が移動される。
ステップS102において、入力装置111により画面ポインタ位置が指定されていないと判定された場合、処理はステップS108に進む。
ステップS108において、ドラッグ方式ナビゲーションモジュール241は、処理実行中フラグをOFFにする。これにより、アクティブナビゲーションモジュールが、ドラッグ方式ナビゲーションモジュール241から他のナビゲーションモジュール141(この場合、スクロール方式ナビゲーションモジュール242)に変更されることが可能となる。
その後、処理は図7のステップS4に進む。すなわち、入力装置111により画面ポインタ位置が指定されていない場合、画像データ更新情報は生成されず、表示部113に表示されている画像は更新されない。
次に、図15および図16を参照して、スクロール方式ナビゲーションモジュール242がアクティブナビゲーションモジュールとして選択されている場合の画像表示制御処理について説明する。
ステップS151において、スクロール方式ナビゲーションモジュール242は、入力部121とスイッチャ124を介して、入力装置111よりポインタ情報を取得する。
ステップS152において、スクロール方式ナビゲーションモジュール242は、ポインタ情報に基づいて、入力装置111により画面ポインタ位置が指定されているか否かを判定する。画面ポインタ位置が指定されていると判定された場合、処理はステップS153に進む。
ステップS153において、スクロール方式ナビゲーションモジュール242は、処理実行中フラグがOFFか否かを判定する。処理実行中フラグがOFFであると判定された場合、すなわち、スクロール方式ナビゲーションモジュール242の処理が開始されていない場合、処理はステップS154に進む。
ステップS154において、スクロール方式ナビゲーションモジュール242は、ポインタ情報に基づいて、入力装置111により指定されている画面ポインタ位置を基準画面ポインタ位置とする。
ステップS155において、スクロール方式ナビゲーションモジュール242は、処理実行中フラグをONにする。これにより、アクティブナビゲーションモジュールは、スクロール方式ナビゲーションモジュール242から他のナビゲーションモジュール141(この場合、ドラッグ方式ナビゲーションモジュール241)に変更されなくなり、スクロール方式ナビゲーションモジュール242がアクティブな状態が維持される。
その後、処理は図7のステップS4に進む。すなわち、入力装置111により画面ポインタ位置が指定され、スクロール方式ナビゲーションモジュール242の処理が開始されたときには、画像データ更新情報は生成されず、表示部113に表示されている画像は更新されない。
ステップS153において、処理実行中フラグがONであると判定された場合、すなわち、スクロール方式ナビゲーションモジュール242の処理がすでに実行されている場合、処理はステップS156に進む。
ステップS156において、スクロール方式ナビゲーションモジュール242は、ステップS154の処理で求めた基準画面ポインタ位置から、入力装置111により指定されている現在の画面ポインタ位置へのベクトルの方向と大きさを求める。例えば、ステップS154で求められた基準画面ポインタ位置を、図16Aで入力装置111により指定されている位置A(図16Bの位置A)とし、入力装置111により指定されている現在の画面ポインタ位置を、図16A内の矢印で示されるように位置Aから右斜め上方向に移動させた図16Bで入力装置111により指定されている位置Bとした場合、図16B内の矢印で示される位置A(基準画面ポインタ位置)から位置B(現在の画面ポインタ位置)へのベクトルの方向と大きさが求められる。
ステップS157において、スクロール方式ナビゲーションモジュール242は、画像データ更新情報を生成する。スクロール方式ナビゲーションモジュール242は、ポインタ情報と、図7のステップS9または図9のステップS35の処理により取得した表示情報に基づいて、現在表示している地図の表示位置を、ステップS156の処理で求めたベクトルの方向に、ベクトルの大きさに応じた移動量の大きさだけ移動させた地図の表示位置を求める。例えば、図16の例のように、地図の表示位置(範囲)として、図16Aの四角形で囲まれた範囲251−3で示される位置(範囲)から、位置A(基準画面ポインタ位置)から位置B(現在の画面ポインタ位置)へのベクトルの方向に、ベクトルの大きさに応じた移動量の大きさだけ移動させた図16Bの四角形で囲まれた範囲251−4で示される位置(範囲)が求められる。
ステップS158において、スクロール方式ナビゲーションモジュール242は、画像データ更新情報を、スイッチャ124を介して、レンダラ125に出力する。その後、処理は図7のステップS4に進み、レンダラ125は、この画像データ更新情報に基づいて、図7のステップS7において、画像データを生成し、ステップS8において、表示部113に画像を表示させる。これにより、図16を参照して上述したように、画面ポインタ位置の移動に伴い、基準画面ポインタ位置から移動された画面ポインタ位置の方向に、基準画面ポインタ位置と移動された画面ポインタ位置の間の距離に応じた移動量の大きさだけ地図の表示位置が移動される。
ステップS152において、入力装置111により画面ポインタ位置が指定されていないと判定された場合、処理はステップS159に進む。
ステップS159において、スクロール方式ナビゲーションモジュール242は、処理実行中フラグをOFFにする。これにより、アクティブナビゲーションモジュールが、スクロール方式ナビゲーションモジュール242から他のナビゲーションモジュール141(この場合、ドラッグ方式ナビゲーションモジュール241)に変更されることが可能となる。
その後、処理は図7のステップS4に進む。すなわち、入力装置111により画面ポインタ位置が指定されていない場合、画像データ更新情報は生成されず、表示部113に表示されている画像は更新されない。
次に、地図表示装置201における図9のステップS33のアクティブナビゲーションモジュール候補選択処理について、さらに具体的に説明する。
地図表示装置201には、図10に示される画面ポインタ方式によるアクティブナビゲーションモジュール候補選択処理と、図11に示される画像位置方式によるアクティブナビゲーションモジュール候補選択処理の両方の処理を適用することができる。
地図表示装置201に、画面ポインタ方式によるアクティブナビゲーションモジュール候補選択処理を適用した場合、例えば、入力装置111により指示されている画面ポインタ位置が表示部113の画面の中央近傍の所定の領域内の位置の場合、ドラッグ方式ナビゲーションモジュール241がアクティブナビゲーションモジュール候補として選択され、画面ポインタ位置がそれ以外の領域の位置の場合、スクロール方式ナビゲーションモジュール242がアクティブナビゲーションモジュール候補として選択されるようにする。
図10を参照して、この場合のアクティブナビゲーションモジュール候補選択処理を説明する。
ステップS41において、ナビゲーションモジュール選択部122は、ナビゲーションモジュール領域テーブルを検索する。ナビゲーションモジュール領域テーブルには、上述した表示部113の画面中央近傍の特定の領域内の座標と、ドラッグ方式ナビゲーションモジュール241との対応が記載され、それ以外の領域の座標と、スクロール方式ナビゲーションモジュール242との対応が記載されている。ナビゲーションモジュール選択部122は、ナビゲーションモジュール領域テーブルから、入力装置111により指示されている現在の画面ポインタ位置の座標に対応する記載を検索する。その結果、画面ポインタ位置に対応するナビゲーションモジュール141が特定される。
ステップS42において、ナビゲーションモジュール選択部122は、検索により特定されたナビゲーションモジュール141をアクティブナビゲーションモジュール候補として選択する。
その後、処理は図9のステップS34に進み、選択されたアクティブナビゲーションモジュール候補であるナビゲーションモジュール141と、現在のアクティブナビゲーションモジュールであるナビゲーションモジュール141が異なる場合、ステップS35の処理で、アクティブナビゲーションモジュールがアクティブナビゲーションモジュール候補であるナビゲーションモジュール141に変更される。
なお、上述したように、アクティブナビゲーションモジュールであるナビゲーションモジュール141の処理実行中フラグがONとされている場合、図7のステップS5のアクティブナビゲーションモジュール変更処理は実行されないため、ドラッグ方式ナビゲーションモジュール241あるいはスクロール方式ナビゲーションモジュール242が処理中の場合、アクティブナビゲーションモジュールは変更されない。
このようにして、ユーザは、入力装置111が指示する画面ポインタ位置を変更することにより、ドラッグ方式による画像表示制御処理とスクロール方式による画像表示制御処理を切り替えることができる。
次に、地図表示装置201に、画像位置方式によるアクティブナビゲーションモジュール候補選択処理を適用した場合の処理を説明する。
地図表示装置201に、画像位置方式によるアクティブナビゲーションモジュール候補選択処理を適用した場合、地図表示装置201は、図17に示されるように、表示部113に表示されている画像内の地図上に現在位置アイコン256を表示させる機能を備えておく。ユーザは、事前に、入力装置111により現在位置アイコン256を表示させる地図ポインタ位置を指定する。現在位置アイコン256は、指定された地図ポインタ位置に常に表示され、地図の表示位置が移動するに伴い、現在位置アイコン256の表示位置も移動する。
レンダラ125から供給される表示情報には、表示部113に表示されている現在位置アイコン256の画面上の位置と地図上の位置が含まれており、ナビゲーションモジュール選択部122、およびアクティブナビゲーションモジュールであるナビゲーションモジュール141は、表示情報に基づいて、現在の現在位置アイコン256の位置を取得する。
そして、入力装置111により指示されている画面ポインタ位置に現在位置アイコン256が表示されている場合(地図ポインタ位置が現在位置アイコン256上の場合)、ドラッグ方式ナビゲーションモジュール241がアクティブナビゲーションモジュール候補として選択され、画面ポインタ位置に現在位置アイコン256が表示されていない場合(地図ポインタ位置が現在位置アイコン256上でない場合)、スクロール方式ナビゲーションモジュール242がアクティブナビゲーションモジュール候補として選択されるようにする。図11を参照して、この場合のアクティブナビゲーションモジュール候補選択処理を説明する。
ステップS61において、ナビゲーションモジュール選択部122は、画像表示制御部223が有する全てのナビゲーションモジュール141のアクティブ度をチェックしたか否かを判定する。いまの場合、どのナビゲーションモジュール141についてもアクティブ度はチェックされておらず、処理はステップS62に進む。
ステップS62において、ナビゲーションモジュール選択部122は、ナビゲーションモジュール141にポインタ情報と表示情報を供給して、アクティブ度を問い合わせる。
以下の説明では、ドラッグ方式ナビゲーションモジュール241、スクロール方式ナビゲーションモジュール242の順番で、ナビゲーションモジュール選択部122がアクティブ度を問い合わせるものとして説明する。
ステップS63において、ドラッグ方式ナビゲーションモジュール241は、ポインタ情報と表示情報に基づいて、入力装置111により指示されている画面ポインタ位置に現在位置アイコン256が表示されている場合、自己のアクティブ度をアクティブ度1に決定し、画面ポインタ位置に現在位置アイコン256が表示されていない場合、アクティブ度をアクティブ度0に決定する。
ステップS64において、ナビゲーションモジュール選択部122は、ドラッグ方式ナビゲーションモジュール241から、ステップS63の処理で決定されたアクティブ度を取得し、保存する。その後、処理はステップS61に戻る。
ステップS61において、まだスクロール方式ナビゲーションモジュール242のアクティブ度がチェックされていないので、全てのナビゲーションモジュール141のアクティブ度がチェックされていないと判定され、処理はステップS62に進む。
ステップS62において、ナビゲーションモジュール選択部122は、スクロール方式ナビゲーションモジュール242にポインタ情報と表示情報を供給して、アクティブ度を問い合わせる。
ステップS63において、スクロール方式ナビゲーションモジュール242は、ポインタ情報と表示情報に基づいて、入力装置111により指示されている画面ポインタ位置に現在位置アイコン256が表示されている場合、自己のアクティブ度をアクティブ度0に決定し、画面ポインタ位置に現在位置アイコン256が表示されていない場合、アクティブ度をアクティブ度1に決定する。
ステップS64において、ナビゲーションモジュール選択部122は、スクロール方式ナビゲーションモジュール242から、ステップS63の処理で決定されたアクティブ度を取得し、保存する。その後、処理はステップS61に戻る。
ステップS61において、全てのナビゲーションモジュール141のアクティブ度がチェックさたと判定され、処理はステップS65に進む。
ステップS65において、ナビゲーションモジュール選択部122は、ドラッグ方式ナビゲーションモジュール241とスクロール方式ナビゲーションモジュール242のアクティブ度を比較して、アクティブ度の数値が大きいほうを、アクティブナビゲーションモジュール候補に選択する。すなわち、入力装置111により指示されている画面ポインタ位置に現在位置アイコン256が表示されている場合(地図ポインタ位置が現在位置アイコン256上の場合)、ドラッグ方式ナビゲーションモジュール241がアクティブナビゲーションモジュール候補として選択され、入力装置111により指示されている画面ポインタ位置に現在位置アイコン256が表示されていない場合(地図ポインタ位置が現在位置アイコン256上でない場合)、スクロール方式ナビゲーションモジュール242がアクティブナビゲーションモジュール候補として選択される。
その後、処理は図9のステップS34に進み、選択されたアクティブナビゲーションモジュール候補であるナビゲーションモジュール141と、現在のアクティブナビゲーションモジュールであるナビゲーションモジュール141が異なる場合、ステップS35の処理で、アクティブナビゲーションモジュールがアクティブナビゲーションモジュール候補であるナビゲーションモジュール141に変更される。
なお、上述したように、アクティブナビゲーションモジュールであるナビゲーションモジュール141の処理実行中フラグがONとされている場合、図7のステップS5のアクティブナビゲーションモジュール変更処理は実行されないため、ドラッグ方式ナビゲーションモジュール241あるいはスクロール方式ナビゲーションモジュール242が処理中の場合、アクティブナビゲーションモジュールは変更されない。
このようにして、ユーザは、入力装置111が指示する地図ポインタ位置を変更することにより、ドラッグ方式による画像表示制御処理とスクロール方式による画像表示制御処理を切り替えることができる。
なお、以上の説明においては、ユーザが入力装置111により現在位置アイコン256を登録する例を説明したが、図18に示される地図表示装置261のように、図12の地図表示装置201に、GPS(Grobal Positionning System)受信部271をさらに設けて、GPS受信部271が、測地衛星からの電波を受信して、測定した現在位置に基づいて、現在位置アイコン256を表示部113に表示させるようにしてもよい。この場合、GPS受信部271の測定結果が、入力部121とスイッチャ124を介して、レンダラ125に供給され、レンダラ125は、GPS受信部271測定結果に基づいて、現在位置アイコン256を表示部113に表示されている画像の上に重畳させる。
また、図19に示される地図表示装置281のように、図12の地図表示装置201に、スケジューラ291をさらに設け、スケジューラ291に登録されているスケジュール情報に基づいて指示された現在位置に基づいて、現在位置アイコン256を表示部113に表示させるようにしてもよい。この場合、スケジュール情報には、時刻とその時刻におけるユーザの所在地(位置情報)が含まれ、スケジューラ291は、その情報に基づいて、現時点のユーザの現在位置を推定し、その推定結果を、入力部121とスイッチャ124を介して、レンダラ125に供給する。レンダラ125は、取得した推定結果に基づいて、現在位置アイコン256を表示部113に表示されている画像の上に重畳させる。
上述したように、レンダラ125から供給される表示情報には、表示部113に表示されている現在位置アイコン256の画面上の位置と地図上の位置が含まれており、ナビゲーションモジュール選択部122、およびアクティブナビゲーションモジュールであるナビゲーションモジュール141は、表示情報に基づいて、GPS受信部271の測定結果またはスケジューラ291の推定結果に基づいて、現在の現在位置アイコン256の位置を取得する。
以上のようにして、入力装置111により指示された画面ポインタ位置、あるいは地図ポインタ位置に基づいて、ドラッグ方式による画像表示制御処理とスクロール方式による画像表示制御処理が切り替えられる。従って、ユーザは、地図を見たまま簡単にドラッグ方式とスクロール方式の画像表示制御処理を使い分けることができ、簡単かつ迅速に見たい範囲の地図を表示させることができる。
次に、図20乃至図27を参照して、ナビゲーションモジュールにドラッグ方式ナビゲーションモジュールとランドマークナビゲーションモジュールの2つのナビゲーションモジュールを用いた地図表示装置の実施の形態について説明する。
ランドマークナビゲーションモジュールは、入力装置111により指定された画面ポインタ位置に駅、バス停、空港、ビルなどのランドマークが表示されている場合(地図ポインタ位置が駅、バス停、空港、ビルなどのランドマーク上の場合)、そのランドマーク(以下、基準ランドマークと称する)に関連するランドマーク(以下、関連ランドマークと称する)の一覧(以下、ランドマークメニューと称する)を表示させるとともに、ランドマークメニューの中から任意の関連ランドマークが選択された場合、選択された関連ランドマークが表示部113の画面の中央に表示されるように、地図の表示位置を移動させるランドマーク方式の画像表示制御処理を行うナビゲーションモジュールである。
図20は、ナビゲーションモジュールにドラッグ方式ナビゲーションモジュール241とランドマークナビゲーションモジュール341の2つのナビゲーションモジュールを用いた地図表示装置301の基本構成例を示すブロック図である。図6に示す場合と同様の部分は、同一の符号を付してあり、その説明は省略する。
地図表示装置301は、図6に示される地図表示装置101と比較して、地図表示装置101の画像表示制御部123が、ドラッグ方式ナビゲーションモジュール241とランドマークナビゲーションモジュール341の2つのナビゲーションモジュールを有する画像表示制御部323に置き換えられている点が異なる。
データ処理部312の画像表示制御部323は、ドラッグ方式ナビゲーションモジュール241とランドマークナビゲーションモジュール341の2つのナビゲーションモジュールを有している。詳細は後述するが、ナビゲーションモジュール選択部122は、ドラッグ方式ナビゲーションモジュール241とランドマークナビゲーションモジュール341の中からアクティブナビゲーションモジュールを選択し、選択されたアクティブナビゲーションモジュールであるナビゲーションモジュール141が画像データ更新情報を生成することにより、表示部113に表示させる画像の内容を制御する。
ランドマークナビゲーションモジュール341は、例えば、図21Aに示されるように、駅401が表示されている領域上に入力装置111により画面ポインタ位置が指定された場合、図21Bに示されるように、表示部113に表示されている画像に、駅401が含まれる路線上の他の駅など、駅401と関連するランドマークを一覧にしたランドマークメニュー402を重畳させて表示させ、さらに、入力装置111によりランドマークメニュー402の中から任意のランドマークが選択されると、選択されたランドマークを表示部113の画面の中央に表示させるランドマーク方式の画像表示制御処理を行う。
図22は、ランドマークナビゲーションモジュール341の基本構成例を示すブロック図である。ランドマークナビゲーションモジュール341は、現在位置決定部451、関連地点検索部452、メニューレンダラ453、ランドマーク情報蓄積部454、およびランドマークデータ優先度情報蓄積部455により構成される。
現在位置決定部451は、入力部121とスイッチャ124を介して、入力装置111よりポインタ情報を取得し、スイッチャ124を介して、レンダラ125より表示情報を取得する。現在位置決定部451は、ポインタ情報、表示情報、およびランドマーク情報蓄積部454に蓄積されているランドマーク情報に基づいて、画面ポインタ位置に表示されているランドマーク(基準ランドマーク)を特定し、関連地点検索部452に伝達する。
ランドマーク情報蓄積部454に蓄積されているランドマーク情報には、地図の所定の位置にある駅、空港、バス停、ビル、観光地などのランドマークの位置が登録され、さらに登録された位置(ランドマーク)に関する情報が登録されている。ランドマーク情報には、ランドマークの番号、ランドマークの名称、ランドマークの種類、およびランドマークの地図上の位置が含まれている。また、ランドマーク情報には、登録されているランドマーク間の関連を示す情報(以下、関連情報と称する)、例えば、鉄道の同一路線上の駅が相互に関連付けられた情報や鉄道の駅とその駅の近郊に存在するランドマークが相互に関連付けられた情報などが含まれる。
現在位置決定部451は、ランドマークメニュー402の中から任意のランドマークが選択されたとき、ランドマーク情報蓄積部454に蓄積されているランドマーク情報に基づいて、選択されたランドマークが画面の中央に表示される地図の位置を求め、求めた地図の位置に基づいて、画像データ更新情報を生成し、スイッチャ124を介して、レンダラ125に出力する。
関連地点検索部452は、現在位置決定部451より伝達された基準ランドマークに関連するランドマーク(関連ランドマーク)をランドマーク情報蓄積部454に蓄積されているランドマーク情報から検索する。さらに、関連地点検索部452は、関連ランドマークに関するデータをランドマーク情報から取得し、メニューレンダラ453に供給する。
メニューレンダラ453は、関連地点検索部452により供給された関連ランドマークに関するデータに基づいて、ランドマークメニュー402の表示内容を決定する。このとき、メニューレンダラ453は、ランドマーク優先度情報蓄積部455に蓄積されている設定情報や履歴情報に基づいて、ランドマークメニュー402に表示する関連ランドマークを選択したり、表示順を決定したりする。メニューレンダラ453は、現在表示されている画像にランドマークメニュー402を重畳させる画像データ更新情報を生成し、スイッチャ124を介して、レンダラ125に出力する。
ランドマーク優先度情報蓄積部455には、ランドマークメニュー402に表示するリストの数、関連ランドマークを検索する基準ランドマークからの範囲(距離)、ランドマークの種類などに基づく表示の優先順位など、ランドマークメニュー402に表示する関連ランドマークを選択したり、表示順を決定したりするための設定情報が蓄積されている。また、ランドマーク情報に登録されている各ランドマークについて、過去にそのランドマークを表示した回数、ランドマークメニュー402からそのランドマークが選択され表示された回数、直前に表示されたランドマークなど各ランドマークの表示に関する履歴情報が蓄積されている。
図20で構成が示される地図表示装置301によるナビゲーションの処理は、図7を参照して説明した処理と同様なので、その説明は省略する。
図20の構成で示される地図表示装置301によるアクティブナビゲーションモジュール変更の処理は、図9のフローチャートを参照して説明した処理と同様なので、その説明は省略する。
ドラッグ方式ナビゲーションモジュール241がアクティブナビゲーションモジュールとして選択されている場合の画像表示制御処理は、図13のフローチャートを参照して説明した処理と同様なので、その説明は省略する。
図23および図24を参照して、図7のステップS3における画像表示制御処理の詳細について説明する。図23および図24のフローチャートは、ランドマークナビゲーションモジュール341がアクティブナビゲーションモジュールとして選択されている場合の画像表示制御処理を示している。
ステップS201において、現在位置決定部451は、入力部121とスイッチャ124を介して、入力装置111よりポインタ情報を取得する。
ステップS202において、現在位置決定部451は、ポインタ情報に基づいて、入力装置111により画面ポインタ位置が指定されているか否かを判定する。画面ポインタ位置が指定されていると判定された場合、処理はステップS203に進む。
ステップS203において、現在位置決定部451は、ポインタ情報と、図7のステップS9または図9のステップS35の処理により取得した表示情報に基づいて、画面ポインタ位置にランドマークメニュー402が表示されているか否かを判定する。表示部113にランドマークメニュー402が表示されていない場合を含めて、画面ポインタ位置にランドマークメニュー402が表示されていないと判定された場合、処理はステップS204に進む。
ステップS204において、現在位置決定部451は、処理実行中フラグがOFFか否かを判定する。処理実行中フラグがOFFであると判定された場合、すなわち、ランドマークナビゲーションモジュール341の処理が開始されていない場合、処理はステップS205に進む。後述するように、処理実行中フラグは、入力装置111により画面ポインタ位置が指定されている期間にONとされ、入力装置111により画面ポインタ位置が指定されていない期間にOFFとされる。従って、ステップS202で、画面ポインタ位置が指定されていると判定され、ステップS204の処理で、処理実行中フラグがOFFであると判定されるのは、入力装置111により画面ポインタ位置の指定が開始された場合である。
ステップS205において、現在位置決定部451は、ポインタ情報、表示情報、およびランドマーク蓄積部454に蓄積されているランドマーク情報に基づいて、入力装置111により指定されている画面ポインタ位置に表示されている(地図ポインタ位置の)ランドマーク(基準ランドマーク)を特定し、関連地点検索部452に伝達する。
ステップS206において、関連地点検索部452は、ランドマーク情報に基づいて、現在位置決定部451より伝達された基準ランドマークに関連する関連ランドマークを検索し、さらに関連ランドマークに関するデータをランドマーク情報から取得する。関連地点検索部452は、取得した関連ランドマークに関するデータを、メニューレンダラ453に供給する。
ステップS207において、メニューレンダラ453は、ステップS206の処理により取得した関連ランドマークに関するデータと、ランドマーク優先度情報蓄積部455に蓄積されている設定情報や履歴情報に基づいて、ランドマークメニュー402に表示する関連ランドマークを選択し、その表示順を決定する。
例えば、ステップS207の処理により、メニューレンダラ453は、設定情報や履歴情報に基づいて、基準ランドマークから所定の半径内にある関連ランドマークのみをランドマークメニュー402に表示させたり、基準ランドマークから近い順あるいは遠い順、名前順、または種類順に関連ランドマークをランドマークメニュー402に表示させたりする。また、例えば、メニューレンダラ453は、特定のランドマークや特定の種類のランドマークを優先してランドマークメニュー402に表示させたり、特定のランドマークや特定の種類のランドマークをランドマークメニュー402に表示させないようにする。
さらに、メニューレンダラ453は、過去に頻繁に表示されたり、ランドマークメニュー402から頻繁に選択されたりした関連ランドマークを優先してランドマークメニュー402に表示させたり、直前に表示していたランドマークを優先して表示させたりする。
ステップS208において、メニューレンダラ453は、現在表示部113に表示されている画像の上に、ステップS207の処理により決定されたランドマークメニュー402が重畳される画像データ更新情報を生成する。
ステップS209において、メニューレンダラ453は、画像データ更新情報を、スイッチャ124を介して、レンダラ125に出力する。
ステップS210において、現在位置決定部451は、処理実行中フラグをONにする。これにより、アクティブナビゲーションモジュールは、ランドマークナビゲーションモジュール341から他のナビゲーションモジュール141(この場合、ドラッグ方式ナビゲーションモジュール241)に変更されなくなり、ランドマークナビゲーションモジュール341がアクティブな状態が維持される。
後述するように、ステップS210の処理でONされた処理実行中フラグは、ステップS202において、入力装置111により画面ポインタ位置が指定されていないと判定された後、ステップS218の処理が行われるまで、OFFされない。すなわち、処理実行中フラグは、入力装置111により画面ポインタ位置が指定されている期間にONとされ、入力装置111により画面ポインタ位置が指定されていない期間にOFFとされる。
その後、処理は図7のステップS4に進む。レンダラ125は、ステップS209の処理で取得した画像データ更新情報に基づいて、図7のステップS7において、画像データを生成し、ステップS8において、表示部113に画像を表示させる。これにより、図21Bに示されるような、入力装置111により指定されている地図ポインタ位置のランドマークに関連する関連ランドマークを一覧にしたランドマークメニュー402が、表示部113に表示される。なお、表示部113にランドマークメニュー402が表示されている場合も、入力装置111により地図上の別のランドマークが指定された場合、指定されたランドマークに関連する関連ランドマークを一覧にしたランドマークメニュー402が表示される。
ステップS204において、処理実行中フラグがONであると判定された場合、すなわち、ランドマークナビゲーションモジュール341の処理がすでに実行されている場合、処理はステップS212に進む。
ステップS212において、現在位置決定部451は、記憶しているジャンプ先をクリアする。ジャンプ先とは、入力装置111によりランドマークメニュー402の中から指定された関連ランドマークのことであり、ジャンプ先は後述するステップS211の処理で記憶される。ステップS212において、表示部113にランドマークメニュー402が表示されていない場合を含めて、入力装置111により指定された画面ポインタ位置にランドマークメニュー402が表示されていない場合、記憶されているジャンプ先はクリアされる。その後、処理はステップS210に進む。
ステップ210において、いまの場合、処理実行中フラグはONなので、処理は行われずに、その後、処理は図7のステップS4に進む。すなわち、入力装置111により画面ポインタ位置が指定された状態が継続している場合、画像データ更新情報は生成されず、表示部113に表示されている画像は更新されない。
ステップS203において、画面ポインタ位置にランドマークメニュー402が表示されていると判定された場合、処理はステップS211に進む。
ステップS211において、現在位置決定部451は、ポインタ情報と表示情報に基づいて、入力装置111により指定されている画面ポインタ位置に表示されている(入力装置111により指定されている)ランドマークメニュー402内の関連ランドマークをジャンプ先として記憶する。
後述するように、実際に、入力装置111により指定されているジャンプ先が確定(選択)され、ジャンプ先として選択された関連ランドマークが含まれる範囲の地図が表示部113に表示されるのは、入力装置111によりジャンプ先が指定された(入力装置111により指定された画面ポインタ位置に関連ランドマークが表示されている)状態から、その指定が解除された(入力装置111による画面ポインタ位置の指定が解除された)ときである。画面ポインタ位置の指定が解除されるまでは、入力装置111により指定されたジャンプ先は記憶されるのみであり、画面ポインタ位置を指定したままの状態で別の関連ランドマーク上に移動させることにより、記憶されているジャンプ先を変更することができる。また、画面ポインタ位置を指定したままの状態でランドマークメニュー402以外の領域に移動させることにより、上述したステップS212の処理により、記憶されているジャンプ先がクリアされる。
その後、処理はステップS210に進み、処理実行中フラグがOFFの場合、処理実行中フラグがONにされ、処理は図7のステップS4に進む。すなわち、入力装置111によりランドマークメニュー402内に表示されている関連ランドマークがジャンプ先として指定されている場合、画像データ更新情報は生成されず、表示部113に表示されている画像は更新されない。
ステップS202において、入力装置111により画面ポインタ位置が指定されていないと判定された場合、処理はステップS213に進む。
ステップS213において、現在位置決定部451は、処理実行中フラグがONか否かを判定する。処理実行中フラグがONであると判定された場合、すなわち、ランドマークナビゲーションモジュール341の処理が実行されているときに、入力装置111による画面ポインタ位置の指定が解除された場合、処理はステップS214に進む。
ステップS214において、現在位置決定部451は、ジャンプ先を記憶しているか否かを判定する。ジャンプ先が記憶されていると判定された場合、すなわち、画面ポインタ位置の指定が解除される直前まで、入力装置111によりランドマークメニュー402内に表示されている関連ランドマークが指定されていて、その関連ランドマークがジャンプ先として記憶されている場合、処理はステップS215に進む。
ステップS215において、現在位置決定部451は、ジャンプ先として記憶されている関連ランドマークが画面の中央に表示される地図の表示位置を求め、求めた地図の表示位置に基づいて、画像データ更新情報を生成する。
ステップS216において、現在位置決定部451は、画像データ更新情報を、スイッチャ124を介してレンダラ125に出力する。
ステップS217において、現在位置決定部451は、記憶しているジャンプ先をクリアする。
ステップS218において、現在位置決定部451は、処理実行中フラグをOFFにする。これにより、アクティブナビゲーションモジュールが、ランドマークナビゲーションモジュール341から他のナビゲーションモジュール141(この場合、ドラッグ方式ナビゲーションモジュール241)に変更されることが可能となる。その後、処理は図7のステップS4に進む。
レンダラ125は、ステップS216の処理で取得した画像データ更新情報に基づいて、図7のステップS7において、画像データを生成し、ステップS8において、表示部113に画像を表示させる。これにより、ランドマークメニュー402の中からジャンプ先として選択された関連ランドマークが、表示部113の画面の中央に表示される。
ステップS214において、ジャンプ先が記憶されていないと判定された場合、すなわち、画面ポインタ位置の指定が解除される直前に、入力装置111によりランドマークメニュー402内に表示されている関連ランドマークが指定されておらず、ジャンプ先が記憶されていない場合、ステップS214乃至S217の処理はスキップされ、処理はステップS218に進む。
ステップS218において、処理実行中フラグがOFFにされ、その後、処理は図7のステップS4に進む。
すなわち、入力装置111によりランドマークメニュー402内の関連ランドマークが指定されていない状態で画面ポインタ位置の指定が解除された場合、画像データ更新情報は生成されず、表示部113に表示されている画像は更新されない。
ステップS213において、処理実行中フラグがOFFであると判定された場合、すなわち、入力装置111により画面ポインタ位置が指定されていない状態が継続している場合、ステップS214乃至S218の処理はスキップされ、ランドマークナビゲーションモジュール341による画像表示制御処理は実行されずに、処理は図7のステップS4に進む。
このようにして、入力装置111によりランドマーク情報に登録されているランドマークが指定された場合、そのランドマークに関連する関連ランドマークを一覧にしたランドマークメニュー402が表示され、さらにランドマークメニュー402の中からジャンプ先が選択された場合、ジャンプ先として選択された関連ランドマークが表示部113の画面の中央に表示される。
なお、ステップS203において、入力装置111により指定された画面ポインタ位置にランドマークメニュー402が表示されていると判定された場合、ステップS211において、ジャンプ先を記憶したあと、さらにそのジャンプ先として記憶された関連ランドマークに関連する関連ランドマークを一覧にしたランドマークメニュー402を表示させるようにしてもよい。これにより、例えば、入力装置111により指定された駅(基準ランドマーク)が含まれる路線上の駅を一覧にしたランドマークメニュー402が表示された後、さらにランドマークメニュー402の中からジャンプ先として指定された駅で乗り換え可能な別の路線上の駅を一覧にしたランドマークメニュー402が表示されるようにでき、ユーザは、地図の表示位置を変更せずに、基準ランドマークと直接関連しないランドマークをジャンプ先として選択することができるようになる。
次に、地図表示装置301における図9のステップS33のアクティブナビゲーションモジュール候補選択処理について、さらに具体的に説明する。
地図表示装置301では、図11に示される画像位置方式によるアクティブナビゲーションモジュール候補選択処理が適用される。
ステップS61において、ナビゲーションモジュール選択部122は、画像表示制御部323が有する全てのナビゲーションモジュール141のアクティブ度をチェックしたか否かを判定する。いまの場合、どのナビゲーションモジュール141についてもアクティブ度はチェックされておらず、処理はステップS62に進む。
ステップS62において、ナビゲーションモジュール選択部122は、ナビゲーションモジュール141にポインタ情報と表示情報を供給して、アクティブ度を問い合わせる。
以下の説明では、ドラッグ方式ナビゲーションモジュール241、ランドマークナビゲーションモジュール341の順番で、ナビゲーションモジュール選択部122がアクティブ度を問い合わせるものとして説明する。
ステップS63において、ドラッグ方式ナビゲーションモジュール241は、画面ポインタ位置に関わらず、アクティブ度をアクティブ度1に決定する。
ステップS64において、ナビゲーションモジュール選択部122は、ドラッグ方式ナビゲーションモジュール241から、ステップS63の処理で決定されたアクティブ度を取得し、保存する。その後、処理はステップS61に戻る。
ステップS61において、まだランドマークナビゲーションモジュール341のアクティブ度がチェックされていないので、全てのナビゲーションモジュール141のアクティブ度がチェックされていないと判定され、処理はステップS62に進む。
ステップS62において、ナビゲーションモジュール選択部122は、ランドマークナビゲーションモジュール341にポインタ情報と表示情報を供給して、アクティブ度を問い合わせる。
ステップS63において、ランドマークナビゲーションモジュール341は、ポインタ情報と表示情報に基づいて、アクティブ度を決定する。ランドマークナビゲーションモジュール341の現在位置決定部451は、ポインタ情報と表示情報に基づいて、入力装置111により指示されている画面ポインタ位置にランドマークメニュー402が表示されているか否かを判定する。画面ポインタ位置にランドマークメニュー402が表示されていると判定された場合、現在位置決定部451は、アクティブ度をアクティブ度2に決定する。
ステップS63において、画面ポインタ位置にランドマークメニュー402が表示されていないと判定された場合、現在位置決定部451は、ランドマーク情報蓄積部454に蓄積されているランドマーク情報に基づいて、入力装置111により指示されている地図ポインタ位置に登録されているランドマークを検索する。現在位置決定部451は、地図ポインタ位置に登録されているランドマークが検索された場合、アクティブ度をアクティブ度2に決定し、検索されなかった場合、アクティブ度をアクティブにアクティブ度0に決定する。
ステップS64において、ナビゲーションモジュール選択部122は、ランドマークナビゲーションモジュール341から、ステップS63の処理で決定されたアクティブ度を取得し、保存する。その後、処理はステップS61に戻る。
ステップS61において、全てのナビゲーションモジュール141のアクティブ度がチェックさたと判定され、処理はステップS65に進む。
ステップS65において、ナビゲーションモジュール選択部122は、ドラッグ方式ナビゲーションモジュール241とスクロールナビゲーションモジュール341のアクティブ度を比較して、アクティブ度の数値が大きいほうを、アクティブナビゲーションモジュール候補に選択する。すなわち、入力装置111により指示されている画面ポインタ位置にランドマークメニュー402またはランドマーク情報に登録されているランドマークが表示されている場合、ランドマークナビゲーションモジュール341がアクティブナビゲーションモジュール候補として選択され、画面ポインタ位置にランドマークメニュー402およびランドマーク情報に登録されているランドマークのいずれもが表示されていない場合、ドラッグ方式ナビゲーションモジュール241がアクティブナビゲーションモジュール候補として選択される。
その後、処理は図9のステップS34に進み、選択されたアクティブナビゲーションモジュール候補であるナビゲーションモジュール141と、現在のアクティブナビゲーションモジュールであるナビゲーションモジュール141が異なる場合、ステップS35の処理で、アクティブナビゲーションモジュールがアクティブナビゲーションモジュール候補であるナビゲーションモジュール141に変更される。
なお、上述したように、アクティブナビゲーションモジュールであるナビゲーションモジュール141の処理実行中フラグがONとされている場合、図7のステップS5のアクティブナビゲーションモジュール変更処理は実行されないため、ドラッグ方式ナビゲーションモジュール241あるいはランドマークナビゲーションモジュール341が処理中の場合、アクティブナビゲーションモジュールは変更されない。
このようにして、ユーザは、入力装置111が指示する画面ポインタ位置に表示されている画像の内容を変更することにより、ドラッグ方式による画像表示制御処理とランドマーク方式による画像表示制御処理を切り替えることができる。
以上のようにして、ユーザは、入力装置111により、地図上のランドマークを指定することにより、ランドマークメニュー402を表示させることができ、さらにランドマークメニュー402内に表示されている関連ランドマークを選択することにより、選択した関連ランドマークを表示部113の画面の中央に表示させることができる。また、地図上のランドマーク以外の領域を指示することにより、ドラッグ方式による画像表示制御処理を実行させることができる。従って、ユーザは、地図を見たまま簡単にドラッグ方式とランドマーク方式の画像表示制御処理を使い分けることができ、簡単かつ迅速に見たい範囲の地図を表示させることができる。
図25は、ユーザの現在位置に基づいて、アクティブナビゲーションモジュールが変更されるようにした地図表示装置461の基本構成例を示すブロック図である。地図表示装置461は、図20に示される地図表示装置301に、図18に示される地図表示装置261と同様のGPS受信部271をさらに設けている。地図表示装置461は、GPS受信部271が、測地衛星からの電波を受信して、測定した現在位置に基づいて、図26に示されるように、表示部113の画面上に、図16に示されるものと同様の現在位置アイコン256を表示する。
例えば、地図表示装置461では、図26Aに示されるように、現在位置アイコン256がランドマーク情報に登録されているランドマークである駅401上にある場合、入力装置111により指示された地図ポインタ位置が駅401などのランドマーク上でなくても、ナビゲーションモジュール選択部122は、ランドマークナビゲーションモジュール341をアクティブナビゲーションモジュールとして選択する。そして、図26Bに示されるように、現在位置アイコン256が駅401上にある場合、入力装置111により指定された地図ポインタ位置に関わらず、ランドマークナビゲーションモジュール341は、現在位置アイコン256が位置する駅401に関連する関連ランドマークを一覧にしたランドマークメニュー402を表示させるように、画像表示制御処理を行う。これにより、ユーザは、ユーザの現在位置に関連するランドマークを含む範囲の地図を簡単かつ迅速に表示部113に表示させることができる。
また、図27に示される地図表示装置481のように、図25の地図表示装置461のGPS受信部271の代わりに、図19に示される地図表示装置281と同様のスケジューラ291を設け、スケジューラ291に登録されているスケジュール情報に基づいて、現在位置アイコン256を表示させるようにしてもよい。
これらの場合、レンダラ125から供給される表示情報には、現在位置アイコン256の表示部113の画面上の表示位置と地図上の位置が含まれており、ナビゲーションモジュール選択部122、およびアクティブナビゲーションモジュールであるナビゲーションモジュール141は、表示情報に基づいて、GPS受信部271の測定結果あるいはスケジューラ291の推定結果に基づいて、現在の現在位置アイコン256の位置を取得する。
次に、図28乃至図34を参照して、ナビゲーションモジュールにドラッグ方式ナビゲーションモジュールと経路ナビゲーションモジュールの2つのナビゲーションモジュールを用いた地図表示装置の実施の形態について説明する。
図28は、ナビゲーションモジュールにドラッグ方式ナビゲーションモジュール241と経路ナビゲーションモジュール541の2つのナビゲーションモジュールを用いた地図表示装置501の基本構成例を示すブロック図である。図6に示す場合と同様の部分は、同一の符号を付してあり、その説明は省略する。
地図表示装置501は、図6に示される地図表示装置101と比較して、画像表示制御部123が、ドラッグ方式ナビゲーションモジュール241と経路ナビゲーションモジュール541の2つのナビゲーションモジュール有する画像表示制御部523に置き換えられている点と、経路設定部527が設けられている点が異なる。
データ処理部512の画像表示制御部523は、ドラッグ方式ナビゲーションモジュール241と経路ナビゲーションモジュール541の2つのナビゲーションモジュールを有している。詳細は後述するが、ナビゲーションモジュール選択部122は、ドラッグ方式ナビゲーションモジュール241と経路ナビゲーションモジュール541の中からアクティブナビゲーションモジュールを選択し、選択されたアクティブナビゲーションモジュールであるナビゲーションモジュール141が画像データ更新情報を生成することにより、表示部113に表示させる画像の内容を制御する。
経路設定部527は、所定の操作により、出発地と目的地が指定されたとき、入力部121を介して、入力装置111よりポインタ情報を取得するとともに、レンダラ125より表示情報を取得する。経路設定部527は、取得したポインタ情報と表示情報に基づいて、出発値と目的地の地図ポインタ位置を求め、さらに出発地から目的地までの経路を設定する。経路設定部527は、設定した経路情報をレンダラ125に供給し、レンダラ125は、経路情報に従い、表示部113に表示されている画像に出発地から目的地までの経路を重畳させた画像データを生成し、表示部113に経路を重畳させた画像を表示させる。
レンダラ125から供給される表示情報には、経路設定部527により設定され、表示部113に表示されている経路の画面上の位置と地図上の位置が含まれており、ナビゲーションモジュール選択部122、およびアクティブナビゲーションモジュールであるナビゲーションモジュール141は、表示情報に基づいて、経路の位置を取得する。
経路ナビゲーションモジュール541は、例えば、図29Aに示されるように、経路設定部527により出発地Aから目的地Bまでの経路601が設定されている場合、入力装置111により指定された画面ポインタ位置の移動にあわせて、地図の表示位置(範囲)を、経路601に沿って、図29Aの四角形で囲まれた出発地Aを含む範囲6021で示される位置から、図29Bの四角形で囲まれた目的地Bを含む範囲6022で示される位置まで移動させる経路方式の画像表示制御処理を行う。もちろん、地図の表示位置は、出発地Aから目的地Bへ方向だけでなく、目的地Aから出発地Bへの方向へも移動させることも可能である。
図28で構成が示される地図表示装置501によるナビゲーションの処理は、図7を参照して説明した処理と同様なので、その説明は省略する。
図28の構成で示される地図表示装置501によるアクティブナビゲーションモジュール変更の処理は、図9のフローチャートを参照して説明した処理と同様なので、その説明は省略する。
ドラッグ方式ナビゲーションモジュール241がアクティブナビゲーションモジュールとして選択されている場合の画像表示制御処理は、図13のフローチャートを参照して説明した処理と同様なので、その説明は省略する。
図30を参照して、図7のステップS3における画像表示制御処理の詳細について説明する。図30のフローチャートは、経路ナビゲーションモジュール541がアクティブナビゲーションモジュールとして選択されている場合の画像表示制御処理を示している。
なお、以下において、経路設定部527によりすでに出発地から目的地までの経路が設定されており、設定された経路が表示部113に表示されているものとして説明する。
ステップS251において、経路ナビゲーションモジュール541は、入力部121とスイッチャ124を介して、入力装置111よりポインタ情報を取得する。
ステップS252において、経路ナビゲーションモジュール541は、ポインタ情報に基づいて、入力装置111により画面ポインタ位置が指定されているか否かを判定する。
画面ポインタ位置が指定されていると判定された場合、処理はステップS253に進む。
ステップS253において、経路ナビゲーションモジュール541は、処理実行中フラグがOFFか否かを判定する。処理実行中フラグがOFFであると判定された場合、すなわち、経路ナビゲーションモジュール541の処理が開始されていない場合、処理はステップS254に進む。
ステップS254において、経路ナビゲーションモジュール541は、ポインタ情報に基づいて、入力装置111により指定された画面ポインタ位置を基準画面ポインタ位置とする。後述するように、基準画面ポインタ位置には、設定されている経路が常に表示される。
ステップS255において、経路ナビゲーションモジュール541は、処理実行中フラグをONにする。これにより、アクティブナビゲーションモジュールは、経路ナビゲーションモジュール541から他のナビゲーションモジュール141(この場合、ドラッグ方式ナビゲーションモジュール241)に変更されなくなり、経路ナビゲーションモジュール541がアクティブな状態が維持される。
その後、処理は図7のステップS4に進む。すなわち、入力装置111により画面ポインタ位置が指定され、経路ナビゲーションモジュール541の処理が開始されたときには、画像データ更新情報は生成されず、表示部113に表示されている画像は更新されない。
ステップS253において、処理実行中フラグがONであると判定された場合、すなわち、経路ナビゲーションモジュール541の処理がすでに実行されている場合、処理はステップS256に進む。
ステップS256において、経路ナビゲーションモジュール541は、地図表示装置201における図15のステップS156の処理と同様に、ステップS254の処理で求めた基準画面ポインタ位置から、入力装置111により指定されている現在の画面ポインタ位置へのベクトルの方向と大きさを求める。
ステップS257において、経路ナビゲーションモジュール541は、ステップS256の処理で求めたベクトルを、基準画面ポインタ位置における経路上のベクトルに正射影したベクトルを求める。
ここで、図31を参照して、ステップS256とステップS257の処理の詳細を説明する。図31Aと図31Bにおいて、地図表示装置501に設定されている経路651のうち、四角形で囲まれた範囲652−1と652−2が、表示部113に表示されているとする。図31Aに示される経路651上の位置Oが基準画面ポインタ位置とし、現在の画面ポインタ位置を位置Oからほぼ水平かつ右方向にある位置Aとした場合、ステップS256において、位置O(基準画面ポインタ位置)から位置A(現在の画面ポインタ位置)へのベクトル(以下、ベクトルOAと称する)の方向と大きさが求められる。位置Aから経路651上の位置Oにおける接線653に下ろした垂線654の足を位置P1とすると、ステップS257において、位置Oから位置P1へのベクトル(以下、ベクトルOP1と称する)、すなわち、ベクトルOAを接線653の方向に正射影したベクトルOP1の方向と大きさが求められる。
ステップS258において、経路ナビゲーションモジュール541は、画像データ更新情報を生成する。経路ナビゲーションモジュール541は、ポインタ情報と、図7のステップS9または図9のステップS35の処理により取得した表示情報に基づいて、現在表示している地図の表示位置を、ステップS257の処理で求めた正射影ベクトルの方向に、正射影ベクトルの大きさに応じた移動量の大きさだけ移動させた地図の表示位置を求める。さらに、求めた地図の表示位置において、基準画面ポインタ位置に最も近い位置に表示されている経路上の位置を求めて、その経路上の位置が基準画面ポインタ位置に表示されるような地図の表示位置を求める。
例えば、図31の例のように、地図の表示位置(範囲)として、図31Aの範囲652−1で示される位置(範囲)から、ベクトルOP1の方向に、ベクトルOP1の大きさに応じた移動量の大きさだけ地図の表示位置を移動させた後、さらに位置O(基準画面ポインタ位置)から最も近い経路651上の位置(図31の例の場合、図31Aの位置Bとする)が、位置O(基準画面ポインタ位置)に表示されるように移動させた範囲652−2で示される位置(範囲)が求められる。
ステップS258において、経路ナビゲーションモジュール541は、画像データ更新情報を、スイッチャ124を介して、レンダラ125に出力する。その後、処理は図7のステップS4に進み、レンダラ125は、この画像データ更新情報に基づいて、図7のステップS7において、画像データを生成し、ステップS8において、表示部113に画像を表示させる。
なお、以上の処理により、例えば、地図の表示位置が、図31Aの範囲652−1で示される位置(範囲)から、図31Bの範囲652−2で示される位置(範囲)に移動された後、次に、ステップS256乃至S259の処理が実行されたとき、図31Bの位置Aから経路651の位置O(基準画面ポインタ位置)における接線655に下ろした垂線656の足を位置P2とすると、今度は、位置Oから位置P2へのベクトル(以下、ベクトルOP2と称する)の方向と大きさに基づいて、地図の表示位置が移動されるように画像データ更新情報が生成される。従って、地図の表示位置は、基準画面ポインタ位置における経路651の接線方向に(経路651に沿って)、連続して移動される。
ステップS252において、入力装置111により画面ポインタ位置が指定されていないと判定された場合、処理はステップS260に進む。
ステップS260において、経路ナビゲーションモジュール541は、処理実行中フラグをOFFにする。これにより、アクティブナビゲーションモジュールが、経路ナビゲーションモジュール541から他のナビゲーションモジュール141(この場合、ドラッグ方式ナビゲーションモジュール241)に変更されることが可能となる。
その後、処理は図7のステップS4に進む。すなわち、入力装置111により画面ポインタ位置が指定されていない場合、画像データ更新情報は生成されず、表示部113に表示されている画像は更新されない。
次に、地図表示装置501における図9のステップS33のアクティブナビゲーションモジュール候補選択処理について、さらに具体的に説明する。
地図表示装置501では、図11に示される画像位置方式によるアクティブナビゲーションモジュール候補選択処理が適用される。
ステップS61において、ナビゲーションモジュール選択部122は、画像表示制御部523が有する全てのナビゲーションモジュール141のアクティブ度をチェックしたか否かを判定する。いまの場合、どのナビゲーションモジュール141についてもアクティブ度はチェックされておらず、処理はステップS62に進む。
ステップS62において、ナビゲーションモジュール選択部122は、ナビゲーションモジュール141にポインタ情報と表示情報を供給して、アクティブ度を問い合わせる。
以下の説明では、ドラッグ方式ナビゲーションモジュール241、経路ナビゲーションモジュール541の順番で、ナビゲーションモジュール選択部122がアクティブ度を問い合わせるものとして説明する。
ステップS63において、ドラッグ方式ナビゲーションモジュール241は、ポインタ情報と表示情報に基づいて、入力装置111により指示された画面ポインタ位置に経路が表示されている場合(地図ポインタ位置が経路上の場合)、自己のアクティブ度をアクティブ度0に決定し、画面ポインタ位置に経路が表示されていない場合(地図ポインタ位置が経路上でない場合)、アクティブ度をアクティブ度1に決定する。
ステップS64において、ナビゲーションモジュール選択部122は、ドラッグ方式ナビゲーションモジュール241から、ステップS63の処理で決定されたアクティブ度を取得し、保存する。その後、処理はステップS61に戻る。
ステップS61において、まだ経路ナビゲーションモジュール541のアクティブ度がチェックされていないので、全てのナビゲーションモジュール141のアクティブ度がチェックされていないと判定され、処理はステップS62に進む。
ステップS62において、ナビゲーションモジュール選択部122は、経路ナビゲーションモジュール541にポインタ情報と表示情報を供給して、アクティブ度を問い合わせる。
ステップS63において、経路ナビゲーションモジュール541は、ポインタ情報と表示情報に基づいて、入力装置111により指示された地図ポインタ位置が経路上の場合、自己のアクティブ度をアクティブ度1に決定し、地図ポインタ位置が経路上でない場合、アクティブ度をアクティブ度0に決定する。
ステップS64において、経路ナビゲーションモジュール541は、ドラッグ方式ナビゲーションモジュール241から、ステップS63の処理で決定されたアクティブ度を取得し、保存する。その後、処理はステップS61に戻る。
ステップS61において、全てのナビゲーションモジュールのアクティブ度がチェックさたと判定され、処理はステップS65に進む。
ステップS65において、ナビゲーションモジュール選択部122は、ドラッグ方式ナビゲーションモジュール241と経路ナビゲーションモジュール541のアクティブ度を比較して、アクティブ度の数値が大きいほうを、アクティブナビゲーションモジュール候補に選択する。すなわち、入力装置111により指示された地図ポインタ位置が経路上の場合、経路ナビゲーションモジュール541がアクティブナビゲーションモジュール候補に選択され、地図ポインタ位置が経路上でない場合、ドラッグ方式ナビゲーションモジュール241がアクティブナビゲーションモジュール候補に選択される。
その後、処理は図9のステップS34に進み、選択されたアクティブナビゲーションモジュール候補であるナビゲーションモジュール141と、現在のアクティブナビゲーションモジュールであるナビゲーションモジュール141が異なる場合、ステップS35の処理で、アクティブナビゲーションモジュールがアクティブナビゲーションモジュール候補であるナビゲーションモジュール141に変更される。
なお、上述したように、アクティブナビゲーションモジュールであるナビゲーションモジュール141の処理実行中フラグがONとされている場合、図7のステップS5のアクティブナビゲーションモジュール変更処理は実行されないため、ドラッグ方式ナビゲーションモジュール241あるいは経路ナビゲーションモジュール541が処理中の場合、アクティブナビゲーションモジュールは変更されない。
このようにして、ユーザは、入力装置111が指示する地図ポインタ位置を変更することにより、ドラッグ方式による画像表示制御処理と経路方式による画像表示制御処理を切り替えることができる。
以上のようにして、入力装置111により指示された地図ポインタ位置に基づいて、ドラッグ方式による画像表示制御処理と経路方式による画像表示制御処が切り替えられる。
従って、ユーザは、地図を見たまま簡単にドラッグ方式と経路方式の画像表示制御処理を使い分けることができ、簡単かつ迅速に見たい範囲の地図を表示させることができる。
図32は、図28の地図表示装置501に、入力装置714をさらに設けた地図表示装置701を示している。図33および図34を参照して後述するように、地図表示装置701は、入力装置714が操作され、入力装置714から入力値が入力されたか否かによりアクティブナビゲーションモジュールを切り替える。
入力装置714は、2種類の異なる値を入力でき、例えば、ジョグダイヤルとされる。
以下、入力装置714によりプラスとマイナスの2種類の異なる値が入力されるものとする。入力部121において、所定の時間内に入力装置714からプラスの値とマイナスの値が入力された回数がそれぞれカウントされ、その回数が入力装置714の入力値としてナビゲーションモジュール選択部122とスイッチャ124に供給され、さらにスイッチャ124からアクティブナビゲーションモジュールであるナビゲーションモジュール141に供給される。
図32で構成が示される地図表示装置701によるナビゲーションの処理は、図7を参照して説明した処理と同様なので、その説明は省略する。
ドラッグ方式ナビゲーションモジュール241がアクティブナビゲーションモジュールとして選択されている場合の画像表示制御処理は、図13のフローチャートを参照して説明した処理と同様なので、その説明は省略する。
図33を参照して、地図表示装置701において、経路ナビゲーションモジュール541がアクティブナビゲーションモジュールとして選択されている場合の図7のステップS3の画像表示制御処理を説明する。
ステップS301において、経路ナビゲーションモジュール541は、地図表示装置701に経路が設定されているか否かを判定する。地図表示装置701に経路が設定されていると判定された場合、処理はステップS302に進む。
ステップS302において、経路ナビゲーションモジュール541は、ポインタ情報と、図7のステップS9または図9のステップS35の処理により取得した表示情報に基づいて、表示部113の画面の中心に経路が表示されているか否かを判定する。画面の中心に経路が表示されていないと判定された場合、すなわちまだ経路方式による画像表示制御処理が行われておらず、画面の中心に経路が表示されていないと判定された場合、処理はS306に進む。
ステップS306において、経路ナビゲーションモジュール541は、現在表示部113の画面の中心に表示されている地図の位置からいちばん近い経路上の位置が、画面の中心に表示される地図の表示位置を求める。経路ナビゲーションモジュール541は、求めた地図の表示位置に基づいて、画像データ更新情報を生成する。その後、処理はステップS305に進む。
ステップS305において、経路ナビゲーションモジュール541は、画像データ更新情報を、スイッチャ124を介して、レンダラ125に出力する。その後、処理は図7のステップS4に進み、レンダラ125は、この画像データ更新情報に基づいて、図7のステップS7において、画像データを生成し、ステップS8において、表示部113に画像を表示させる。これにより、表示部113の画面の中心に経路が表示される。
ステップS302において、画面の中心に経路が表示されていると判定された場合、処理はステップS303に進む。
ステップS303において、経路ナビゲーションモジュール541は、入力部121とスイッチャ124を介して、入力装置714から入力された入力値を取得する。具体的には、入力装置714によりプラスの値とマイナスの値が入力された回数が、経路ナビゲーションモジュール541に供給される。
ステップS304において、経路ナビゲーションモジュール541は、画像データ更新情報を生成する。経路ナビゲーションモジュール541は、ステップS303の処理で取得した入力値に基づいて、入力装置714によりプラスの値が入力された回数とマイナスの値が入力された回数の差を求める。経路ナビゲーションモジュール541は、表示部113の画面の中心に表示されている経路上の位置から、プラスの値が入力された回数が多い場合には、経路上を出発地から目的地の方向へ、マイナスの値が入力された回数が多い場合には、経路上を目的地から出発地の方向へ、プラスの値とマイナスの値が入力された回数の差に応じた移動量の大きさだけ移動した経路上の位置が表示部113の画面の中心に表示される地図の表示位置を求める。経路ナビゲーションモジュール541は、求めた地図の表示位置に基づいて、画像データ更新情報を生成する。
ステップS305において、経路ナビゲーションモジュール541は、画像データ更新情報を、スイッチャ124を介して、レンダラ125に出力する。その後、処理は図7のステップS4に進み、レンダラ125は、この画像データ更新情報に基づいて、図7のステップS7において、画像データを生成し、ステップS8において、表示部113に画像を表示させる。これにより、表示部113の画面の中心に表示されている経路上の位置が、入力装置714の入力値に基づいて、経路に沿って移動される。すなわち、入力装置714の入力値に基づいて、地図の表示位置が経路に沿って移動される。
ステップS301において、経路が設定されていないと判定された場合、ステップS302乃至S306の処理はスキップされ、何も処理は行われずに、処理は図7のステップS4に進む。
次に、図34を参照して、地図表示装置701による図7のステップS3およびS10におけるアクティブナビゲーションモジュール変更処理の詳細について説明する。
ステップS321において、ナビゲーションモジュール選択部122は、入力部121を介して、入力装置714から入力があったか否かを判定する。入力装置714から入力があったと判定された場合、処理はステップS322に進み、ナビゲーションモジュール選択部122は、経路ナビゲーションモジュール541をアクティブナビゲーションモジュール候補とする。その後、処理はステップS323に進む。
ステップS321において、入力装置714から入力がなかったと判定された場合、処理はステップS325に進み、ナビゲーションモジュール選択部122は、ドラッグ方式ナビゲーションモジュール241をアクティブナビゲーションモジュール候補とする。その後、処理はステップS323に進む。
ステップS323において、ナビゲーションモジュール選択部122は、現在のアクティブナビゲーションモジュールであるナビゲーションモジュール141とステップS322またはS325の処理で選択されたアクティブナビゲーションモジュール候補であるナビゲーションモジュール141が異なるか否かを判定する。現在のアクティブナビゲーションモジュールであるナビゲーションモジュール141とアクティブナビゲーションモジュール候補であるナビゲーションモジュール141が異なると判定された場合、処理はステップS324に進む。
ステップS324において、ナビゲーションモジュール選択部122は、アクティブナビゲーションモジュールを、現在のアクティブナビゲーションモジュールであるナビゲーションモジュール141からアクティブナビゲーションモジュール候補であるナビゲーションモジュール141に変更する。ナビゲーションモジュール選択部122は、アクティブナビゲーションモジュールの変更結果を、画像表示制御部123とスイッチャ124に伝達する。スイッチャ124は、入力部121を介して入力装置111より取得したポインタ情報と、レンダラ125より取得した表示情報を、選択されたアクティブナビゲーションモジュールであるナビゲーションモジュール141に供給する。その後、処理は図7のステップS2またはS6に進む。
ステップS323において、現在のアクティブナビゲーションモジュールであるナビゲーションモジュール141とアクティブナビゲーションモジュール候補であるナビゲーションモジュール141が同じであると判定された場合、ステップS324の処理はスキップされ、すなわち、アクティブナビゲーションモジュールは変更されずに、処理は図7のステップS2またはS6に進む。
なお、上述したように、アクティブナビゲーションモジュールであるナビゲーションモジュール141の処理実行中フラグがONとされている場合、図7のステップS5のアクティブナビゲーションモジュール変更処理は実行されないため、ドラッグ方式ナビゲーションモジュール241が処理中の場合、アクティブナビゲーションモジュールは変更されない。ただし、図30のフローチャートを参照して上述したように、地図表示装置701において、経路ナビゲーションモジュール541の処理実行中フラグは設定されず、OFFにされたままなので、入力装置714が操作されている(入力装置714から入力値が入力されている)とき以外、アクティブナビゲーションモジュールは、経路ナビゲーションモジュール541からドラッグ方式ナビゲーションモジュール241に変更されることが可能である。
以上のようにして、ユーザは、入力装置714を操作することにより、経路方式の画像表示制御処理を実行させることができ、入力装置714を操作しないときは、ドラッグ方式の画像表示制御処理を実行させることができる。従って、ユーザは、地図を見たまま簡単にドラッグ方式と経路方式の画像表示制御処理を使い分けることができ、簡単かつ迅速に見たい範囲の地図を表示させることができる。
このように、地図が表示されている画面の指示された位置を取得し、取得された画面の位置に基づいて、地図の画像の表示を制御する複数の表示制御プログラムの内の1つを選択し、選択手段により選択された表示制御プログラムによって、地図の画像の表示を制御するようにした場合には、ユーザが必要とする範囲の地図を含む画像を、簡単かつ迅速に表示することができる。
以上の地図表示装置においては、地図データ蓄積部126をデータ処理部に備える例を示したが、地図データ蓄積部126をデータ処理部に備えずに、外部から地図データを取得するようにしてもよい。
また、図22のランドマークナビゲーションモジュール241は、ランドマーク情報蓄積部454とランドマーク優先度情報蓄積部455を備えずに、外部からランドマーク情報、設定情報、および履歴情報を取得するようにしてもよい。
さらに、地図表示装置301、461、481、501、および701において、ドラッグ方式ナビゲーションモジュール241の代わりに、スクロール方式ナビゲーションモジュール242やその他のナビゲーションモジュール141を用いるようにしてもよい。
また、図6の画像表示制御部123は、ナビゲーションモジュール141を、必要に応じて、外部からネットワークなどを利用して動的に取得したり、更新したりするようにしてもよい。
なお、本発明は、携帯電話機、PDA(Personal Digital Assistance)、携帯型のパーソナルコンピュータ、ナビゲーションシステムなど、地図を表示可能な装置に適用できる。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
図35は、汎用のパーソナルコンピュータ800の内部の構成例を示す図である。CPU(Central Processing Unit)801は、ROM(Read Only Memory)802に記憶されているプログラム、または記憶部808からRAM(Random Access Memory)803にロードされたプログラムに従って各種の処理を実行する。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU801、ROM802、およびRAM803は、バス804を介して相互に接続されている。このバス804にはまた、入出力インターフェース805も接続されている。
入出力インターフェース805には、ボタン、スイッチ、キーボードあるいはマウスなどで構成される入力部806、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などのディスプレイ、並びにスピーカなどで構成される出力部807、ハードディスクなどで構成される記憶部808、およびモデムやターミナルアダプタなどで構成される通信部809が接続されている。通信部809は、インターネットを含むネットワークを介して通信処理を行う。
入出力インターフェース805にはまた、必要に応じてドライブ810が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどよりなるリムーバブルメディア811が適宜装着され、そこから読み出されたコンピュータプログラムが、記憶部808にインストールされる。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録する記録媒体は、図35に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini-Disc)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア811により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM803または記憶部808に含まれるハードディスクなどで構成される。
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表わすものである。