本発明の地図情報表示システム1の全体のシステム構成の一例を図1に,地図情報表示システム1で用いるコンピュータのハードウェア構成の一例を図2に示す。
地図情報表示システム1は,スマートフォンやタブレット型コンピュータなどの可搬型通信端末,カーナビゲーション装置,サーバやパーソナルコンピュータなどによって実現される。これらの各端末や装置を総称して「コンピュータ」と称する。コンピュータは,プログラムの演算処理を実行するCPUなどの演算装置70と,情報を記憶するRAMやハードディスクなどの記憶装置71と,ディスプレイなどの表示装置72と,情報の入力を行う入力装置73と,演算装置70の処理結果や記憶装置71に記憶する情報を通信する通信装置74と,GPS装置やジャイロ装置などの位置情報を取得するための位置情報取得装置75とを有している。なお,コンピュータがタッチパネルディスプレイを備えている場合には表示装置72と入力装置73とが一体的に構成されていてもよい。タッチパネルディスプレイは,たとえばタブレット型コンピュータやスマートフォンなどの可搬型通信端末などで利用されることが多いが,それに限定するものではない。また,位置情報取得装置75は,コンピュータの内部に備えられるほか,コンピュータの外部,たとえば車体などに備えられていてもよい。位置情報取得装置75としては,上記のほか,または上記と組み合わせて,携帯電話の基地局の電波を利用して取得するセルID,無線LANアクセスポイントのMACアドレスなどを用いて位置情報を取得してもよい。この場合,セルIDやMACアドレスが位置情報と対応づけられており,セルIDやMACアドレスを取得することで,対応する位置情報が取得できる。
タッチパネルディスプレイは,そのディスプレイ上で,直接,所定の入力デバイス(タッチパネル用のペンなど)や指などによって入力を行える点で,表示装置72と入力装置73の機能が一体化した装置である。
地図情報表示システム1は一台のコンピュータによって実現されていてもよいが,その一部または全部の機能が複数のコンピュータによって実現されていてもよい。この場合のコンピュータとして,たとえばクラウドサーバであってもよい。
本発明の地図情報表示システム1における各手段は,その機能が論理的に区別されているのみであって,物理上あるいは事実上は同一の領域を為していても良い。
地図情報表示システム1は,初期化処理部20と地図情報表示処理部21とスクロール設定処理部22と現在地表示位置変更設定処理部23と拡大・縮小処理部24と地図回転処理部25と現在地更新処理部26とを有する。
初期化処理部20は,地図情報表示システム1を実現するためのアプリケーションソフトウェアを起動後,本発明の処理を実行するための,変数やフラグを初期状態にする初期化処理を実行する。
地図情報表示処理部21は,地図情報100を表示画面で表示する処理を実行する。表示画面で表示する地図情報は,あらかじめコンピュータの記憶装置71に記憶していてもよいし,所定の地図情報提供サーバ(図示せず)から取得をしてもよい。
地図情報100を表示する処理にはさまざまな方法があるが,たとえば後述する更新基準点が不変であり中心にある場合には,更新基準点の位置情報と,更新基準点の座標と,表示画面の縦・横の大きさと,縮尺とを渡すことで,四隅の位置情報を特定できるので,それによって構成される領域の地図情報100を取得し,表示すればよい。
また更新基準点が任意の位置に変更できる場合には,変更後の更新基準点の位置情報と,変更後の更新基準点の座標と,表示画面の縦・横の大きさと,縮尺とを渡すことで,四隅の位置情報を特定できるので,それによって構成される領域の地図情報100を取得し,表示してもよい。
移動後の地図情報100を表示する場合には,上述の処理を用いることが好ましいが,これらに限定するものではない。
また,停止時に地図情報100を表示する場合のほかの処理としては,地図情報の表示画面における四隅の座標を,位置情報に変換する。そして四隅の位置情報で構成される領域の地図情報100を取得し,表示する。
なお,地図情報100が回転表示(北向きから回転して表示している場合)には,回転角度も加味して表示を行えばよい。
従来,更新基準点は表示画面の中心または所定の初期位置に固定されているので,自動スクロール表示する際には,現在地の表示位置が更新基準点の位置と同一位置しか行えなかったが,本願発明の地図情報表示システム1を用いることによって,現在地の表示位置を任意の位置に変更した上で,自動スクロール表示を行うことが可能となる。
スクロール設定処理部22は,地図情報100の自動スクロールに関する設定処理を実行する。たとえば,自動スクロールを行う,または行わない設定にする処理を実行する。
現在地表示位置変更設定処理部23は,地図情報100における現在地の表示位置を任意の位置に変更するための設定処理を実行する。現在地は,地図情報100に現在地を示す現在地マーカ101(標識)で表示される。
拡大・縮小処理部24は,地図情報100を拡大または縮小する操作が行われた場合に,地図情報100を表示画面において拡大または縮小させる拡大・縮小処理を実行する。拡大,縮小の操作としては,拡大,縮小ボタンのタップや,ピンチ(ピンチイン)・ストレッチ(ピンチアウト)の操作,ダブルタップなどがあるがそれらに限定しない。
地図回転処理部25は,地図情報100をローテート(回転)する操作が行われた場合に,表示画面において地図情報100を回転させる回転処理を実行する。
現在地更新処理部26は,現在地が更新された際に,地図情報100を更新して画面に表示する処理を実行する。この際に,更新前の地図情報100,更新後の地図情報100において,現在地マーカ101は画面上で同じ位置(同じ座標)に表示する。なお,地図情報100は,同一のコンピュータに記憶しておき,それを表示してもよいし,地図情報サービスを提供するほかのコンピュータから取得するのでもよい。
つぎに本発明の地図情報表示システム1の処理プロセスの一例を,図3乃至図10のフローチャートを用いて説明する。なお,以下の説明では,本発明の地図情報表示システム1を実現するアプリケーションソフトウェアを,スマートフォンなどの可搬型通信端末にインストールしている場合を説明する。また地図情報100はアプリケーションソフトウェアの表示画面に表示されるが,スマートフォンなどの可搬型通信端末の場合,表示装置72に一つの表示画面が表示されることが一般的なので,図面では表示装置72と表示画面とは同一で示している。表示装置72においてマルチウィンドウ方式で表示する場合でも同様に,アプリケーションソフトウェアの表示画面に表示可能となる。また,地図情報表示システム1を,ほかのコンピュータ,たとえばカーナビゲーション装置で実現する場合にも同様に適用できる。
また,以下の各フローチャートでは,自動スクロールする際の,後述する更新基準点座標を任意の位置に変更できない場合の処理を説明する。すなわち,従来の地図情報表示システムでは,たとえば表示画面の中心に固定化された更新基準点があり,その基準点に基づいて地図情報の自動スクロールが行われていた。これに対して,本発明の地図情報表示システム1では,従来の地図情報表示システムと同様に,更新基準点座標を変更せずに現在位置を任意の位置に変更して自動スクロールを行う場合(更新基準点座標を任意の位置に変更できない場合)と,更新基準点座標そのものを変更した上で現在位置を任意の位置に変更して自動スクロールを行う場合(更新基準点座標を任意の位置に変更できる場合)の2種類があるが,実施例1では前者を,実施例2では後者の場合を説明する。
まず操作者は,可搬型通信端末において所定の操作を行うことで,地図情報表示システム1を実現するためのアプリケーションソフトウェアを起動する。そうするとアプリケーションソフトウェアが可搬型通信端末において起動し,地図情報表示システム1として機能する。
アプリケーションソフトウェアの起動後,初期化処理部20は,初期化処理を実行する(S100)。具体的には,まず,アプリケーションソフトウェアの表示画面の縦・横のピクセルサイズを取得する(S300)。また表示画面の中心を原点とする,地図情報100の回転角度を0°(北を上向き)に設定する(S310)。なお,北を上向きに設定せず,任意の方角を上向きに設定する場合には,それに対応する回転角度を設定すればよい。たとえば,南を上向きに設定する場合には,回転角度を180°に設定する。
そして,表示画面に表示する地図情報100の拡大・縮小レベルに初期値を設定する(S320)。拡大・縮小レベルとは,拡大・縮小の度合いを示すパラメータであり,拡大・縮小の度合いを複数の段階に分けて数値によって示してもよいし,任意の縮尺倍率としてもよい。
また,初期化処理部20は,現在地座標Ppに初期値を設定する(S330)。初期値としては,たとえば表示画面における中心(表示画面の中央)の座標が好ましいが,それに限定するものではなく,たとえばカーナビゲーション装置であれば,表示画面の下方を初期値としてもよい。そして,地図情報100を自動スクロールする際の更新基準となる更新基準点の表示画面における更新基準点座標Opに,表示画面における現在地を示す現在地座標Ppを設定する(S340)。そして,更新基準点の位置情報Ogに初期値を設定する(S350)。この初期値としては、あらかじめ定めている著名な地点の位置情報を設定する。
更新基準点座標Opは,表示画面における更新基準点の座標なので,可搬型通信端末の場合,通常は表示画面における中心座標となる。またカーナビゲーション装置の場合,通常は表示画面における下方中心付近の座標となる。なお,表示画面における座標は,画面におけるピクセル座標系(X,Y座標系)での座標情報を意味する。また,位置情報は,緯度・経度情報を含む緯度経度座標系での座標情報を意味する。以下の各変数においては,「p」が付されている変数はピクセル座標系であり,「g」が付されている変数は緯度経度座標系である。
そして初期化処理部20は,変数となる差分Dpを初期値「0」に設定する(S360)。変数Dpは,地図情報100を自動スクロールする際の更新基準となる更新基準点の表示画面における更新基準点座標Opと,表示画面における現在地を示す現在地座標Ppとの差分である。
初期化処理部20において差分Dpを初期値0に設定すると,地図情報表示処理部21が地図情報の表示処理を実行する(S370)。
地図情報表示処理部21は,表示画面の領域を構成する各位置情報を,更新基準点座標Op,更新基準点位置情報Og,表示画面の縦・横ピクセルサイズ,回転角度,拡大・縮小レベルに基づいて算出する(S500)。ここで算出する「表示画面の領域を構成する各位置情報」とは表示画面の枠となる四点,または,表示画面の左上と右下あるいは右上と左下の二点の位置情報である。ここでは回転角度,拡大・縮小レベルはとくに初期値のままであるので考慮をせずともよい。
更新基準点座標Opは表示画面の中心などの初期値であるため,表示画面の枠の座標は,それぞれ更新基準点座標Opに縦・横ピクセルサイズの1/2を加減算することで四隅の座標を算出できる。そして,算出した四隅の座標(表示画面の枠の座標)を位置情報に変換し,表示画面の枠の位置情報を算出する。
このようにして算出した表示画面の枠の四隅のそれぞれの位置情報に基づいて,表示画面への表示に必要な地図情報100を取得し(S510),取得した地図情報100を表示画面に表示させる(S520)。
以上のようにして地図情報表示処理21における地図情報表示処理を実行すると,またはその処理と並行して,初期化処理部20は,現在地の更新に伴う自動スクロールを行うか否かを示す自動スクロールフラグ(現在地を基準にした自動スクロール処理を実行するかを示すフラグ)を「ON」(自動スクロールを行う)に設定し(S380),また地図情報100において現在地のマーカを更新基準点に表示するか否かを示す現在地初期位置表示フラグ(現在地を初期位置に表示するかを示すフラグ)を「ON」(現在地を初期位置(たとえば表示画面の中央)に表示する)に設定する(S390)。
さらに,初期化処理部20は,地図情報100に表示する,後述する処理モードを示すアイコン102(処理モード表示部)を第1モードで表示する(S400)。
この状態の表示画面の一例を図11に模式的に示す。図11の表示画面では,現在地が更新基準点であるので,現在地マーカ101は表示画面の中心となり,その範囲を中心とした所定範囲の地図情報100が表示されている。また,処理モードを示すアイコン102が地図情報100に重畳して表示されており,図11では第1モードとなっている。
本発明の地図情報表示システム1では複数の処理モードがあり,それらはフラグによって制御されている。すなわち,地図情報100の自動スクロールを行い(自動スクロールフラグ「ON」),かつ現在地を初期位置に表示する(現在地初期位置表示フラグ「ON」)モードである第1モード,地図情報100の自動スクロールを行い(自動スクロールフラグ「ON」),かつ現在地を操作者が指定した位置に表示する(現在地初期位置表示フラグ「OFF」)モードである第2モード,地図情報100の自動スクロールは行わず(自動スクロールフラグ「OFF」),かつ現在地を操作者が指定した位置に表示する(現在地初期位置表示フラグ「OFF」)モードである第3モードである。第1モード乃至第3モードと,各フラグの関係を図12に示す。
また,各モードにおいて,アイコン102の表示状態が変更され,それによって,操作者は現在実行中のモードを認識可能である。モードとアイコン102の関係を図13に示す。図13(a)は第1モードのアイコン102の表示であり,矢印はアイコン102の中心付近に位置する。図13(b)は第2モードのアイコン102の表示であり,矢印はアイコン102の中心付近からずれた位置にある。図13(c)は第3モードのアイコン102の表示であり,矢印は中心付近に位置するが,矢印の色が通常とは異なっている。なお,図13におけるアイコン102の表示は一例であり,それぞれのモードの相違が認識可能であれば,これらに限定されるものではない。
そして,第1モードから第2モードへの変更は,表示画面に表示している地図情報100をスワイプ(上下左右に移動させる操作)し,現在地マーカ101を更新基準点から任意の位置に変更することで行う。また,第2モードから第3モードへの変更,第3モードから第1モードへの変更,第1モードから第3モードへの変更はアイコン102のタップによって行う。本明細書では,第3モードから第2モードへの変更については行えない場合を説明するが,それに限定するものではない。またモードの変更の操作についても上記は一例であり,それに限定するものではない。
以上のようにして初期化処理部20が初期化処理を実行すると,図11のように,地図情報100は,更新基準点に現在地マーカ101が表示されており,また自動スクロールする状態となっている(第1モード)。
操作者が現在地の移動による地図情報100の自動スクロールの設定を変更したい場合には,アイコン102をタップ(押下)する。
地図情報表示システム1がアイコン102がタップされたことを検出すると(S110),スクロール設定処理部22がスクロール設定処理を実行する(S120)。
すなわち,スクロール設定処理部22は,直前の自動スクロールフラグが「ON」(自動スクロールする)か「OFF」(自動スクロールしない)かを判定し(S600),自動スクロールフラグが「ON」であるならば,スクロール設定処理部22は,自動スクロールフラグを「OFF」に設定する(S610)。たとえば初期化処理直後にアイコン102がタップされた場合,初期化処理部20による初期化処理において,自動スクロールフラグは「ON」に設定されているので,スクロール設定処理部22はそれを「OFF」に設定することとなる。
そしてスクロール設定処理部22は,現在地初期位置表示フラグを「OFF」に設定し(S620),また,アイコン102の画像を第3モードの画像(図13(c))に変更する(S630)。この状態の表示画面の一例が図14である。
一方,S600における判定の結果,直前の自動スクロールフラグが「OFF」であるならば,スクロール設定処理部22は,自動スクロールフラグを「ON」に設定し(S640),また現在地初期位置表示フラグを「ON」に設定する(S650)。そしてスクロール設定処理部22は,現在地座標Ppに初期値,たとえば表示画面の中心座標を設定する(S660)。そして,更新基準点座標Opに現在地座標Ppを設定し(S670),更新基準点位置情報Ogに現在地位置情報Pgを設定する(S680)。
スクロール設定処理部22は,表示画面に表示している地図情報100の更新基準点の座標Opと現在地を示す現在地座標Ppとの差分Dpを初期値「0」に設定する(S690)。
そして,地図情報表示処理部21における地図情報表示処理を実行する(S700)。すなわち,地図情報表示処理部21は,表示画面の領域を構成する各位置情報を,更新基準点座標Op,更新基準点位置情報Og,表示画面の縦・横ピクセルサイズ,回転角度,拡大・縮小レベルに基づいて算出する(S500)。
表示画面の枠の座標は,それぞれ更新基準点座標Opに縦・横ピクセルサイズの1/2を加減算することで四隅の座標を算出できる。そして,算出した四隅の座標(表示画面の枠の座標)を位置情報に変換し,表示画面の枠の位置情報を算出する。
このようにして算出した表示画面の枠の四隅のそれぞれの位置情報に基づいて,表示画面への表示に必要な地図情報100を取得し(S510),取得した地図情報100を表示画面に表示させる(S520)。
以上のようにして地図情報100を表示画面に表示後,スクロール設定処理部22は,現在地マーカ101を地図情報上の現在地位置情報Pgまたは現在地座標Ppに表示する(S710)。また,スクロール設定処理部22は,アイコン102を第1モードの画像(図13(a))に変更をして,表示させる(S720)。つまり表示画面は図11と同様となる。
以上のようにしてスクロール設定処理部22は,自動スクロールの設定処理を実行する。
操作者が第2モード,すなわち現在地マーカ101を任意の位置に変更して,かつその位置を基準に自動スクロール表示を行いたい場合には,操作者は,表示画面に表示している地図情報100をスワイプ操作する。つまり,操作者は,現在地を示す現在地マーカ101の表示位置を,所望の位置に移動させる。たとえば図11の状態において,操作者が現在,A駅におり,その北方向(地図上は右上方向)にあるC駅(図11では表示されていない)まで行きたい場合には,操作者は地図情報100を左下方向にスワイプ操作をして,現在地マーカ101を左下の位置に移動する。この操作を模式的に示すのが図15である。また,現在地マーカ101が左下位置に移動した状態の表示画面の一例を図16に示す。
このように,地図情報表示システム1は,地図情報100がスワイプされたことを検出すると(S130),現在地表示位置変更設定処理部23が現在地表示位置変更設定処理を実行する(S140)。
すなわち現在地表示位置変更設定処理部23は,自動スクロールフラグが「ON」か「OFF」かを判定し(S800),自動スクロールフラグが「OFF」ならば,現在地表示位置変更設定処理部23は,そのまま現在地表示位置変更設定処理を終了する。
一方,自動スクロールフラグが「ON」ならば,現在地表示位置変更設定処理部23は,操作者の地図情報100のスワイプによる地図情報100の移動の終了を検出し(S810),現在地マーカ101のある現在地座標Ppを取得する(S820)。そして,地図情報100の更新基準点座標Opと,スワイプ後の現在地マーカ101の現在地座標Ppとの差分Dpを算出し,差分Dpを一時的に記憶する(S830)。この処理を模式的に示すのが図17である。
現在地表示位置変更設定処理部23は,現在地初期位置表示フラグを「OFF」に設定し(S840),アイコン102を第2モード(図13(b))に変更する(S850)。この状態の表示画面の一例を図18に示す。
以上のように現在地表示位置変更設定処理部23が,現在地表示位置変更設定処理を実行することで,現在地マーカ101の表示位置を更新基準点,たとえば中心から任意の位置に変更することができる。
表示画面に対して,拡大・縮小操作が行われたことを検出すると(S150),拡大・縮小処理部24が,拡大・縮小処理を実行する(S160)。
具体的には,まず表示画面における拡大・縮小レベルを取得し(S900),それに基づいて,地図情報表示処理部21における地図情報表示処理を実行する(S910)。すなわち,操作された拡大・縮小操作に応じた拡大・縮小レベルでの地図情報を表示画面に表示させる。
地図情報表示処理部21は,表示画面の領域を構成する各位置情報を,更新基準点座標Op,更新基準点位置情報Og,表示画面の縦・横ピクセルサイズ,回転角度,拡大・縮小レベルに基づいて算出する(S500)。
表示画面の枠の座標は,それぞれ更新基準点座標Opに縦・横ピクセルサイズの1/2を加減算することで四隅の座標を算出できる。そして,算出した四隅の座標(表示画面の枠の座標)を位置情報に変換し,表示画面の枠の位置情報を算出する。
このようにして算出した表示画面の枠の四隅のそれぞれの位置情報に基づいて,表示画面への表示に必要な地図情報100を取得し(S510),取得した地図情報100を表示画面に表示させる(S520)。
そして,地図情報表示処理部21において拡大・縮小後の地図情報を表示画面に表示させると,拡大・縮小処理部24は,現在地マーカ101を,地図上の現在地位置情報Pgまたは現在地座標Ppに表示させる(S920)。そして,現在地座標Ppが表示画面の外側(表示画面では表示されない領域)にある場合には(S930),拡大・縮小処理部24は,自動スクロールフラグを「OFF」に設定し(S940),アイコンを第3モードで表示する(S950)。そして拡大・縮小処理を終了する。これによって,任意の位置に変更した現在地を基準とした自動スクロール処理が中止され,第3モードに切り替える。
一方,現在地座標Ppが表示画面内にある場合には(S930),自動スクロールボタンが「ON」であるかを判定し(S960),「ON」であることを判定すると,拡大・縮小処理部24は,現在地位置情報Pgを現在地座標Ppに変換する(S970)。
なお,S960において自動スクロールボタンが「OFF」の場合には,拡大・縮小処理を終了する。
現在地位置情報Pgを現在地座標Ppに変換後,差分Dpを現在地座標Ppに加算し,拡大・縮小後の更新基準点座標Opを算出する(S980)。そして,拡大・縮小後の更新基準点座標Opを,拡大・縮小後の更新基準点位置情報Ogに変換する(S990)。この処理によって,拡大・縮小後の更新基準点Opに対応する位置情報Ogを取得できる。
そして地図情報表示処理部21における地図情報の表示処理を実行する(S1000)。すなわち,地図情報表示処理部21は,拡大・縮小後の更新基準点の位置情報Og,更新基準点座標Op,表示画面の縦・横ピクセルサイズ,回転角度を用いて,表示画面の領域を構成する各位置情報を算出する(S500)。
表示画面の枠の座標は,それぞれ更新基準点座標Opに縦・横ピクセルサイズの1/2を加減算することで四隅の座標を算出できる。そして,算出した四隅の座標(表示画面の枠の座標)を位置情報に変換し,表示画面の枠の位置情報を算出する。
このようにして算出した表示画面の枠の四隅のそれぞれの位置情報に基づいて,表示画面への表示に必要な地図情報100を取得し(S510),取得した地図情報100を表示画面に表示させる(S520)。
そして,拡大・縮小処理部24は,現在地マーカ101を,地図上の現在地位置情報Pgまたは現在地座標Ppに表示する(S1010)。
以上のような処理を実行することで,拡大・縮小が行われた場合にも対応することができる。
つぎに,地図情報100を表示画面において回転させるローテート操作を検出した場合(S170),地図回転処理部25が地図回転処理を実行する(S180)。
まず地図回転処理部25は,検出したローテートの回転角度を取得し(S1100),更新基準点座標Opを一時記憶する(S1110)。そして,各モードに応じた処理を実行する。すなわち,第1モードである場合には(S1120),回転処理時の更新基準点座標Opを表示画面の初期値,たとえば中央に設定する(S1130)。第2モードである場合には(S1140),回転処理時の更新基準点座標Opを現在地座標Ppに設定する(S1150)。また,第3モードである場合には(S1160),回転処理時の更新基準点座標Opをローテート操作の中央に設定する(S1170)。
そして,地図情報表示処理部21における地図情報表示処理を実行する(S1180)。すなわち,地図情報表示処理部21は,表示画面の領域を構成する各位置情報を,更新基準点座標Op,更新基準点位置情報Og,表示画面の縦・横ピクセルサイズ,回転角度,拡大・縮小レベルに基づいて算出する(S500)。
表示画面の枠の座標は,それぞれ更新基準点座標Opに縦・横ピクセルサイズの1/2を加減算することで四隅の座標を算出できる。そして,算出した四隅の座標(表示画面の枠の座標)を位置情報に変換し,表示画面の枠の位置情報を算出する。
このようにして算出した表示画面の枠の四隅のそれぞれの位置情報に基づいて,表示画面への表示に必要な地図情報100を取得し(S510),取得した地図情報100を表示画面に表示させる(S520)。
そして,地図回転処理部25は,現在地マーカ101を,地図上の回転後の現在地位置座標Pgまたは現在地座標Ppに表示をし(S1190),また更新基準点座標Opを,S1110で一時記憶した値に戻す(S1200)。
以上のような処理を実行することで,表示画面で表示する地図情報に対してローテート操作が行われた場合の回転処理を実行することができる。
操作者が移動するなどによって,位置情報取得装置75から取得した現在地の位置情報が更新された場合には(S190),現在地更新処理部26は,現在地の更新処理を実行する(S200)。図19に,操作者の移動による現在地更新処理の一例を模式的に示す。
すなわち,現在地更新処理部26は,移動後の現在地の緯度・経度情報を含む位置情報UPgを位置情報取得装置75から取得し(S1300),現在地更新処理部26は,自動スクロールフラグが「ON」か「OFF」かを判定する(S1310)。そして,自動スクロールフラグが「ON」であるならば,現在地更新処理部26は現在地初期位置表示フラグが「ON」か「OFF」かを判定する(S1320)。現在地初期位置表示フラグが「OFF」である場合には,S1300で取得している移動後の現在地の位置情報UPgを,表示画面における座標情報である現在地座標Ppに変換する(S1330)。これによって,移動後の現在地座標Ppが特定できる。
そしてS1330で変換した現在地座標Ppに差分Dpを加算することで,移動後の更新基準点座標UOpを算出する(S1340)。また,算出した移動後の更新基準点座標UOpを,移動後の更新基準点の緯度・経度情報を含む位置情報UOgに変換する(S1350)。
一方,S1320において現在地初期位置表示フラグが「ON」である場合には,更新後の現在地位置情報UPgを,更新後の更新基準点位置情報UOgに設定する(S1360)。
以上のような処理により,操作者の移動後の更新基準点の緯度・経度情報を含む位置情報UOgが特定できるので,移動後の更新基準点位置情報UOgを,更新基準点位置情報Ogに設定する(S1370)。
そして,S1370で設定した更新基準点位置情報Ogを基準とした地図情報100を,地図情報表示処理部21が表示画面に表示することで,自動スクロールを実行する(S1380)。
すなわち,地図情報表示処理部21は,表示画面の領域を構成する各位置情報を,更新基準点座標Op,更新基準点位置情報Og,表示画面の縦・横ピクセルサイズ,回転角度,拡大・縮小レベルに基づいて算出する(S500)。
表示画面の枠の座標は,それぞれ更新基準点座標Opに縦・横ピクセルサイズの1/2を加減算することで四隅の座標を算出できる。そして,算出した四隅の座標(表示画面の枠の座標)を位置情報に変換し,表示画面の枠の位置情報を算出する。
このようにして算出した表示画面の枠の四隅のそれぞれの位置情報に基づいて,表示画面への表示に必要な地図情報100を取得し(S510),取得した地図情報100を表示画面に表示させる(S520)。
また,現在地更新処理部26は,現在地マーカ101を,移動後の地図情報100の現在地の位置情報UPgまたは現在地座標Ppに表示する(S1390)。S1320において現在地初期位置表示フラグが「OFF」の場合(第2モードの場合)の表示画面の一例が図20である。
なお,S1310の自動スクロールフラグの判定の結果,「OFF」であれば第3モードであり,自動スクロールは行わないので,現在地マーカ101を,移動後の地図情報100の現在地の位置情報UPgまたは現在地座標Ppにそのまま表示する(S1390)。この状態の表示画面の一例を図21に示す。
また,S1320の現在地初期位置表示フラグの判定の結果,「ON」であれば,第1モードであるので,この場合の自動スクロールによる地図情報100を実行する。現在地マーカ101を表示した状態の表示画面の一例を図22に示す。
以上のような処理を実行することで,現在地更新処理部26は,現在地更新処理を実行することができる。そして,終了指示を検出するまで(S210),上述の各処理を反復実行する。
以上のように,操作者が移動する間,位置情報取得装置75で現在地の位置情報が更新されるので,現在地更新処理部26は,現在地更新処理を繰り返す。また,アイコン102に対するタップの検出や,地図情報100に対するスワイプの検出をした場合には,それぞれスクロールの設定処理または現在地表示位置変更設定処理を実行する。図3の全体の処理プロセスは,各機能を例示的に説明するために順番に処理を実行する場合を説明したが,実際には,初期化処理以降の処理は,各操作が検出されるたびに対応する処理が実行されるものであり,順不同で実行する。
なお,上述の各処理では,移動後の現在地の位置情報UPgを表示画面における座標Ppに変換し,そこに差分Dpを加算することで,移動後の更新基準点座標UOpを算出した上で,移動後の更新基準点の位置情報UOgを特定し,UOgに基づいて,移動後の地図情報100を取得していた。そこで,差分Dpについて,座標単位での差分ではなく,緯度・経度単位での位置情報における差分を用いてもよい。この場合,移動後の現在地の位置情報UPgに,位置情報による差分Dpを加算すれば,移動後の更新基準点の位置情報UOgを,座標系の変換を伴うことなく,算出することができる。なお,現在地マーカ101の表示位置は,上述の通り,表示画面上で特定するため,現在地マーカ101の表示位置としての座標に行えばよい。
また,多くの従来の地図情報サービスが,地図上への座標指示は緯度・経度による位置情報単位で処理を受け付けるためである。そのため,座標単位で処理が可能な地図情報サービスであれば,かかる変換処理を省略することができる。すなわち,移動後の現在地の位置情報UPgを表示画面における座標Ppに変換し,そこに差分Dpを加算することで,移動後の更新基準点座標UOpを算出し,それに基づいて,地図情報100を取得するように構成してもよい。
なお,地図情報表示システム1のアプリケーションソフトウェアを終了する際には,最後に表示している現在地位置情報Pgを所定の記憶装置71に記憶しておいてもよい。つぎに地図情報表示システム1のアプリケーションソフトウェアを起動した場合に,初期化処理部20による初期化処理におけるS350の初期値として,記憶した現在地位置情報Pgを設定することができる。
実施例1では,操作者による地図情報100のスワイプにより,地図情報100の更新基準点と現在地座標とが相違する場合を説明したが,地図情報100の更新基準点と現在地座標とを変更せずに,地図情報100を表示させてもよい。すなわち,更新基準点座標そのものを任意の位置に変更可能とした上で,現在位置と更新基準点とが同一の位置である場合に,現在位置を任意の位置に変更して自動スクロールを行う場合を説明する。
第2の実施例の場合の地図情報表示システム1の処理プロセスの一例を,図3,図5,図9,図23乃至図27のフローチャートを用いて説明する。なお,実施例2においても,実施例1と同様に,本実施例における地図情報表示システム1を実現するアプリケーションソフトウェアを,スマートフォンなどの可搬型通信端末にインストールしている場合を説明する。
まず操作者は,可搬型通信端末において所定の操作を行うことで,地図情報表示システム1を実現するためのアプリケーションソフトウェアを起動する。そうするとアプリケーションソフトウェアが可搬型通信端末において起動し,地図情報表示システム1として機能する。
アプリケーションソフトウェアの起動後,初期化処理部20は,初期化処理を実行する(S100)。具体的には,まず,アプリケーションソフトウェアの表示画面の縦・横のピクセルサイズを取得する(S1400)。また表示画面の中心を原点とする,地図情報100の回転角度を0°(北を上向き)に設定する(S1410)。
そして,表示画面に表示する地図情報100の拡大・縮小レベルに初期値を設定する(S1420)。
また,初期化処理部20は,現在地座標Ppに初期値を設定する(S1430)。初期値としては,たとえば表示画面における中心(表示画面の中央)の座標が好ましいが,それに限定するものではなく,たとえばカーナビゲーション装置であれば,表示画面の下方を初期値としてもよい。そして,地図情報100を自動スクロールする際の更新基準となる更新基準点の表示画面における更新基準点座標Opに,表示画面における現在地を示す現在地座標Ppを設定する(S1440)。そして,更新基準点の位置情報Ogに初期値を設定する(S1450)。この初期値としては、あらかじめ定めている著名な地点の位置情報を設定する。
更新基準点座標Opは,表示画面における更新基準点の座標なので,可搬型通信端末の場合,通常は表示画面における中心座標となる。またカーナビゲーション装置の場合,通常は表示画面における下方中心付近の座標となる。
そして地図情報表示処理部21が地図情報の表示処理を実行する(S1460)。
地図情報表示処理部21は,表示画面の領域を構成する各位置情報を,更新基準点座標Op,更新基準点位置情報Og,表示画面の縦・横ピクセルサイズ,回転角度,拡大・縮小レベルに基づいて算出する(S500)。
更新基準点座標Opと表示画面の縦・横ピクセルサイズの差分を加算,減算することで,表示画面の四隅の座標を算出できる。なお,初期状態においては,更新基準点座標Opは,表示画面の中心にあるので,実施例1の場合と同様に,表示画面の縦・横ピクセルサイズの1/2を加算,減算することで算出できる。そして,算出した四隅の座標(表示画面の枠の座標)を位置情報に変換し,表示画面の枠の位置情報を算出する。
このようにして算出した表示画面の枠の四隅のそれぞれの位置情報に基づいて,表示画面への表示に必要な地図情報100を取得し(S510),取得した地図情報100を表示画面に表示させる(S520)。
以上のようにして地図情報表示処理21における地図情報表示処理を実行すると,またはその処理と並行して,初期化処理部20は,現在地の更新に伴う自動スクロールを行うか否かを示す自動スクロールフラグを「ON」(自動スクロールを行う)に設定し(S1470),また地図情報100において現在地のマーカを更新基準点に表示するか否かを示す現在地初期位置表示フラグを「ON」(現在地のマーカを更新基準点に表示する)に設定する(S1480)。
さらに,初期化処理部20は,地図情報100に表示する,後述する処理モードを示すアイコン102(処理モード表示部)を第1モードで表示する(S1490)。この状態の表示画面の一例は実施例1と同様に,図11である。
以上のようにして初期化処理部20が初期化処理を実行すると,図11のように,地図情報100は,更新基準点に現在地マーカ101が表示されており,また自動スクロールする状態となっている(第1モード)。
操作者が現在地の移動による地図情報100の自動スクロールの設定を変更したい場合には,アイコン102をタップ(押下)する。
地図情報表示システム1がアイコン102がタップされたことを検出すると(S110),スクロール設定処理部22がスクロール設定処理を実行する(S120)。
すなわち,スクロール設定処理部22は,直前の自動スクロールフラグが「ON」(自動スクロールする)か「OFF」(自動スクロールしない)かを判定し(S1500),自動スクロールフラグが「ON」であるならば,スクロール設定処理部22は,自動スクロールフラグを「OFF」に設定する(S1510)。たとえば初期化処理直後にアイコン102がタップされた場合,初期化処理部20による初期化処理において,自動スクロールフラグは「ON」に設定されているので,スクロール設定処理部22はそれを「OFF」に設定することとなる。
そしてスクロール設定処理部22は,現在地初期位置表示フラグを「OFF」に設定し(S1520),また,アイコン102の画像を第3モードの画像(図13(c))に変更する(S1530)。この状態の表示画面の一例は実施例1と同様に,図14である。
一方,S1500における判定の結果,直前の自動スクロールフラグが「OFF」であるならば,スクロール設定処理部22は,自動スクロールフラグを「ON」に設定し(S1540),また現在地初期位置表示フラグを「ON」に設定する(S1550)。そしてスクロール設定処理部22は,現在地座標Ppに初期値,たとえば表示画面の中心座標を設定する(S1560)。そして,更新基準点座標Opに現在地座標Ppを設定し(S1570),更新基準点位置情報Ogに現在地位置情報Pgを設定する(S1580)。
そして,地図情報表示処理部21における地図情報表示処理を実行する(S1590)。すなわち,地図情報表示処理部21は,表示画面の領域を構成する各位置情報を,更新基準点座標Op,更新基準点位置情報Og,表示画面の縦・横ピクセルサイズ,回転角度,拡大・縮小レベルに基づいて算出する(S500)。
更新基準点座標Opと表示画面の縦・横ピクセルサイズの差分を加算,減算することで,表示画面の四隅の座標を算出できる。そして,算出した四隅の座標(表示画面の枠の座標)を位置情報に変換し,表示画面の枠の位置情報を算出する。
このようにして算出した表示画面の枠の四隅のそれぞれの位置情報に基づいて,表示画面への表示に必要な地図情報100を取得し(S510),取得した地図情報100を表示画面に表示させる(S520)。
以上のようにして地図情報100を表示画面に表示後,スクロール設定処理部22は,現在地マーカ101を地図情報上の現在地位置情報Pgまたは現在地座標Ppに表示する(S1600)。また,スクロール設定処理部22は,アイコン102を第1モードの画像(図13(a))に変更をして,表示させる(S1610)。つまり表示画面は実施例1と同様に,図11と同様となる。
以上のようにしてスクロール設定処理部22は,自動スクロールの設定処理を実行する。
操作者が第2モード,すなわち現在地マーカ101を任意の位置に変更して,かつその位置を基準に自動スクロール表示を行いたい場合には,操作者は,表示画面に表示している地図情報100をスワイプ操作する。つまり,操作者は,現在地を示す現在地マーカ101の表示位置を,所望の位置に移動させる。たとえば図11の状態において,操作者が現在,A駅におり,その北方向(地図上は右上方向)にあるC駅(図11では表示されていない)まで行きたい場合には,操作者は地図情報100を左下方向にスワイプ操作をして,現在地マーカ101を左下の位置に移動する。この操作を模式的に示すのが実施例1と同様に,図15である。また,現在地マーカ101が左下位置に移動した状態の表示画面の一例が,実施例1と同様に図16である。
このように,地図情報表示システム1は,地図情報100がスワイプされたことを検出すると(S130),現在地表示位置変更設定処理部23が現在地表示位置変更設定処理を実行する(S140)。
すなわち現在地表示位置変更設定処理部23は,自動スクロールフラグが「ON」か「OFF」かを判定し(S1700),自動スクロールフラグが「OFF」ならば,現在地表示位置変更設定処理部23は,そのまま現在地表示位置変更設定処理を終了する。
一方,自動スクロールフラグが「ON」ならば,現在地表示位置変更設定処理部23は,操作者の地図情報100のスワイプによる地図情報100の移動の終了を検出し(S1710),現在地マーカ101のある現在地座標Ppを取得する(S1720)。そして,地図情報100の更新基準点座標Opに,スワイプ後の現在地マーカ101の現在地座標Ppを設定する(S1730)。
現在地表示位置変更設定処理部23は,現在地初期位置表示フラグを「OFF」に設定し(S1740),アイコン102を第2モード(図13(b))に変更する(S1750)。この状態の表示画面の一例が,実施例1と同様に図18である。
以上のように現在地表示位置変更設定処理部23が,現在地表示位置変更設定処理を実行することで,現在地マーカ101の表示位置を更新基準点,たとえば中心から任意の位置に変更することができる。
表示画面に対して,拡大・縮小操作が行われたことを検出すると(S150),拡大・縮小処理部24が,拡大・縮小処理を実行する(S160)。
具体的には,まず表示画面における拡大・縮小レベルを取得し(S1800),それに基づいて,地図情報表示処理部21における地図情報表示処理を実行する(S1810)。すなわち,操作された拡大・縮小操作に応じた拡大・縮小レベルでの地図情報を表示画面に表示させる。
地図情報表示処理部21は,表示画面の領域を構成する各位置情報を,更新基準点座標Op,更新基準点位置情報Og,表示画面の縦・横ピクセルサイズ,回転角度,拡大・縮小レベルに基づいて算出する(S500)。
更新基準点座標Opと表示画面の縦・横ピクセルサイズの差分を加算,減算することで,表示画面の四隅の座標を算出できる。そして,算出した四隅の座標(表示画面の枠の座標)を位置情報に変換し,表示画面の枠の位置情報を算出する。
このようにして算出した表示画面の枠の四隅のそれぞれの位置情報に基づいて,表示画面への表示に必要な地図情報100を取得し(S510),取得した地図情報100を表示画面に表示させる(S520)。
そして,地図情報表示処理部21において拡大・縮小後の地図情報を表示画面に表示させると,拡大・縮小処理部24は,現在地マーカ101を,地図上の現在地位置情報Pgまたは現在地座標Ppに表示させる(S1820)。そして,現在地座標Ppが表示画面の外側(表示画面では表示されない領域)にある場合には(S1830),拡大・縮小処理部24は,自動スクロールフラグを「OFF」に設定し(S1840),アイコンを第3モードで表示する(S1850)。そして拡大・縮小処理を終了する。これによって,任意の位置に変更した現在地を基準とした自動スクロール処理が中止され,第3モードに切り替える。
一方,現在地座標Ppが表示画面内にある場合には(S1830),拡大・縮小処理を終了する。
以上のような処理を実行することで,拡大・縮小が行われた場合にも対応することができる。
つぎに,地図情報100を表示画面において回転させるローテート操作を検出した場合(S170),地図回転処理部25が地図回転処理を実行するが(S180),その際の地図回転処理は,実施例1と同様なので,説明を省略する。
操作者が移動するなどによって,位置情報取得装置75から取得した現在地の位置情報が更新された場合には(S190),現在地更新処理部26は,現在地の更新処理を実行する(S200)。
現在地更新処理部26は,移動後の現在地の緯度・経度情報を含む位置情報UPgを位置情報取得装置75から取得し(S1900),現在地更新処理部26は,自動スクロールフラグが「ON」か「OFF」かを判定する(S1910)。そして,自動スクロールフラグが「ON」であるならば,現在地更新処理部26は,更新後の現在地位置情報UPgを,更新後の更新基準点位置情報UOgに設定し(S1920),移動後の更新基準点位置情報UOgを,更新基準点位置情報Ogに設定する(S1930)。
そして,更新基準点位置情報Ogを基準とした地図情報100を,地図情報表示処理部21が表示画面に表示することで,自動スクロールを実行する(S1940)。
すなわち,地図情報表示処理部21は,表示画面の領域を構成する各位置情報を,更新基準点座標Op,更新基準点位置情報Og,表示画面の縦・横ピクセルサイズ,回転角度,拡大・縮小レベルに基づいて算出する(S500)。
更新基準点座標Opと表示画面の縦・横ピクセルサイズの差分を加算,減算することで,表示画面の四隅の座標を算出できる。そして,算出した四隅の座標(表示画面の枠の座標)を位置情報に変換し,表示画面の枠の位置情報を算出する。
このようにして算出した表示画面の枠の四隅のそれぞれの位置情報に基づいて,表示画面への表示に必要な地図情報100を取得し(S510),取得した地図情報100を表示画面に表示させる(S520)。
また,現在地更新処理部26は,現在地マーカ101を,移動後の地図情報100の現在地の位置情報UPgまたは現在地座標Ppに表示する(S1950)。この場合の表示画面の一例が図20である。
なお,S1910の自動スクロールフラグの判定の結果,「OFF」であれば第3モードであり,自動スクロールは行わないので,現在地マーカ101を,移動後の地図情報100の現在地の位置情報UPgまたは現在地座標Ppにそのまま表示する(S1950)。この状態の表示画面の一例を図21に示す。
以上のような処理を実行することで,現在地更新処理部26は,現在地更新処理を実行することができる。そして,終了指示を検出するまで(S210),上述の各処理を反復実行する。
以上のように,操作者が移動する間,位置情報取得装置75で現在地の位置情報が更新されるので,現在地更新処理部26は,現在地更新処理を繰り返すことは実施例1と同様である。また,アイコン102に対するタップの検出や,地図情報100に対するスワイプの検出をした場合には,それぞれスクロールの設定処理または現在地表示位置変更設定処理を実行するのも実施例1と同様である。図3の全体の処理プロセスは,各機能を例示的に説明するために順番に処理を実行する場合を説明したが,実際には,初期化処理以降の処理は,各操作が検出されるたびに対応する処理が実行されるものであり,順不同で実行する。
以上のような処理を実行することで,更新基準点座標そのものを任意の位置に変更可能とした上で,現在位置と更新基準点とが同一の位置である場合に,現在位置を任意の位置に変更して自動スクロールを行うことができる。
なお,地図情報表示システム1のアプリケーションソフトウェアを終了する際には,最後に表示している現在地位置情報Pgを所定の記憶装置71に記憶しておいてもよい。つぎに地図情報表示システム1のアプリケーションソフトウェアを起動した場合に,初期化処理部20による初期化処理におけるS1450の初期値として,記憶した現在地位置情報Pgを設定することができる。
上述の実施例1および実施例2においては,現在地を表示画面の任意の位置に変更可能な第2モードにおいて,第1モードからアイコン102の画像を変更することを説明したが,変更後の現在地の表示画面における位置と,アイコン102の画像内における矢印の位置とを対応づけてもよい。なお,アイコン102の画像内における矢印を例にとるが,矢印以外の図形,記号,マーク,文字,数字,色などの表示であってもよい。
すなわち,S430において更新基準点座標Opと現在地座標Ppとの差分Dpを算出しているので,あるいは実施例2においては,表示画面の中心と現在地座標Ppとの差分Dpを算出し,その差分Dpと表示画面の縦,横の長さの位置関係を算出する。すなわち,変更後の現在地マーカ101が縦方向に全体のX%の座標にあるか,横方向に全体のY%の座標であるかを算出し,アイコン102の縦,横の対応する位置(縦方向X%,横方向Y%の位置)に,矢印を表示させる。
また,位置関係を算出せずとも,たとえば表示画面の中心を基準に縦,横に複数に区切り,そのうちどの位置に現在地があるか,の位置関係を特定する。そしてアイコン102の画像も表示画面と同様に,縦,横に同じように区切り,表示画面における現在地として特定した位置関係に基づいて,アイコン102の画像の矢印を対応する位置に表示させる。たとえば,表示画面の中心を基準に縦,横に2つずつに区切った場合,アイコン102の画像も中心を基準に縦,横に2つずつ区切る。そして,表示画面における現在地が,たとえば左下にあれば,アイコン102の矢印も,アイコン102の画像において左下に位置させる。また,表示画面における現在地が,たとえば右上にあれば,アイコン102の矢印も,アイコン102の画像において右上に位置させる。
また,アイコン102内の矢印等の表示位置を,表示画面における現在地の表示位置に対応させるほか,表示画面における現在地の表示位置に対応する文字情報や色,などでアイコン102を表示させてもよい。たとえば,現在地が右下であれば,アイコン102内に「右下」などと表示してもよいし,右下に対応する色でアイコン102を表示してもよい。
さらに,アイコン102内の矢印等の表示を変更するほか,表示画面におけるアイコン102の表示位置を,地図情報100の現在地の表示位置に対応して表示させてもよい。
このように,従来の地図情報表示システム1とは異なり,本発明の地図情報表示システム1では,現在地を任意の位置に変更することができる。そのため,操作者が,変更後の現在地が表示画面においてどこにあるのか,すぐに確認できない場合もある。そのため,アイコン102の表示と対応させることで,現在地の認識を容易にすることができる。
なお,実施例1乃至実施例3においては,「現在」の位置情報を基準に表示を行う場合を説明したが,過去または未来の位置情報を基準に表示を行う場合に適用してもよい。すなわち,過去または未来における位置情報(未来の場合には予測する位置情報)を時刻情報(日時情報を含む)とともに,所定の記憶装置に記憶させる。そして,その記憶装置に記憶した位置情報および時刻情報に基づいて,時系列ごとの位置情報を昇順または降順に,実施例1乃至実施例3の処理を用いて表示することで,過去または未来の位置情報を再生(昇順)または逆再生(降順)して表示させることができる。なお,再生または逆再生の処理速度は,等倍速のほか,可変倍速としてもよい。
上述の実施例1乃至実施例4では,操作者自身が利用する可搬型通信端末の現在地に基づく自動スクロールの処理を行う場合を説明したが,操作者以外の人,動物,物(これらを総称して「第三者」という)の現在地であってもよい。すなわち,第三者の現在地の位置情報を,第三者が利用する可搬型通信端末などのコンピュータから,直接的または間接的に(サーバなどを介して),操作者が操作する可搬型通信端末などのコンピュータで取得し,その第三者の現在地の位置情報に基づいて,実施例1乃至実施例4と同様の処理を実行する。
これによって,第三者の現在地を表示画面で固定したまま,自動スクロール処理が実行することができる。
第三者としては,たとえば操作者の子供や家族,親族,友人などのほかペットなどの動物,車両(四輪車,二輪車),ドローン(遠隔操作または自動操縦による無人航空機),航空機,ロケットなどの飛翔体,船舶などがあるが,それらに限定されない。
本発明の地図情報表示システム1を用いることで,現在地の表示位置を任意の位置に変更することができる。
本明細書における本発明の説明は一例であり,適宜,処理プロセスの順番を変更したり,異なる処理を行うことができる。本発明の趣旨を逸脱しない範囲において,適宜,変更することができる。