以下、地図表示装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
図1は、本実施の形態における地図表示装置1のブロック図である。
地図表示装置1は、地図情報格納部11、背景画像格納部12、現在位置情報取得部13、方位取得部14、場所識別情報取得部15、表示部16、操作受付部17を備える。
地図表示装置1は、地図を表示する装置である。地図表示装置1は、地図を表示するための専用の装置であっても良いし、地図を表示する機能を有する携帯電話や、スマートフォン、カメラ、携帯情報端末、コンピュータ等であっても良い。地図表示装置1は、いわゆる携帯型のナビゲーション装置であっても良い。地図を表示する機能を実現する手段は、例えば、上記の装置上で動作する個別のアプリケーション等として提供されていても良い。
地図情報格納部11には、地図情報が格納される。地図情報は、地図の情報である。地図情報は、通常、地図の画像である地図図柄情報を有している。地図図柄情報は、例えば、地図を構成するビットマップデータ(ラスタデータ)またはベクタデータ、またはこれらの組合せなどである。地図図柄情報のファイル形式は、GIF形式やJPEG形式や、PNG形式等問わない。地図情報は、ISOのkiwi地図データフォーマットであっても良い。地図情報は、地図上に表記されている地名や、建物や名勝や場所の名称などの文字列を有していても良い。
地図情報は、例えば、その地図情報が表示する領域の経度や緯度を有する座標情報等の、絶対的な位置を示す位置情報や、各地図情報間においてそれぞれの地図が示す領域間の位置関係が分かるような相対的な位置を示す位置情報を有している。例えば、地図情報が示す地図の地表上の実際の範囲や中心点を、緯度と経度との範囲で定義する位置情報を有していてもよい。また、例えば、地図情報が示す地図上の座標と、地図上のこの座標が示す地表上の実際の位置の緯度および経度の値とを対応付けて管理する位置情報を有していても良い。地図上の座標とは、地図図柄情報上の座標と考えてもよい。このような位置情報を用いることで、地図上の座標と、地表上(実空間)における座標(例えば、緯度及び経度)とを適宜変換することが可能となる。
また、地図情報は、当該地図情報により示される地図上の領域や地点等の場所を識別する情報(例えば、地名や、都道府県名や市町村名等)を有していても良い。この場所を識別する情報を、ここでは、場所識別情報と呼ぶ。また、地図情報は、当該地図情報により示される地図上の座標と、この座標が示す地点の住所とを対応付けて有する情報を有していても良い。
また、地図情報は、例えば、地図の縮尺と対応付けて管理されていてもよい。具体的には、地図情報は、当該地図情報により出力される地図の縮尺の値の情報を有している。また、地図情報は、縮尺ごとに用意されていても良い。また、地図情報や、一の領域についての縮尺が異なる複数の地図図柄情報を有していてもよい。ここでの地図の縮尺とは、地図の縮尺の値を示す情報と考えても良い。
また、地図情報は、道路情報を有していてもよい。道路情報は、地図が示す道路に関する情報である。また、地図情報は、いわゆるリンクデータやノードデータ等を有していても良い。また、地図情報は、その他の情報を有していても良い。
なお、ここでの格納とは、一時記憶も含む概念である。例えば、インターネット等のネットワークを介して外部のサーバ等から取得した地図情報を一時的に格納することも、ここでは格納と考える。かかることは他の格納部においても同様である。
なお、地図情報格納部11には、一の領域を、異なる高度から見た状態の複数の地図図柄情報を有する地図情報が格納されていても良い。
なお、地図情報格納部11に格納される地図情報は、例えば、予め図示しない記憶媒体等に蓄積されている、地図の画像を生成するための3Dのモデリングデータ等をレンダリングすることで生成された地図図柄情報を有する地図情報であっても良い。3Dモデリングデータは、例えば、予め図示しない記憶媒体等に格納されているようにすればよい。例えば、この地図図柄情報を生成するための3Dモデリングデータを、図示しない処理部等が、異なる高度の視点から見た状態でレンダリングすることで、上述したような異なる高度から見た地図図柄情報を有する地図情報を取得し、取得した地図情報を地図情報格納部11に蓄積してもよい。このレンダリングは、例えば、3Dモデリングデータを用いて得られる地図図柄情報が必要となったときに行われるようにしても良い。
地図情報格納部11は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、他の格納部についても同様である。
背景画像格納部12には、背景画像が1以上格納される。背景画像は、地図で示される領域の背景の画像である。背景画像は、例えば、地図が示す領域の周囲に見える背景(風景)の少なくとも一部を示す画像である。背景は、例えば、地図が示す領域の周囲の遠景を示す画像である。背景画像は、例えば、地図が示す領域に対応する地表上の実際の領域の周囲に見える背景(風景)を、写真や、絵やイラストレーション等で表した画像であってもよいし、地図が示す領域の実際の背景に基づいて取得された画像でなくてもよい。例えば、地図が示す領域の背景として想像したイメージを示す画像であってもよい。例えば、地図が示す領域のランドマークを、そのランドマークが位置する方位に示す画像等であっても良い。また、背景画像は、地図情報が示す複数の領域に共通して利用されるものであっても良い。例えば、複数の領域に対して、一の背景画像だけが用意されていてもよい。背景画像は、背景画像が、どの方位の背景を示すかを表すための、文字列や、画像を有していても良い。
背景画像は、例えば、地図が示す領域の周囲の360度をカバーする背景の画像であることが好ましいが、周囲の一部だけをカバーしていてもよい。一の領域の周囲を囲む背景画像は、一の背景画像で構成されていても良いし、複数の背景画像で構成されていても良い。例えば、方位ごとに用意された複数の背景画像で構成されていても良い。一の領域を囲む背景画像が複数の背景画像で構成されている場合、例えば、各方位ごとに、背景画像が用意されることとなる。一の領域を囲む背景画像が、一の背景画像で構成されている場合、その背景画像は、例えば、いわゆるパノラマ画像となっていることが好ましい。なお、一の領域の周囲を囲む背景画像が複数の背景画像で構成されている場合、この複数の背景画像を適宜つなぎ合わせれば、一の領域の周囲を囲む一の背景画像と同様の背景の画像を表示することが可能であるため、一の領域の周囲を囲む複数の背景画像を、一の領域の周囲を囲む一の背景画像に相当する一組の背景画像として扱っても良い。
背景画像格納部12には、地図情報を用いた地図で示される領域の背景の画像であって、方位識別子と対応付けられた背景画像が格納されていても良い。1以上の背景画像は、地図で示される複数の領域に対して、1対1で対応付けられていてもよいし、1対1で対応付けられていなくても良い。つまり、一の背景画像は、地図で示される複数の領域と対応付けられていても良い。方位識別子とは、方位を示す情報である。方位識別子は、例えば、東西南北等の方位や、方位の角度(例えば、方位角等)を示す情報や、これらを組みあわせた情報である。方位識別子は、東京方面、大阪方面等の特定の場所等を用いて方位を示す情報であっても良い。背景画像が方位識別子と対応付けられている、ということは、例えば、背景画像のどの部分が、どの方位識別情報が示す方位の画像であるかが結果的に指定されているということを意味する。例えば、背景画像の1以上の位置や部分(例えば、画像の一端や、画像の幅方向の中心)等が、一の方位識別子が示す方位に対応することが、この背景画像を利用する後述する表示部16等に対して指定されている場合も、背景画像が方位識別子と対応付けられていると考えても良い。例えば、背景画像が、一の領域の周囲の360度の背景を示す一の画像である場合において、例えば、この背景画像の予め指定された一点(例えば、右端)が、特定の方位識別子が示す方位、例えば「北」や、方位角「0」度という方位識別子が示す方位であることが予め指定してあれば、後述する表示部16は、この背景画像のどの部分が、どの方位の背景であるかを、背景画像の横方向の長さから算出することが可能となる。また、背景画像が、一の領域の周囲の360度の背景を示す一の画像であって、その幅が予め指定されている場合においては、予め、背景画像の1以上のx座標の値と、方位識別子とが対応付けられていても良い。この場合、更に、例えば、「x軸方向の10ピクセルが、方位の角度の15度に相当する」というような、x軸方向の長さと、方位の角度との関係が、予め指定されているようにしても良い。一の領域の背景を示す背景画像として、方位別に複数の背景画像が用意されている場合、複数の方位識別子と、各方位識別子が示す方位の各背景画像とが対応付けられて背景画像格納部12に格納されているようにしても良い。なお、背景画像として、周囲の360度以下の角度の背景を示す一の背景画像を用いるようにしても良い。この場合、背景画像を表示ことができる範囲が、360度以下の範囲に限定されるようにしても良い。
背景画像格納部12には、地図情報が示す地図に表示される領域と対応付けられて、背景画像が格納されていてもよい。例えば、地図が示す地域と、背景画像とが対応付けられていても良い。また、地図情報格納部11に格納されている地図情報と、背景画像とが対応付けて蓄積されていても良い。この場合、一の地図情報を用いて複数の地図が表示可能な場合、この地図情報を用いて表示される地図に対応する背景画像としては、この地図情報に対応付けられた背景画像が用いられるようにしても良い。が1以上の地図情報が示す複数の地図で表示される複数の領域に共通して一の背景画像が利用されるようにしても良い。例えば、地図で表示可能な複数の領域に対して、一の背景画像(あるいは、一の領域の周囲の背景画像が複数の背景画像で構成される場合は一組の背景画像)だけが対応付けて格納されていても良い。例えば、地図情報が示す地図で表示可能な全ての領域に、一の背景画像または一組の背景画像だけが対応付けられていてもよい。また、複数の地図情報と、一の背景画像とが対応付けられていても良い。
背景画像格納部12には、更に、背景画像が、上述したような場所識別情報と対応づけて格納されていても良い。場所識別情報は、地表上の領域または地点を示す情報である。場所識別情報は、例えば、都道府県名や、市町村名や、地域名等である。また、場所識別情報は、住所や郵便番号等の情報であっても良い。また、場所識別情報や、観光地名や、建物名等のランドマーク名であっても良い。また、場所識別情報は、領域や地点を、緯度と経度との組合せで示す情報であっても良い。
なお、背景画像格納部12に格納される背景画像は、例えば、予め図示しない記憶媒体等に予め蓄積されている、背景画像を生成するための3Dのモデリングデータ等を、図示しない処理部等がレンダリングすることで生成された背景画像であっても良い。このレンダリングは、例えば、3Dモデリングデータを用いて得られる背景画像が必要となったときに行われるようにしても良い。
背景画像格納部12は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
現在位置情報取得部13は、現在位置の情報(以下、現在位置情報と称す)を取得する。ここでの現在位置は、地図表示装置1の現在位置である。現在位置情報は、例えば、現在位置の緯度及び経度の情報である。例えば、現在位置情報取得部13は、GPS受信機と同様の処理を行うことで、現在位置の情報を取得する。また、無線LANや携帯電話の位置検出を行う処理等と同様の処理により現在位置の情報を取得しても良い。また、現在位置を示す情報は、図示しないジャイロや加速度センサ等を用いて取得してもよい。現在位置を示す情報を取得する構成等はナビゲーション装置の技術として公知である。なお、その他の処理によって、現在位置の情報を取得しても良い。現在位置情報取得部13は、例えばGPS受信機で実現可能である。また、無線LANや携帯電話の位置検出を行う処理部と同様の構成等により実現可能である。なお、現在位置情報は、現在位置の住所や地名等の情報であっても良い。
なお、ここでの取得は、キーボード等の入力デバイスや入力インターフェース等を介してユーザにより入力された現在位置情報の取得と考えても良い。また、ユーザにより入力される現在位置情報は、地図表示装置1の現在位置を示す情報でなくてもよく、ユーザ等が現在位置として指定する位置であっても良い。
方位取得部14は、現在の方位を示す方位識別子を取得する。現在の方位とは、例えば、地図表示装置1の現在の方位である。現在の方位とは、例えば、地図表示装置1の予め指定された部分(例えば上側の端部等)が示す方位である。例えば、地図表示装置1が携帯型のデバイスであれば、ユーザが、地図表示装置1を手で持った場合や、車内のフォルダ等を用いて保持した場合の、モニタ(図示せず)の下部から上部に向かう方向や、地図表示装置1の背面側等が指し示す方位である。また、現在の方位とは、例えば、地図表示装置1を利用するユーザの向きが示す方位であると解釈してもよい。具体的には、ユーザの正面が対向している向きと解釈しても良い。なお、現在の方位を示す方位識別子は、ユーザが現在の方位を示す方位識別子として入力した方位識別子であっても良い。方位取得部14は、例えば、地磁気センサ等を用いて、地図表示装置1の現在の方位を検出しても良い。地磁気センサ等を用いて、方位を検出する構成や処理は、電子地図や電子コンパス等において公知の技術である。現在位置情報取得部13が取得する地図表示装置1の現在位置の移動の軌跡を利用して、地図表示装置1の移動方向を予測しても良い。
方位取得部14は、例えば、地磁気センサや、MPUやメモリ等から実現され得る。方位取得部14の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、ここでの取得は、ユーザにより入力された方位の取得と考えても良い。
場所識別情報取得部15は、現在位置情報取得部13が取得した現在位置に対応する1以上の場所識別情報を取得する。例えば、現在位置情報取得部13が取得した現在位置情報と、場所識別情報とがともに、地表上の領域や位置についての座標を示す情報、あるいは、都道府県名や、市町村名、地域名、住所、郵便番号、観光地名や建物名等のランドマーク名である場合、現在位置情報取得部13が取得した現在位置情報を、場所識別情報として取得する。また、例えば、現在位置情報取得部13が取得した現在位置情報が、緯度及び経度で示される座標の情報であって、場所識別情報が、都道府県名や、住所や、ランドマーク名である場合、現在位置情報取得部13が取得した現在位置情報である座標の情報を用いて、いわゆる逆ジオコーディング等の技術によって、都道府県名等の場所識別情報を取得する。また、例えば、現在位置情報取得部13が取得した現在位置情報が、都道府県名や、住所や、ランドマーク名であり、場所識別情報が、緯度及び経度で示される座標の情報である場合、現在位置情報取得部13が取得した現在位置情報である都道府県名等の場所識別情報を用いて、いわゆるジオコーディング等の技術によって、緯度および経度で示される場所識別情報を取得する。なお、ジオコーディングや、逆ジオコーディング等の技術は公知の技術であるので、ここでは、説明を省略する。逆ジオコーディングについては、以下のURLを参考にされたい(http://code.google.com/intl/ja/apis/maps/documentation/javascript/v2/services.html#ReverseGeocoding)。ジオコーディング等を行うための緯度及び経度と、地名等を対応付けた辞書の情報等は、図示しない記憶媒体に予め蓄積しておいても良い。また、図示しない通信手段等を用いて、インターネット等を介して、ジオコーディング等の処理を提供するサーバ装置等に現在位置情報を送信して、この現在位置情報に対応する場所識別情報を取得しても良い。なお、ジオコーディングや逆ジオコーディングの技術の代わりに同等の技術を用いても良い。なお、領域を示す座標とは、例えば、領域の境界線を定義する複数の座標や、多角形の領域の頂点の座標等である。
表示部16は、複数の表示領域の少なくとも1以上に、地図情報が示す地図を表示する。表示領域とは、例えば、コンテンツが表示される領域である。コンテンツは、例えば、静止画像や動画像等の画像や、地図である。複数の表示領域とは、例えば、視覚的に一体をなす表示領域である。視覚的に一体をなす表示領域とは、視覚的に一体をなすコンテンツが表示される領域と考えても良い。視覚的に一体をなすコンテンツとは、1以上の地図と、その地図に関連するコンテンツである。つまり、複数の表示領域とは、例えば、地図が表示される一以上の表示領域と、この地図に関連した1以上のコンテンツ(例えば画像)とが表示される1以上の表示領域であってもよい。地図に関連したコンテンツとは、例えば、地図に関連した画像である。地図に関連したコンテンツは、例えば、地図が示す領域に対応した背景画像である。また、地図に関連したコンテンツは、地図の表示領域に表示される地図が示す範囲に連続した範囲(言い換えれば延長上の範囲)の地図であっても良い。視覚的に一体をなすコンテンツは、例えば、一の地図を複数に分割した各地図同士であっても良い。ここでの表示領域とは、例えば、表示部16が表示する一の表示画面内における複数の表示領域である。表示領域は、表示部16が表示する表示画面を複数に分割した領域であっても良い。また、表示領域は、複数のウィンドウ等であっても良い。
本実施の形態においては、特に、表示部16が、地図情報格納部11に格納されている地図情報が示す地図を一の表示領域に表示し、かつ背景画像格納部12に格納されている背景画像を一の表示領域に表示する場合を例に挙げて説明する。ここでは、地図情報が示す地図が表示される表示領域を地図表示領域と呼ぶ。また、背景画像が表示される表示領域を背景表示領域と呼ぶ。ただし、地図表示領域および背景表示領域は、それぞれ複数であっても良い。
表示部16は、現在位置情報取得部13が取得した現在位置情報が示す領域の地図を地図表示領域に表示する。表示部16は、例えば、現在位置情報が示す現在位置を予め指定されている位置とした地図図柄情報を地図情報から取得する。例えば、現在位置情報が示す現在位置を中心とした地図図柄情報を地図情報から取得する。そして、取得した地図図柄情報が示す地図を地図表示領域に表示する。表示部16は、例えば、取得した地図図柄情報を用いて現在位置情報が示す現在位置(座標)が、地図表示領域の予め指定されている位置(例えば、中心や、中心から下側にずらした位置)に示される地図を、地図表示領域に表示する。かかることは以下においても同様である。表示部16は、例えば、地図図柄情報から表示の対象となる領域の地図の画像を取得して、この地図の画像を地図表示領域に表示しても良い。また、表示部16は、例えば、取得した地図図柄情報を、図示しない記憶媒体等に予め用意された平面や曲面形状等の3Dモデリングデータにマッピングし、これをレンダリングすることで、地図図柄情報から表示用の地図の画像を取得しても良い。また、表示部16は、パースペクティブが表現されるように変形した地図を表示しても良い。例えば、地図の表示のために読み出した地図図柄情報を、方位取得部14が取得した方位に向かうにつれて、幅が順次縮小されるように変形して、変形した地図図柄情報を用いて地図を表示しても良い。地図情報に異なる縮尺の地図情報が含まれる場合には、ユーザにより指定された縮尺や、デフォルトで指定されている縮尺の地図図柄情報を用いて地図を表示するようにしてもよい。また、縮尺に応じて、地図図柄情報を拡大縮小した地図の画像を取得して表示しても良い。なお、現在位置の地図を表示する技術はナビゲーション装置等の技術として公知である。
表示部16は、更に、地図表示領域に表示される地図の、方位取得部14が取得した方位が、地図表示領域内の予め指定された方向(例えば上方向等)を向くように、地図表示領域に地図を表示する。例えば、方位取得部14が取得した地図表示装置1の現在の方位が「北北西」であったとすると、現在位置情報が示す現在位置を中心とした地図を、この地図の「北北西」が上方向を向くように地図を地図表示領域に表示する。
表示部16は、更に、背景表示領域に背景画像を表示する。例えば、予め指定されている、あるいは予め指定されているルールによって指定される背景画像を、背景画像格納部12から読み出し、読み出した背景画像を背景表示領域に表示する。予め指定されているルールとは、例えば、現在位置に対応した背景画像を取得するというルールや、現在時刻に応じた背景画像を取得するというルールや、ランダムに背景画像を取得するルールである。現在時刻に応じた背景画像を取得するためには、例えば、背景画像に、時間帯の情報を対応付けて背景画像格納部12に格納しておくようにして、時計等から取得した現在時刻が含まれる時間帯に対応した背景画像を取得すればよい。
背景画像が、地図が示す領域の周囲の背景を示す一の画像である場合、表示部16は、例えば、この背景画像の一部を背景表示領域に表示する。背景画像の一部は、例えば、上述した地図表示領域に表示される地図が示す領域において、方位取得部14が取得した方位をユーザが向いた場合に見えると考えられる背景の画像である。背景画像格納部12に格納されている背景画像が、方位識別子と対応付けられている場合、表示部16は、方位取得部14が取得した方位識別子と対応付けられた背景画像を背景表示領域に表示してもよい。例えば、表示部16は、方位取得部14が取得した方位識別子と一致する方位識別子と対応付けられた背景画像を背景表示領域に表示してもよい。ここでの一致は完全一致でなくても良く、部分一致等であってもよい。また、方位識別子が方位の角度等である場合、方位取得部14が取得した方位識別子が示す角度との差が予め指定された範囲内である角度を示す方位識別子を、一致する方位識別子と考えても良い。あるいは、有効数字等が一致する角度を示す方位識別子同士を一致すると判断しても良い。方位取得部14が取得した方位識別子と対応付けられた背景画像を表示するということは、方位取得部14が取得した背景画像のうちの、方位取得部14が取得した方位識別子と対応付けられた位置を含む部分を少なくとも表示することであっても良い。
表示部16は、例えば、背景画像が、地図が示す領域等の領域の周囲の背景を示す一の画像であり、その一点が一の方位識別子と対応付けられている場合、この背景画像を、現在位置を中心とした円筒形上の画像であると考えることにより、背景画像の方位識別子と対応付けられた一点と、背景画像の幅とを用いて、方位取得部14が取得した方位が、背景画像のどの位置であるかを判断する。そして、背景画像の方位取得部14が取得した方位に対応する位置を中心とした一点を背景表示領域に表示する。また、一の領域の周囲の背景画像として、複数の背景画像が、方位別に用意されている場合、方位取得部14が取得した方位に対応する背景画像を読み出して表示しても良い。
また、背景画像格納部12に、背景画像が、場所識別情報と対応づけて格納されている場合、表示部16は、場所識別情報取得部15が取得した場所識別情報に対応する背景画像を、上記のように背景表示領域に表示するようにしても良い。例えば、表示部16は、場所識別情報取得部15が取得した場所識別情報に対応する背景画像として、場所識別情報取得部15が取得した場所識別情報と対応する場所識別情報と対応付けられた背景画像を検出し、背景表示領域に表示する。ここでの場所識別情報と対応する場所識別情報とは、例えば、場所識別情報と一致する場所識別情報である。ここでの一致とは、部分一定であっても良いし完全一致であっても良い。例えば、場所識別情報取得部15が取得した場所識別情報が「神戸市北区」で、背景画像格納部12に「神戸」という場所識別情報と対応付けられた背景画像が格納されていた場合、「神戸」が「神戸市北区」に部分一致するため、この「神戸」と対応付けられた背景画像を表示してもよい。ここでの背景画像の表示は、背景画像の一部のみの表示であっても良い。
また、表示部16は、背景表示領域に、場所識別情報取得部15が取得した場所識別情報に対応する背景画像であって、方位取得部が取得した方位識別子と対応付けられた背景画像を表示するようにしてもよい。
なお、本実施の形態においては、表示部16は、後述する操作受付部17が操作を受け付けた表示領域ごとに、操作受付部17が受け付けた同一の操作に対して、異なる挙動となるよう表示内容を変更する。ここでの同一の操作とは、予め指定された1以上の同一の操作である。ここでの操作を受け付けた表示領域とは、例えば、地図が表示される表示領域、およびこの地図に関連するコンテンツ(例えば、背景画像等の画像)が表示される表示領域としてもよい。この実施の形態においては、例えば、操作受付部17が予め指定された同一の操作を受け付けた表示領域が、地図表示領域である場合と、背景表示領域である場合とで異なる挙動となるよう表示内容を変更する。挙動とは、表示内容の態様の変化、表示内容の変更の仕方、あるいは表示内容の動作等と考えても良い。あるいは、表示内容が変化しないことも挙動の一つと考えても良い。なお、どのような操作によってどのように表示内容を変更するかについては後述する。
表示部16は、ディスプレイデバイスを含むと考えても含まないと考えても良い。表示部16は、ディスプレイデバイスのドライバーソフトまたは、ディスプレイデバイスのドライバーソフトとディスプレイデバイス等で実現され得る。また、表示部16は、GPUやメモリ等を有していてもよい。かかることは、他の表示部においても同様である。
操作受付部17は、表示部16が表示する各表示領域に対する操作をそれぞれ受け付ける。操作受付部17は、例えば、マウスや、キーボードや、タッチパネル等の入力手段を介して、操作を受け付ける。表示部16が受け付ける操作は、例えば、表示領域上をクリックあるいはタップする動作や、表示領域上をドラッグする操作や、表示領域をフリックする操作(表示領域の指示点をはらう操作)や、表示領域の2点の指示点を移動させる操作である。表示領域の2点の指示点を移動させる操作とは、例えば、一の表示領域の2点の指示点を略同一直線上の互いに異なる方向に移動させる操作、もしくは、いわゆるピンチする操作である。また、操作受付部17は、表示領域に対する操作以外の、地図表示装置に対する操作を受け付けても良い。
操作受付部17は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
ここで、操作受付部17が操作を受け付けた表示領域が、地図表示領域である場合と、背景表示領域である場合とで、表示部16が、どのような異なる挙動となるよう表示内容を変更するかについて例を挙げて説明する。
(1)表示領域に対して右または左にドラッグする操作を受け付けた場合
表示部16は、操作受付部17が、地図表示領域に表示されている地図上を右または左にドラッグする操作を受け付けた場合に、地図表示領域に表示されている地図を、ドラッグされた方向に移動させた地図を表示する。一方、操作受付部17が、背景表示領域に表示されている背景画像を右または左にドラッグする操作を受け付けた場合に、表示部16は、地図表示領域に表示されている地図を右または左方向に回転させる。なお、更に、背景表示領域に表示されている背景画像をドラッグした方向に移動させるようにしてもよい。このようにすることで、ユーザに地図の向きが変更されたことを知らせることが可能となる。なお、地図を移動させる際には、表示部16が、移動過程の地図も順次表示することで、連続的に移動しているような地図を表示しても良い。かかることは、以下の、地図を回転させたり、拡大させたり、地図の視点の高さを変更する処理等においても同様である。
地図表示領域に表示されている地図を、ドラッグされた左右方向に移動させた地図を表示する技術は、公知の技術であるのでここでは詳細な説明を省略する。なお、左右方向に移動させる操作は、操作対象を左右にスクロールさせる操作と考えても良い。
操作受付部17が背景表示領域に表示されている背景画像を右または左にドラッグする操作を受け付けた場合、表示部16は、例えば、背景画像をドラッグされた距離や、ドラッグされた距離とドラッグされる速度(あるいは加速度)に応じた距離、もしくは、これらに対応する距離だけドラッグした方向に移動させた背景画像を背景表示領域に表示する。このようなドラッグした背景画像を表示する処理は、上記の地図を移動させて表示する処理と同様の処理である。さらに、表示部16は、背景表示領域に表示されている背景画像を右または左にドラッグする操作を受け付けた場合、地図表示領域に表示されている地図を右または左方向に回転させる。この回転方向は、例えば、ドラッグ方向(例えば、ドラッグ方向が右方向であれば、回転方向は右回り)である。ここでの回転とは地図の向きを変えることである。例えば、地図の北側がモニタの上方を向くよう表示されていた場合において、回転が行われた場合、地図の北側以外の方位がモニタの上方以外の方向を向くように回転の角度に応じて地図を回転させる。表示部16は、ドラッグされた距離と方向とを操作受付部17から取得し、この距離に相当する方位の角度を算出する。例えば、背景画像が、地図表示領域に表示されている地図が示す領域の周囲の360度の背景を示す一の画像である場合である場合、予め、背景画像のドラッグにより移動する距離と、方位が変化する角度との対応関係を、予め算出したり、予め指定しておくようにすることで、背景画像のドラッグによる移動距離と、この距離に相当する方位の角度(方位が変化する角度)を算出することができる。例えば、背景画像の幅が1800ピクセルである場合、背景画像の1ピクセルに相当する方位の角度は、360度÷1800となる。そして、ドラッグにより移動した距離が100ピクセルであったとすると、この距離に相当する角度は、360度÷1800×100=20度となる。表示部16は、このようにして算出した方位の角度の値を、地図表示領域に表示されている地図の回転角度として、地図表示領域に表示されている地図を、背景画像がドラッグされた方向に回転させた地図を表示する。例えば、地図表示領域の中心を、回転の中心として回転させた地図を地図表示領域に表示する。なお、上記以外の別の処理により、背景画像のドラッグに応じて、どのように地図の回転する角度を決定しても良い。例えば、背景画像の複数のx座標に、複数の方位識別子が対応付けられており、背景画像をドラッグした場合、この方位識別子のいずれかが背景画像領域の中心に位置するようにのみ、背景画像の表示される部分が変更されるようにして、背景画像の移動前と移動後の背景画像領域の中心に位置する方位識別子の変化に応じた回転角度を取得しても良い。例えば、予め、「北」の方位の角度を0度、「東」の方位の角度を45度、というように、方位識別子と、方位の角度とを対応付けた情報を用意しておくようにし、移動前の背景画像領域の中心の方位識別子が「北」で、移動後の中心の方位識別子が「東」であったとすると、方位識別子と、方位の角度とを対応付けた情報から、回転角度として、45度−0度=45度を取得しても良い。
(2)表示領域に対して上または下にドラッグする操作を受け付けた場合
表示部16は、操作受付部17が、地図表示領域に表示されている地図上を上または下にドラッグする操作を受け付けた場合に、地図表示領域に表示されている地図を、ドラッグされた方向に移動させた地図を表示する。一方、操作受付部17が、背景表示領域に表示されている背景画像を上または下にドラッグする操作を受け付けた場合に、表示部16は、地図表示領域に表示されている地図の視点の高さを上または下に移動させた地図を表示する。この場合、例えば、背景画像の表示は変化させなくてよい。
地図表示領域に表示されている地図を、ドラッグされた上下方向に移動させた地図を表示する技術は、公知の技術であるのでここでは詳細な説明を省略する。なお、上下方向に移動させる操作は、操作対象を上下にスクロールさせる操作と考えても良い。
表示部16は、例えば、操作受付部17が、背景表示領域に表示されている背景画像を上にドラッグする操作を受け付けた場合に、地図表示領域に表示されている地図を、この地図と同じ位置を示す地図であって、視点を高くした地図に切り替えて表示する。また、例えば、操作受付部17が、背景表示領域に表示されている背景画像を下にドラッグする操作を受け付けた場合に、地図表示領域に表示されている地図を、この地図と同じ位置を示す地図であって、視点を低くした地図に切り替えて表示する。例えば、表示部16が、図示しない記憶媒体等に予め用意された仮想3D空間の平面や曲面のモデリングデータの表面にマッピングした地図図柄情報をレンダリングして得られた地図を地図表示領域に表示するようにし、背景表示領域に対して、上または下にドラッグする操作を受け付けた場合に、上記のレンダリングの際の視点の高さを、上または下に移動させるようにしても良い。なお、視点を変更して3Dモデリングソフトのレンダリングを行う技術は、3Dソフトウェア等の技術として公知の技術である。この高さ方向の移動距離は、ドラッグされる距離に対応したものであっても良い。また、デフォルトの高さと、上方向にドラッグされた場合の高さと、下方向にドラッグされた場合の高さとを、予め指定しておくようにし、背景表示領域に対する操作に応じてレンダリングに利用する高さを選択しても良い。また、例えば、地図表示領域にデフォルトで表示される地図が、パースペクティブが表現されるよう変形された地図である場合において、背景表示領域を上方向にドラッグした場合、地図表示領域に表示される地図をパースペクティブのない地図(変形のない地図)に変更しても良い。なお、どのように、視点を変えた地図を表示するようにしても良い。
(3)表示領域の一点を押下する操作を受け付けた場合
表示部16は、操作受付部17が、地図表示領域に表示されている地図上の一点を押下する操作を受け付けた場合に、地図の押下された位置をセンタリングした地図を表示する。一方、操作受付部17が、背景表示領域に表示されている背景画像上の一点を押下する操作を受け付けた場合に、表示部16は、地図表示領域に表示されている地図の次の範囲の地図を地図表示領域に表示する。一点を押下する操作は、例えば、一点をクリックしたりタップしたりする操作である。なお、一点を押下する操作は、ダブルクリック等の、一点を複数回押下する操作であってもよい。一点を押下する操作は、一点を、予め指定された時間以上押下する操作であっても良い。
地図表示領域に表示されている地図を、押下された位置がセンタリングされるよう移動させた地図を表示する技術は、公知の技術であるのでここでは詳細な説明を省略する。
背景表示領域に表示されている背景画像上の一点を押下する操作を受け付けた場合に表示部16が表示する次の範囲の地図とは、例えば、地図表示領域に表示されている地図が示している範囲を、背景画像が示す方位、または、方位取得部14が取得した方位識別子が示す方位に向かって移動させた地図である。次の範囲の地図は、例えば、方位識別子が示す方位の延長上の範囲を少なくとも含む範囲を表した地図である。ここでの範囲は、表示範囲や、表示領域等と考えても良い。次の範囲の地図は、例えば、地図表示領域の地図の移動方向の長さや、地図表示領域の中心と地図表示領域の地図の移動方向に位置する辺との間の長さ、あるいは、これらの長さよりも予め指定された長さ分短い長さだけ、方位取得部14が取得した方位に表示範囲を移動させた地図である。
なお、ここでは、地図の押下された位置をセンタリングするようにしたが、地図表示領域に表示される地図が、現在位置が地図表示領域内の予め指定された位置となるような地図である場合、現在位置情報が示している位置から予め指定された距離だけ下方向にある位置が、地図表示領域の予め指定された位置になるような地図の画像を取得すればよい。ここでの予め指定された位置は、例えば、中心から上下方向に予め指定された距離だけ移動した位置である。ここでの予め指定された位置は、中心を含むと考えても良い。
(4)表示領域上の2点の指示点を移動させる操作を受け付けた場合
表示部16は、操作受付部17が、地図表示領域に表示されている地図上の2点の指示点を移動させる操作を受け付けた場合に、地図を拡大または縮小する表示を行う。一方、操作受付部17が、背景表示領域に表示されている地図上の2点の指示点を移動させる操作を受け付けた場合、表示部16は、複数の表示領域(ここでは、地図表示領域および背景表示領域)の表示を変更しない。
ここでの、表示領域の2点の指示点を移動させる操作とは、例えば、一の表示領域の2点の指示点を互いに異なる方向に移動させる操作である。例えば、2点の指示点間の距離を広げる(離す)操作または距離を狭める(近づける)操作である。表示領域の2点の指示点を移動させる操作とは、いわゆるピンチと呼ばれる操作と考えても良い。この操作は、2点の指示点の距離が離れるよう移動させる操作、あるいは近づくよう移動させる操作と考えても良い。なお、指示点とは、例えば、表示領域におけるカーソル等(タッチパネルの場合は指先等)で指示されている点である。
表示部16は、地図表示領域に表示されている地図上の2点の指示点を、両者間の距離が離れるように移動させる操作を受け付けた場合に、地図表示領域に表示されている地図を拡大した地図を表示する。また、表示部16は、地図表示領域に表示されている地図上の2点の指示点を、両者間の距離が近づくように移動させる操作を受け付けた場合に、地図表示領域に表示されている地図を縮小した地図を表示する。拡大あるいは縮小した地図を表示するということは、最初に表示されている地図の地図図柄画像を、拡大あるいは縮小した地図を表示することであっても良いし、拡大あるいは縮小する代わりに、縮尺の異なる地図を表示することであってもよい。例えば、拡大した地図を表示する際には、縮尺の小さい地図を表示するようにしても良い。また、縮小した地図を表示する際には、縮尺の大きな地図を表示するようにしても良い。拡大または縮小を行う際には、2点の指示点に挟まれた領域を中心として拡大または縮小した地図を表示しても良いし、最初に表示されている地図の中心を、拡大または縮小の中心として、拡大または縮小した地図を表示しても良い。表示部16は、2点の指示点間の距離の変化量に応じて、地図の拡大率または縮小率を決定しても良いし、2点の指示点間の距離の変化量に関係なく、予め指定された拡大率や縮小率を用いても良い。距離の変化量に応じて、拡大率または縮小率を決定するということは、距離の変化量に応じた縮尺の地図を表示することを決定することと考えても良い。
次に、地図表示装置1の動作について図2のフローチャートを用いて説明する。
(ステップS201)地図表示装置1の操作受付部17等は、地図の表示を行う指示を受け付けたか否かを判断する。例えば、地図表示装置1の起動時に、表示を行う指示を受け付けるようにしても良い。受け付けた場合、ステップS202に進み、受け付けていない場合、ステップS201に進む。
(ステップS202)現在位置情報取得部13は、現在位置情報を取得したか否かを判断する。取得した場合、ステップS203に進み、取得していない場合、ステップS208に進む。
(ステップS203)方位取得部14は、方位識別子を取得したか否かを判断する。取得した場合、ステップS204に進み、取得していない場合、ステップS203に進む。
(ステップS204)表示部16は、ステップS202およびステップS203で取得した現在位置情報および方位識別子の両方が、直前に取得した現在位置情報および方位識別子と一致するか否かを判断する。一致するということは、例えば、地図表示装置1の位置や向きが変化しておらず、現在位置情報および方位識別子が変化していないことを意味する。一致する場合、ステップS209に進み、いずれか一つでも一致しない場合、ステップS205に進む。なお、直前に取得した現在位置情報及び方位識別子がない場合も、一致する現在位置情報および方位識別子がないと判断して、ステップS205に進む。
(ステップS205)表示部16は、ステップS202で取得した現在位置情報が示す位置を含む領域の地図であって、ステップS203で取得した方位識別子が示す方向を向いた地図を、地図表示領域に表示する。例えば、ステップS203で取得した方位識別子が示す方向が、地図表示装置1のモニタ(図示せず)の上方を向くように配置した地図を表示する。
(ステップS206)場所識別情報取得部15は、ステップS202で取得した現在位置情報に対応する場所識別情報を取得する。
(ステップS207)表示部16は、場所識別情報に対応する背景画像であって、ステップS202で取得した方位識別子が示す方位の背景画像を背景表示領域に表示する。そして、ステップS209に進む。
(ステップS208)表示部16は、地図表示領域と背景表示領域とに、それぞれ地図と背景画像とが表示されているか否かを判断する。表示されている場合、ステップS209に進み、表示されていない場合、ステップS202に戻る。
(ステップS209)表示部16は、操作受付部17が、地図表示領域に対する操作を受け付けたか否かを判断する。受け付けた場合、ステップS210に進み、受け付けていない場合、ステップS213に進む。
(ステップS210)表示部16は、地図表示領域に表示される地図を、ステップS209で操作受付部17が受け付けた操作に応じて変更する。例えば、地図表示領域に表示されている地図上を右または左にドラッグする操作を受け付けた場合に、地図表示領域に表示されている地図を、ドラッグされた方向に移動させた地図を表示する。また、地図表示領域に表示されている地図上を上または下にドラッグする操作を受け付けた場合に、地図表示領域に表示されている地図を、ドラッグされた方向に移動させた地図を表示する。また、地図表示領域に表示されている地図上の一点を押下する操作を受け付けた場合に、地図の押下された位置をセンタリングした地図を表示する。また、地図表示領域に表示されている地図上の2点の指示点を移動させる操作を受け付けた場合に、地図を拡大または縮小して表示する。
(ステップS211)表示部16は、ステップS210で変更された地図の表示を終了するか否かを判断する。例えば、操作受付部17等が、変更された地図の表示を終了する操作を受け付けた場合に表示を終了することを判断する。また、予め指定された時間が経過した時点で表示を終了することを判断しても良い。終了すると判断した場合、ステップS202に戻り、終了すると判断しなかった場合、ステップS212に進む。
(ステップS212)操作受付部17は、地図表示領域に対する新たな操作を受け付けたか否かを判断する。受け付けた場合、ステップS210に戻り、受け付けていない場合、ステップS211に戻る。
(ステップS213)操作受付部17は、背景表示領域に対する操作を受け付けたか否かを判断する。受け付けた場合、ステップS214に進み、受け付けていない場合、ステップS202に戻る。
(ステップS214)表示部16は、ステップS213で受け付けた操作に応じて地図表示領域または背景表示領域の少なくとも一方表示領域の表示されている表示内容を変更する操作を行う。なお、この操作の詳細については後述する。そして、ステップS202に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、地図表示装置1の、背景表示領域に対する操作に応じて、表示領域の表示を変更する動作について図3のフローチャートを用いて説明する。この動作は、図2のフローチャートのステップS214の動作に相当するものである。
(ステップS301)表示部16は、操作受付部17が受け付けた操作が、背景表示領域上を左右にドラッグする操作であるか否かを判断する。左右にドラッグする操作である場合、ステップS302に進み、左右にドラッグする操作でない場合、ステップS309に進む。
(ステップS302)表示部16は、ドラッグ方向(右または左)を取得する。
(ステップS303)表示部16は、ドラッグの移動距離を取得する。
(ステップS304)表示部16は、ステップS303で取得した移動距離を用いて、ドラッグ後の背景画像が示す方位の変化する角度を取得する。
(ステップS305)表示部16は、ステップS302で取得した方向に、ステップS304で取得した角度で回転させた地図を地図表示領域に表示する。
(ステップS306)表示部16は、背景表示領域に表示されている背景画像を、ドラッグされた方向に、ドラッグされた距離だけ移動させた背景画像を、背景表示領域に表示する。
(ステップS307)操作受付部17は、背景表示領域に対する新たな操作を受け付けたか否かを判断する。受け付けた場合、ステップS301に進み、受け付けていない場合、ステップS308に進む。
(ステップS308)表示部16は、背景表示領域に表示されている変更された背景画像の表示を終了するか否かを判断する。例えば、操作受付部17等が、変更された背景画像の表示を終了する操作を受け付けた場合に表示を終了することを判断する。また、予め指定された時間が経過した時点で表示を終了することを判断しても良い。終了すると判断した場合、上位の処理にリターンし、終了すると判断しなかった場合、ステップS307に進む。
(ステップS309)表示部16は、操作受付部17が受け付けた操作が、背景表示領域上を上方向にドラッグする操作であるか否かを判断する。上方向にドラッグする操作である場合、ステップS310に進み、上方向にドラッグする操作でない場合、ステップS311に進む。
(ステップS310)表示部16は、地図表示領域に、現在の地図よりも視点の高い位置から見た地図を表示する。そして、ステップS307に進む。なお、現在表示されている地図よりも高い視点の地図が表示できない場合、表示を変更しなくても良い。
(ステップS311)表示部16は、操作受付部17が受け付けた操作が、背景表示領域上を下方向にドラッグする操作であるか否かを判断する。下方向にドラッグする操作である場合、ステップS312に進み、下方向にドラッグする操作でない場合、ステップS313に進む。
(ステップS312)表示部16は、地図表示領域に、現在の地図よりも視点の低い位置から見た地図を表示する。そして、ステップS307に進む。なお、現在表示されている地図よりも低い視点が表示できない場合、表示を変更しなくても良い。
(ステップS313)表示部16は、操作受付部17が受け付けた操作が、背景表示領域上の2点の指示点を移動する操作であるか否かを判断する。2点の指示点を移動する操作である場合、上位の処理にリターンし、2点の指示点を移動する操作でない場合、ステップS314に進む。
(ステップS314)表示部16は、操作受付部17が受け付けた操作が、背景表示領域上の一点を押下する操作(例えば、クリックあるはタップする操作)であるか否かを判断する。一点を押下する操作である場合、ステップS315に進み、一点を押下する操作でない場合、上位の処理にリターンする。なお、表示部16は、背景表示領域上の一点を予め指定された時間以上(例えば一秒以上)押下されたか否かを判断するようにしても良い。
(ステップS315)表示部16は、地図表示領域に、現在表示されている領域の次の範囲の地図を表示する。次の範囲とは、例えば、ステップS203で取得した方位識別子が示す方位における次の範囲である。次の範囲は、現在の範囲と重複する部分を有していても良い。そして、ステップS307に進む。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における地図表示装置1の具体的な動作について説明する。地図表示装置1の概念図は図4である。なお、ここでは、一例として、地図表示装置1は、携帯用の地図表示装置であるとする。この地図表示装置1は、表示デバイスとしてモニタ18を有しており、タッチパネルを備えており、いわゆるスマートフォンを兼用しているものであるとする。
図5は、地図情報格納部11に格納されている地図情報を管理するための地図管理情報である。地図管理情報は、「地図ID」、「地図図柄情報」、「緯度」、および「経度」等の項目を有している。「地図ID」は地図情報を管理する識別情報である。「地図図柄情報」は、地図図柄情報であり、ここでは、地図図柄情報のファイル名を示している。「緯度」および「経度」は、地図図柄情報が示す地図の中心の緯度および経度を示す。
図6は、地図情報格納部11に格納されている地図図柄情報の一例を示す図であり、ここでは、ファイル名が「A10001.png」である地図図柄情報を示している。
図7は、背景画像格納部12に格納されている背景画像を管理する背景画像管理情報である。背景画像管理情報は、「背景画像」と、「場所ID」という項目を有している。「背景画像」は背景画像であり、ここでは、背景画像のファイル名を示している。「場所ID」は、場所識別情報である。
図8は、背景画像格納部12に格納されている背景画像の一例を示す図であり、ここでは、ファイル名が「kobe.png」である背景画像を示している。この具体例においては、全ての背景画像が、「場所ID」が示す場所の周囲の360度を示すパノラマ状の一の画像で構成されており、そのサイズは、全て一定であり、例えば、幅が1600ピクセルであるとする。また、各背景画像の幅方向の中心、ここでは、x軸方向の座標が650ピクセルである位置が、「北」を示すことが表示部16等に予め指定されているものとする。また、1600ピクセルの画像によって、360度をカバーすることから、背景画像の幅方向の1ピクセルは、方位の角度に換算すると360度÷1600=0.225度となる。この値は、予め、図示しない記憶媒体等に蓄積されているものとする。
図9は、方位を示す背景画像(以下、方位背景画像と称す)の表示例を示す図である。この方位背景画像は、方位を示す文字列等を配置した画像であり、ここでは、背景画像格納部12に格納されているものとする。この方位背景画像の幅も、上記の背景画像管理情報で管理されている背景画像と同じサイズであり、x軸方向の560ピクセルの位置に「北」という文字が記載されており、方位背景画像を幅方向に32等分した位置に、それぞれ、方位を示す文字や記号が記されている。この方位背景画像は、背景表示領域において、上記の背景画像の下に表示され、上記の背景画像と一体として扱われるものとする。例えば、上記の背景画像と連動して、相対的な一巻計等が変わらないよう移動するものとする。
まず、ユーザが、外出先で、地図表示装置1を起動して、現在の位置の地図を表示する操作を行ったとする。
現在位置情報取得部13は、現在位置情報として、現在の位置の緯度と経度とを取得する。また、方位取得部14は、現在の方位を示す方位識別子を取得する。ここで取得する現在の方位とは、地図表示装置1のモニタの上部が指し示す方位であるとする。ここでは、例えば、方位識別子として、北を0度として、時計回りの角度で方位を表したいわゆる方位角を用いている。ここでは、仮に、現在位置情報として、緯度「x11」および経度「y11」が取得され、方位識別子として、「45度」が取得されたとする。
表示部16は、現在位置情報が示す緯度「x11」と経度「y11」とを中心とした地図図柄情報を地図情報格納部11から取得する。そして、取得した地図図柄情報を、図示しない記憶媒体等に予め用意されている地表を示す平面状の3Dモデリングデータ上にマッピングし、方位識別子「45度」が示す方位に向けた視点であって、現在位置情報とを結ぶ直線と地表とのなす角度が予め指定されているデフォルトの角度(例えば、45度の角度)となる視点から見た場合の地図の画像をレンダリングする。即ち、45度の角度から、現在位置情報が示す位置の周辺を俯瞰した地図の画像をレンダリングする。表示部16は、レンダリングにより得られた地図の画像を、モニタ18の地図表示領域に表示する。この地図の画像では、方位識別子が示す方位が、地図の下から上に向かう方向であるとする。
次に、場所識別情報取得部15は、現在位置情報が示す緯度「x11」と経度「y11」とに対応する場所識別情報を取得する。例えば、図示しない通信手段等を介して、無線インターネット通信等により、予め指定された逆ジオコーディングを行うサーバ装置(図示せず)に、現在位置情報が示す緯度「x11」と経度「y11」との情報を送信し、この情報に応じてサーバ装置が送信する場所識別情報を受信する。なお、予め逆ジオコーディングを行うための、緯度と経度との範囲を示す情報と、場所識別情報とを対応付けた情報を、図示しない記憶媒体等に用意しておくようにして、この情報を用いて、上記の逆ジオコーディングの処理を地図表示装置1内で行うようにしても良い。ここでは、例えば、逆ジオコーディングによって、「兵庫県神戸市垂水区」という情報が取得されたとする。
表示部16は、場所識別情報取得部15が取得した場所識別情報「兵庫県神戸市垂水区」に対応する背景画像を背景画像格納部12から取得する。具体的には、図7に示した背景画像管理情報の各レコード(行)の「場所ID」の値を順次読み出し、場所識別情報取得部15が取得した場所識別情報「兵庫県神戸市垂水区」の中に、読み出した文字列と一致する文字列が含まれるか否かを順次判断する。ここでは、1番目のレコードの「場所ID」である「神戸市」が、場所識別情報に含まれると判断される。このため、この一番目のレコードの背景画像である「kobe.png」を背景画像格納部12から読み出す。なお、背景画像管理情報の「場所ID」から順次読み出した文字列の中に、場所識別情報取得部15が取得した場所識別情報「兵庫県神戸市垂水区」に含まれる文字列が検出されなかった場合、対応する「場所ID」が検出されなかった場合のために予めに用意されている背景画像(図示せず)を、背景画像格納部12から読み出す。この背景画像は、地域等に関係なくどの地点においても利用できるような背景を示した画像であることが好ましい。また、表示部16は、図9に示した方位背景画像も、背景画像格納部12から読み出す。
表示部16は、取得した背景画像「kobe.png」と、方位背景画像とから、背景表示領域に対応したサイズの画像を切り出す。背景表示領域の高さ及び幅は、ここでは予め高さAピクセル、幅Bピクセルに指定されているものとする。高さAピクセルは、背景画像管理情報で管理されている背景画像と方位背景画像との高さの合計であるとする。
まず、表示部16は、方位取得部14が取得した方位の角度である45度を、背景画像の距離に換算する。上述したように、0.225度が1ピクセルであることから、45÷0.225=200ピクセルとなる。この距離を背景画像の北を示すx座標から右方向に移動させたx座標が、背景画像上の、方位識別子が示す方位が示す位置となる。即ちx座標が、650+200=850ピクセルの位置が、背景画像上の、方位識別子「45度」が示す位置となる。このため、上記で検出した背景画像および方位背景画像の、x座標が「850ピクセル」である位置を中心とした幅Bピクセルの画像をそれぞれ取得し、この画像上下に並べた背景画像を、モニタ18の背景表示領域に表示する。なお、ここでの背景画像は、右端と左端とがつながっていると考えて良い。例えば、表示用の背景画像を切り出す際においては、適宜、背景画像の左端と、同じ背景画像の右端とを、結合したものから切り出しを行っても良い。
図10は、表示部16による地図と背景画像との表示例を示す図である。図10に示すように、表示部16は、地図表示領域161と、背景表示領域162とに、それぞれ地図と、背景画像とを表示する。背景表示領域には、背景画像「kobe.png」から切り出した背景画像162aと、方位背景画像から切り出した背景画像162bとが上下に並べて配置される。なお、図10において、二重丸で示した現在位置163は、現在位置情報が示す現在位置である。
なお、表示部16は、地図表示領域の地図の画像と、背景表示領域の背景の画像とを生成した後に、これらをまとめて表示しても良い。
(A)左右のドラッグ操作
以下、操作受付部17が受け付ける操作が、左右方向のドラッグ操作である場合について説明する。
図10に示した状態において、例えば、ユーザが、地図表示領域161上を右から左に、指でドラッグしたとする。操作受付部17は、モニタ18の表面に配置されているタッチパネルを介して、この操作を示す情報を受け付ける。表示部16は、操作受付部17が受け付けた操作が、地図表示領域161に対する右から左へドラッグする操作であることを検出して、地図表示領域161に表示されている地図が示している領域を、ドラッグした距離に応じて右方向に移動させた地図を表示する。つまり、ユーザから見ると、地図が、ドラッグした左方向に移動しているように見える。なお、地図上をドラッグすることで、地図の表示領域を変更する処理は、電子地図の技術として公知であるので、ここでは詳細な説明は省略する。
図11は、地図表示領域に対する右から左へのドラッグ操作によって、地図表示領域の表示が変更された状態の表示例を示す図である。図11において矢印111は、ドラッグによる指示点の移動の軌跡を示す。
また、図10に示した状態において、例えば、ユーザが、背景表示領域162上を右から左に、指でドラッグしたとする。操作受付部17は、モニタ18の表面に配置されているタッチパネルを介して、この操作を示す情報を受け付ける。
表示部16は、操作受付部17が受け付けた操作が、背景表示領域に対する右から左へドラッグする操作であることを検出する。そして、表示部16は、ドラッグされた方向である「左方向」と、ドラッグされた距離とを操作受付部17が受け付けた操作から取得する。例えば、ドラッグされた距離が、「100ピクセル」であったとする。表示部16は、この移動距離に対応する方位が変更される角度(方位角の変化量)を算出する。具体的には、距離「100ピクセル」に対して、上述した1ピクセル当たりの角度「22.5度」を乗算して、方位が変更される角度「22.5度」を取得する。表示部16は、現在、地図表示領域161に表示されている地図を、この地図の中心(即ち、現在位置情報が示す位置)を回転の中心として、取得した方向である左方向(左回り)に、取得した角度「22.5度」だけ回転させた地図の画像を取得して地図表示領域161に表示する。即ち、表示を更新する。回転させた地図を表示する処理は上記と同様である。
また、背景表示領域162に現在表示されている背景画像は、上述したように、背景画像「kobe.png」および方位背景画像の、x座標「850ピクセル」を中心とした領域であるため、表示部16は、この領域をドラッグされた距離「100ピクセル」だけ左方向に移動させた領域の背景画像を、背景画像「kobe.png」および方位背景画像から切り出す。即ち、x座標「850+100=100ピクセル」を中心とした幅Bピクセルの背景画像を、背景画像「kobe.png」および方位背景画像からそれぞれ切り出す。そして、この切り出した背景画像を背景表示領域162に表示する。即ち、表示を更新する。
図12は、背景表示領域に対する右から左へのドラッグ操作によって、地図表示領域および背景表示領域の表示が変更された状態の表示例を示す図である。図12において矢印121は、ドラッグによる指示点の移動の軌跡を示す。
このように、右方向へのドラッグ操作を行った表示領域が、地図表示領域161である場合と、背景表示領域162である場合とでは、表示内容についての挙動が異なるものとなる。なお、左方向に対するドラッグを行った場合も、移動方向や回転方向等が逆になる点を除けば、上記と同様である。
(B)上下のドラッグ操作
以下、操作受付部17が受け付ける操作が、上下方向のドラッグ操作である場合について説明する。
図10に示した状態において、例えば、ユーザが、地図表示領域161上を、下から上に指でドラッグしたとする。この場合、表示部16は、地図の表示している領域をドラッグした距離に応じて上方向(ここでは、方位取得部14が取得した方位識別子が示す方向)に移動させた地図を、地図表示領域161に表示する。なお、この動作は、上記の地図表示領域161を右から左へドラッグする操作が行われた場合の動作と、移動方向が異なる点を除けば同様である。
また、図10に示した状態において、例えば、ユーザが、背景表示領域162上を、下から上に指でドラッグしたとする。操作受付部17は、モニタ18の表面に配置されているタッチパネルを介して、この操作を示す情報を受け付ける。
表示部16は、操作受付部17が受け付けた操作が、背景表示領域に対する下から上へドラッグする操作であることを検出する。そして、表示部16は、ドラッグされた方向が「上」であるため、現在、地図表示領域161に表示されている地図の画像を取得するために用いた地図図柄情報を用いて、地図の画像をレンダリングする際の視点の高さを、予め指定された高さだけ高い高さに設定して表示用の地図の画像をレンダリングする。なお視点の高さを高くするということは、地図図柄情報を俯瞰する角度を大きくすること、あるいは、レンダリングの際の、地図図柄情報の現在位置情報が示す位置と視点とを結ぶ直線と、地表との角度を大きくすることと考えても良い。ここでは、例えば、視点の高さを変更することにより、地図図柄情報の現在位置情報が示す位置と視点とを結ぶ直線と、地表との角度は、現在の高さ「45度」よりも大きい値である「90度」に変更されてレンダリングが行われたとする。そして、表示部16は、レンダリングにより得られた地図を地図表示領域161に表示する。なお、地図図柄情報が、地表を真上から見た場合の地図の図柄を示すものである場合、角度が90度の場合には、視点を変更したレンダリング等を行わずに、地図図柄情報の現在位置情報を中心とする領域を単に切り出すようにしても良い。なお、背景表示領域の表示は変更しない。なお、背景画像も背景を示す3Dモデリングデータをレンダリングして生成するようにして、上方向のドラッグが行われた場合に、レンダリングの際の高さを変更してレンダリングした背景画像を背景表示領域に表示するようにしても良い。
図13は、背景表示領域に対する上方向のドラッグ操作によって、地図表示領域の表示が変更された状態の表示例を示す図である。図13において矢印131は、ドラッグによる指示点の移動の軌跡を示す。
このように、上方向へのドラッグ操作を行った表示領域が、地図表示領域161である場合と、背景表示領域162である場合とでは、表示内容についての挙動が異なるものとなる。なお、上から下へのドラッグ、即ち、下方向に対するドラッグを行った場合も、移動方向が逆になる点や、視点の高さが低い背景画像が取得されること等を除けば、上記と同様である。
なお、上方向にドラッグした際に、視点が高くなるようにする代わりに、下方向にドラッグした際に、視点が高くなるようにしても良い。同様に、上方向にドラッグした際に、視点が低くなるようにしてもよい。
(C)一点を押下する操作
以下、操作受付部17が受け付ける操作が、表示領域の一点を押下する操作である場合について説明する。
図10に示した状態において、例えば、ユーザが、地図表示領域161上の一点を押下する操作、具体的には、一点をタップ(指で叩く)操作を行ったとする。この場合、表示部16は、現在表示されている地図のタップされた位置が、中心となるような地図を、地図表示領域161に表示する。例えば、タップされた位置の座標情報(例えば、緯度と経度との情報等)を取得して、この位置が中心となるような地図の画像を取得して表示する。なお、この動作は、現在の地図を表示する際の動作と同様の動作である。なお、地図表示領域に表示される地図が、現在位置が地図表示領域内の予め指定された位置となるような地図である場合、タップされた位置が、予め指定された位置になるような地図の画像を取得すればよい。
また、図10に示した状態において、例えば、ユーザが、背景表示領域162上の一点をタップする操作を行ったとする。表示部16は、現在表示されている地図の次の範囲の地図を、地図表示領域161に表示する。例えば、現在位置情報が示す位置から、予め指定された距離だけ、現在表示されている地図の下方向が示す方位(ここでは、方位取得部14が取得した方位識別子が示す方位)に移動した位置の緯度と経度とを取得する。そして、この取得した位置が中心となるような地図の画像を上記と同様に地図図柄情報を用いて取得し、取得した画像を地図表示領域161に表示する。予め指定されている距離は、例えば、地図表示領域161の高さ、あるいはこの高さから予め指定されている長さを減算した距離であっても良いし、地図表示領域161の上端から、地図表示領域に表示されている地図の中心までの距離、あるいはこの距離から予め指定されている長さを減算した距離であっても良い。ここで減算する距離は、変更後の地図の上端近傍において、変更前の地図の中心が示していた地点が表示されるような距離に設定することが好ましい。なお、地図表示領域に表示される地図が、現在位置情報が示す位置が地図表示領域内の予め指定された位置となるような地図である場合、現在位置情報が示している位置から予め指定された距離だけ移動方向とは逆方向にある位置が、予め指定された位置になるような地図の画像を取得すればよい。また、この予め指定された距離は、変更後の地図の上端近傍において、変更前の地図の予め指定された位置に示されていた地点が表示されるような距離に設定することが好ましい。
図14は、背景表示領域に対する一点を押下する操作によって、地図表示領域の表示が変更された状態の表示例を示す図である。
このように、一点を押下する操作を行った表示領域が、地図表示領域161である場合と、背景表示領域162である場合とでは、表示内容についての挙動が異なるものとなる。
(D)2点の指示点を移動させる操作
以下、操作受付部17が受け付ける操作が、表示領域の2点の指示点を移動させる操作である場合について説明する。
図10に示した状態において、例えば、ユーザが、地図表示領域161上に二本の指をおいて、この二本の指で広げる操作を行ったとする。これにより、操作受付部17は、2点の指示点を距離が広がるように移動させる操作を受け付ける。この場合、表示部16は、現在表示されている地図を、例えば、移動前の2点の指示点がそれぞれ示す地図上の地点が、それぞれ移動後の2点の指示点が示す位置に示されるように拡大した地図を、地図表示領域161に表示する。同様にして、2点の指示点を距離が狭まるように移動させる操作を行うと、表示部16は、現在表示されている地図を、例えば、移動前の2点の指示点がそれぞれ示す地図上の地点が、それぞれ移動後の2点の指示点が示す位置に示されるように縮小した地図を、地図表示領域161に表示する。なお、このような動作は、いわゆるスマートフォン用の電子地図ソフトウェアの技術として公知である。
また、図10に示した状態において、例えば、ユーザが、地図表示領域161上に二本の指をおいて、この二本の指で広げる(あるいは狭める)操作を行ったとする。これにより、操作受付部17は、2点の指示点を距離が広がる(縮まる)ように移動させる操作を受け付ける。この場合、表示部16は、操作受付部17が受け付けた操作が、背景表示領域に対する2点の指示点を移動させる操作であると判断し、地図表示領域161と背景表示領域162のいずれの領域に対しても画像を変更する処理を行わない。
このように、2点の指示点を移動させる操作を行った表示領域が、地図表示領域161である場合と、背景表示領域162である場合とでは、表示内容についての挙動が異なるものとなる。
以上、本実施の形態によれば、少ない種類の直感的な操作で、他種類の動きを地図に対して与えることができる。これにより、例えば、地図等の操作性を向上させることができる。
(実施の形態2)
本実施の形態にかかる地図表示装置2は、上記実施の形態にかかる地図表示装置において、二つの地図表示領域を動的に変化させるようにしたものである。
図15は、本実施の形態における地図表示装置2のブロック図である。
地図表示装置2は、地図情報格納部11、現在位置情報取得部13、方位取得部14、表示部26、操作受付部17を備える。
表示部26以外の構成については、上記実施の形態1と同様であるので、ここでは説明を省略する。
表示部26は、上記実施の形態の表示部16において、複数の表示領域のうちの第一地図表示領域に進行方向を示す地図を表示し、第二地図表示領域に通過地点を含む領域の地図を表示するようにするとともに、操作受付部17が操作を受け付けた第一地図表示領域と、第二地図表示領域とで、操作受付部17が受け付けた同一の操作に対して、異なる挙動となるよう表示内容を変更するようにしたものである。第一地図表示領域および第二地図表示領域は、それぞれ地図情報格納部11に格納されている地図情報が示す地図を表示する領域である。第一地図表示領域と、第二地図表示領域とは、通常、上下に配列される。二つの領域間には、通常は間隔を設けないが、間隔を設けても良い。二つの領域の境界には、直線や破線等の線や、二つの領域の境界を示す記号等を表示しても良い。進行方向を示す地図とは、例えば、ユーザがこれから進行すると考えられる方向の地図である。例えば、地図表示装置2の現在位置(あるいはユーザが指定した現在位置)を起点として、地図表示装置2の向き(あるいはユーザが指定した方位)が示す方向へ伸びる領域の地図である。表示部26は、例えば、現在位置情報取得部13が取得した現在位置情報が示す位置から、方位取得部14が取得した方位に伸びる所定のサイズの領域の地図を、進行方向を示す地図として、第一地図表示領域に表示する。
また、通過地点を含む領域とは、例えば、ユーザが直近に通過した地点を含む領域である。例えば、地図表示装置2の現在位置を終点とした、地図表示装置2の向き(あるいはユーザが指定した方位)が示す方向と反対の方向へ伸びる領域の地図である。表示部26は、例えば、現在位置情報が示す位置を終点とした、方位取得部14が取得した方位と逆方向に伸びる所定のサイズの領域の地図を、通過地点を示す領域を含む地図として、第二地図表示領域に表示する。
なお、進行方向を示す地図および通過地点を含む領域とは、必ずしも、実際の進行方向を示す地図や、実際に通過した地点を含む領域でなくても良い。
なお、表示部26は、上記実施の形態1の表示部26が一の地図表示領域に表示した地図と同様の地図を表示するとともに、この地図の、方位取得部14が取得した方位識別子が示す方位に対して垂直となるよう、現在位置情報が示す位置を通過する直線で分割した領域をそれぞれ、第一地図表示領域と第二地図表示領域としても良い。つまり、上記実施の形態1の地図表示領域を、現在位置情報が示す位置が配置される位置で方位取得部14が取得した方位識別子が示す方位に対して垂直に分割した二つの領域を、第一地図表示領域と第二地図表示領域としても良い。
表示部26は、操作受付部17が操作を受け付けた第一地図表示領域と、第二地図表示領域とで、操作受付部17が受け付けた同一の操作に対して、異なる挙動となるよう表示内容を変更する。例えば、表示部26は、操作受付部17が一の表示領域を押下する操作を受け付けた場合に、操作を受け付けた表示領域が、第一地図表示領域である場合と、第二地図表示領域である場合とで、異なる方向に、第一地図表示領域と第二地図表示領域と、の地図をスクロールさせる。ここでの押下は、予め指定された時間以上の押下であっても良い。また、予め指定された回数以上の押下であっても良い。例えば、第一地図表示領域を押下する操作を受け付けた場合、第一地図表示領域に現在表示されている地図を進行方向(方位取得部14が取得した方位識別子が示す方向)とは逆方向に向かって、予め指定された距離だけ移動させた地図を、第一地図表示領域に表示する。つまり、現在位置が、進行方向に向かって移動したと考えた場合の地図を表示する。このとき、同様に、第二地図表示領域の地図を上記と同じ方向に同じ距離だけ移動させた地図を、第二地図表示領域にも表示しても良い。なお、第一地図表示領域と第二地図表示領域の両方の地図が操作によって進行方向に移動する場合、移動後の地図の現在位置を通過する位置で進行方向に垂直な直線で区切られた二つの表示領域を、上記と同様に、第一地図表示領域と第二地図表示領域としても良い。例えば、上述したように、第一地図表示領域と、第二地図表示領域とが、一の地図の二つの領域である場合等においては、第一地図表示領域を押下する操作を受け付けた場合に、一の地図を予め指定された距離だけ、進行方向と逆方向に移動させ、この移動させた地図の現在位置を通過する位置で進行方向に垂直な直線で区切られた二つの表示領域の進行方向を第一地図表示領域とし、通過地点を含む領域を、第二地図表示領域としても良い。このようにすることで、第一地図表示領域と第二地図表示領域とのサイズを動的に変化させることができる。なお、上記の代わりに、第一地図表示領域と、第二地図表示領域とを、最初に表示された地図の第一地図表示領域と、第二地図表示領域とが示す位置及びサイズに固定するようにしても良い。
また、例えば、第一地図表示領域を押下する操作を受け付けた場合、表示部26は、第二地図表示領域に現在表示されている地図を進行方向(方位取得部14が取得した方位識別子が示す方向)に向かって、予め指定された距離だけ移動させた地図を、第二地図表示領域に表示する。このとき、同様に、第一地図表示領域の地図を上記と同じ方向に同じ距離だけ移動させた地図を、第一地図表示領域にも表示しても良い。なお、上述したように、第一地図表示領域と、第二地図表示領域とが、一の地図の二つの領域である場合等においては、第二地図表示領域を押下する操作を受け付けた場合に、一の地図を予め指定された距離だけ進行方向に移動させ、この移動させた地図の現在位置を通過する位置で進行方向に垂直な直線で区切られた二つの表示領域の進行方向を第一地図表示領域とし、通過地点を含む領域を、第二地図表示領域としても良い。このようにすることで、第一地図表示領域と第二地図表示領域とのサイズを動的に変化させることができる。なお、上記の代わりに、第一地図表示領域と、第二地図表示領域とを、最初に表示された地図の第一地図表示領域と、第二地図表示領域とが示す位置及びサイズに固定するようにしても良い。
次に、地図表示装置2の動作について図16のフローチャートを用いて説明する。なお、図16において、図2と同一符号は同一または相当する処理ステップを示すものとする。
(ステップS1601)表示部26は、ステップS202で取得した現在位置情報と、ステップS203で取得した方位識別子とを用いて、第一地図表示領域に進行方向の地図を表示する。また、同様に、第二地図表示領域に通過地点を含む領域の地図を表示する。
(ステップS1602)表示部26は、第一地図表示領域と第二地図表示領域とに、それぞれ地図が表示されているか否かを判断する。表示されている場合、ステップS1603に進み、表示されていない場合、ステップS202に戻る。
(ステップS1603)表示部26は、操作受付部17が、第一地図表示領域を押下する操作を受け付けたか否かを判断する。受け付けた場合、ステップS1604に進み、受け付けていない場合、ステップS1605に進む。
(ステップS1604)表示部26は、第一地図表示領域の地図をステップS203で取得した方位識別子が示す方向に予め指定された距離だけ移動させた地図を、第一地図表示領域に表示する。なお、更に、第二地図表示領域の地図を方位識別子が示す方向に予め指定された距離だけ移動させた地図を、第二地図表示領域に表示するようにしても良い。そして、ステップS1607に進む。
(ステップS1605)表示部26は、操作受付部17が、第二地図表示領域を押下する操作を受け付けたか否かを判断する。受け付けた場合、ステップS1607に進み、受け付けていない場合、ステップS202に戻る。
(ステップS1606)表示部26は、第二地図表示領域の地図をステップS203で取得した方位識別子が示す方向と反対の方向に予め指定された距離だけ移動させた地図を、第二地図表示領域に表示する。なお、更に、第一地図表示領域の地図を方位識別子が示す方向と反対方向に予め指定された距離だけ移動させた地図を、第一地図表示領域に表示するようにしても良い。そして、ステップS1607に進む。
(ステップS1607)表示部26は、ステップS1604、ステップS1605、ステップS1608、またはステップS1609で変更された地図の表示を終了するか否かを判断する。例えば、操作受付部17等が、変更された地図の表示を終了する操作を受け付けた場合に表示を終了することを判断する。また、予め指定された時間が経過した時点で表示を終了することを判断しても良い。終了すると判断した場合、ステップS202に戻り、終了すると判断しなかった場合、ステップS1608に進む。
(ステップS1608)表示部26は、操作受付部17が、第一地図表示領域を押下する操作を受け付けたか否かを判断する。受け付けた場合、ステップS1604に戻り、受け付けていない場合、ステップS1609に進む。
(ステップS1609)表示部26は、操作受付部17が、第二地図表示領域を押下する操作を受け付けたか否かを判断する。受け付けた場合、ステップS1606に戻り、受け付けていない場合、ステップS1607に戻る。
なお、図16のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における地図表示装置2の具体的な動作について説明する。ここでは、地図表示装置2の例や、地図管理情報等が、上記実施の形態1の具体例と同様である場合について説明する。
ユーザが地図表示装置2を起動すると、上記実施の形態1の具体例と同様に、現在位置情報取得部13は、現在位置情報として、現在の位置の緯度と経度とを取得する。また、方位取得部14は、現在の方位を示す方位識別子を取得する。そして、表示部26は、現在位置情報が示す位置を中心とした方位識別子が示す方位の地図図柄情報を、地図情報格納部11から読み出す。そして、この地図図柄情報を、上述した具体例と同様に、地表を示す3Dモデリングデータ上にマッピングし、レンダリングを行って、地図の画像を取得する。この地図の画像では、方位識別子が示す方位が、地図の下から上に向かう方向であるとする。
そして、表示部26は、この地図の画像をモニタ18に表示する。このとき、この地図の画像の、現在位置情報が示す位置から上側を第一地図表示領域に、また、下側を第二地図表示領域に表示する。
図17(a)は、表示部26による、地図の表示例を示す図である。ここでは、第一地図表示領域171と第二地図表示領域172とは、上下に連続して並べられた領域であるとする。第一地図表示領域171と第二地図表示領域172との境界は、最初に現在位置情報が示す地点173aが表示される位置を通る位置に設定する。
ここで、例えば、ユーザが、第一地図表示領域171上を指でクリックすると、操作受付部17は、第一地図表示領域171上を指でクリックされた操作を受け付ける。表示部26は、操作受付部17が受け付けた操作が、第一地図表示領域171上のいずれかの位置を押下する操作であると判断する。表示部26は、現在位置情報が示す位置である緯度及び経度を、方位取得部14が取得した方位識別子が示す方位と逆方向に、予め指定された距離だけ移動させた位置の緯度と経度とを取得し、この位置を中心とした地図図柄情報を取得して、上記と同様にレンダリング等を行って、方位識別子が示す方位を上方とした地図の画像を取得して表示する。新たに取得した地図の現在位置情報が示す位置173bで区切られた上方の領域が第一地図表示領域171となり、下方の領域が第二地図表示領域172となる。これにより、地図が示す範囲が上方向に移動するよう、即ち、地図が下方向に移動するよう画面をスクロールすることができる。
また、図17(a)に示した状態において、例えば、ユーザが、第二地図表示領域172上を指でクリックすると、操作受付部17は、第二地図表示領域172上を指でクリックされた操作を受け付ける。表示部26は、操作受付部17が受け付けた操作が、第二地図表示領域172上のいずれかの位置を押下する操作であると判断する。表示部26は、現在位置情報が示す位置である緯度及び経度を、方位取得部14が取得した方位識別子が示す方位に、予め指定された距離だけ移動させた位置の緯度と経度とを取得し、この位置を中心とした地図図柄情報を取得して、上記と同様にレンダリング等を行って、方位識別子が示す方位を上方とした地図の画像を取得して表示する。新たに取得した地図において、現在位置情報が示す位置で区切られた上方の領域が第一地図表示領域171となり、下方の領域が第二地図表示領域172となる。これにより、地図が示す範囲が下方向に移動するよう、即ち、地図が上方向に移動するよう画面をスクロールすることができる。
以上、本実施の形態によれば、第一地図表示領域を押下した場合と、第二地図表示領域を押下した場合とで、第一地図表示領域と第二地図表示領域との地図を異なる方向にスクロールさせることができる。これにより、少ない種類の直感的な操作で、他種類の動きを地図に対して与えることができる。この結果、例えば、地図等の操作性を向上させることができる。
なお、本実施の形態において、進行方向の地図が表示される領域と、通過地点を含む領域の地図が表示される領域とを、それぞれ、第一地図表示領域および第二地図表示領域としたが、本発明においては、現在位置情報が示す位置を含む領域等を示す一の地図のうちの、右側の領域を第一地図表示領域に、左側の領域を第二地図表示領域に表示しても良い。そして、第一地図表示領域に対して、2点の指示点を移動させる操作が行われた場合に、この第一地図表示領域に表示されている地図だけを、上記実施の形態1の場合と同様に、指示点の移動に応じて、拡大または縮小するようにしても良い。また、同様に、第二地図表示領域に対して、2点の指示点を移動させる操作が行われた場合に、この第二地図表示領域に表示されている地図だけを、上記実施の形態1の場合と同様に、指示点の移動に応じて、拡大または縮小するようにしても良い。
例えば、図18(a)に示すように、第一地図表示領域181と第二地図表示領域182とに表示された地図において、第一地図表示領域181上で2点の指示点を広げると、図18(b)に示すように、この第一地図表示領域181の地図だけが拡大表示されるようにしても良い。第一地図表示領域181の地図を拡大表示するためには、例えば、第一地図表示領域181と第二地図表示領域182とに表示されている地図の画像を得るために用いられた地図図柄情報のうちの、第一表示領域181の領域に対応する部分(ここでは、右側の部分)だけを用いて、上記実施の形態1の具体例と同様に、2点の指示点の移動に応じて拡大させた地図を第一表示領域181に表示するようにすればよい。このようにすることで、第一地図表示領域に対して2点の指示点を移動させる操作を行った場合には、第一地図表示領域の拡大縮小だけを行うようにし、第二地図表示領域に対して2点の指示点を移動させる操作を行った場合には、第二地図表示領域の拡大縮小だけを行うようにすることができ、外観的には一の地図と見える地図の一部の領域だけを、個別に拡大縮小することができる。これにより、少ない種類の直感的な操作で、他種類の動きを地図に対して与えることができる。この結果、例えば、地図等の操作性を向上させることができる。
なお、この場合、第一地図表示領域181と第二地図表示領域182の境界は、最初に現在位置情報が示す地点が表示される位置を通るようにする、もしくはモニタ18の中心を通るようにすることが好ましい。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態では、地図表示装置がスタンドアロンである場合について説明したが、地図表示装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記各実施の形態において、現在位置情報取得部13や、場所識別情報取得部15等の各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
なお、上記各実施の形態における地図表示装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、地図の情報である地図情報が格納される地図情報格納部にアクセス可能なコンピュータを、複数の表示領域の少なくとも1以上に、地図情報が示す地図を表示する表示部と、各表示領域に対する操作をそれぞれ受け付ける操作受付部として機能させるプログラムであって、表示部は、操作受付部が操作を受け付けた表示領域ごとに、操作受付部が受け付けた同一の操作に対して、異なる挙動となるよう表示内容を変更するプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態における地図情報格納部等に格納されるデータのデータ構造は、例えば、以下のようなデータ構造である。つまり、現在位置情報取得部と方位識別子と表示部とを有する地図表示装置が地図を表示するために用いられるデータ構造であって、地図の情報である地図情報と、地図で示される領域の背景の画像であって、方位を示す情報である方位識別子と対応付けられている画像である背景画像とを有し、現在位置情報取得部が現在位置の情報を取得し、前記方位取得部が現在の方位を示す方位識別子を取得し、前記表示部が、前記現在位置情報取得部が取得した現在位置の地図情報を取得して、現在位置の地図を表示する表示領域である地図表示領域に、取得した地図情報を表示し、かつ、前記方位取得部が取得した現在の方位を示す方位識別子と対応付けられた背景画像を取得して、背景画像を表示する表示領域である背景表示領域に、取得した背景画像を表示するために用いるデータのデータ構造である。
かかる構成により、地図表示領域に表示される地図が示す方位に対応する背景画像を、背景表示領域に表示可能とすることができる。
また、前記データのデータ構造において、背景画像に加えて、更に、領域または地点を示す情報である場所識別情報を有しており、地図表示装置は、場所識別情報取得部を更に備え、場所識別情報取得部は、前記現在位置情報取得部が取得した現在位置に対応する1以上の場所識別情報を取得し、表示部が、前記場所識別情報取得部が取得した場所識別情報に対応した背景画像であって、現在の方位を示す方位識別子と対応付けられた背景画像を取得して、取得した背景画像を背景表示領域に表示するために用いるデータのデータ構造である。
かかる構成により、地図表示領域に表示される地図が示す領域に対応した背景画像を、背景表示領域に表示可能とすることができる。
図19は、上記プログラムを実行して、上記実施の形態による地図表示装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図19において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図20は、コンピュータシステム900の内部構成を示す図である。図20において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による地図表示装置等の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による地図表示装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。