説明

地図表示システム、方法およびプログラム

【課題】ユーザの意図する位置にてフリック操作に応じた地図のスクロールを停止させる。
【解決手段】地図が表示されたタッチパネル上にて操作体を摺動させ、当該操作体を前記タッチパネルから離すフリック操作に応じて、前記地図を前記タッチパネルにてスクロールさせる地図表示システムであって、前記フリック操作において前記操作体が前記タッチパネルに接触していた接触期間を特定する接触期間特定手段と、前記接触期間に応じて、前記フリック操作に応じた前記地図のスクロールを停止させる地形である停止地形を決定する停止地形決定手段と、前記タッチパネルに表示された前記地図において前記停止地形が表された場合に、前記フリック操作に応じた前記地図のスクロールを停止させる停止手段と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示させた地図をスクロールさせる地図表示システム、方法およびプログラムに関する。
【背景技術】
【0002】
地図に表される地形に応じて地図のスクロールを制御する技術が知られている(特許文献1、参照。)。特許文献1において、車両が走行できない地形属性に属する地形(海)への地図のスクロールを抑制している。具体的には、地図の中央に海が表示されている状態において、さらに海側へと地図をスクロールさせる操作がスクロールスイッチに対してなされている場合に、当該スクロールスイッチの操作反力を重くしている。ユーザは操作反力が重くなったことを受けて、スクロールスイッチの操作を中止させることができ、海側への地図のスクロールを停止させることができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−181572号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、タッチパネルに対するフリック操作に応じて地図をスクロールさせる場合、特許文献1のようにスクロールスイッチに与える操作反力を重くしてスクロールを停止させることはできないという問題があった。フリック操作により地図をスクロールさせる場合、指がタッチパネルから離れた段階で初めて指の摺動状態(速度,方向,距離等)が特定され、その後、摺動状態に応じて地図のスクロールが開始されることとなる。すなわち、地図がスクロールする段階でフリック操作は完了してしまっているため、スクロールされている地形が例えば海などの表示する必要のない地形となっても、すでに完了しているフリック操作の操作反力を重くさせるのは不可能である。
本発明は、前記課題にかんがみてなされたもので、ユーザの意図する位置にてフリック操作に応じた地図のスクロールを停止させる技術を提供することを目的とする。
【課題を解決するための手段】
【0005】
前記の目的を達成するため、本発明の地図表示システムは、地図が表示されたタッチパネル上にて操作体を摺動させ、当該操作体をタッチパネルから離すフリック操作を受け付ける。そして、地図表示システムは、フリック操作に応じて地図をタッチパネルにてスクロールさせる。接触期間特定手段は、フリック操作において操作体がタッチパネルに接触していた接触期間を特定する。停止地形決定手段は、フリック操作に応じた地図のスクロールを停止させる地形である停止地形を、接触期間に応じて決定する。停止手段は、タッチパネルに表示された地図において停止地形が表された場合に、フリック操作に応じた地図のスクロールを停止させる。
【0006】
フリック操作において操作体をタッチパネルから離す以前の接触期間に応じて停止地形が決定されるため、フリック操作後に操作体がタッチパネルから離れていても、ユーザの意図どおりに地図のスクロールを停止させることができる。例えば、ユーザが、ある地形へと地図をスクロールさせたくない場合において、当該地形を停止地形とする接触期間のフリック操作を行うことにより、停止地形が地図に表された段階でスクロールを一旦停止させることができる。
【0007】
接触期間特定手段は、フリック操作において操作体がタッチパネルに接触していた期間を接触期間と特定すればよく、フリック操作のために操作体がタッチパネルに接触し始めた時刻から、フリック操作の最後において操作体がタッチパネルから離れた時刻までの期間を接触期間として特定する。ただし、接触期間特定手段は、必ずしも操作体がタッチパネルに接触し始めた時刻からタッチパネルから離れた時刻までの全期間を接触期間と特定しなくてもよく、フリック操作以外の目的で操作体がタッチパネルに接触していた期間を接触期間から控除してもよい。例えば、操作体の接触強度が不意に接触したと認められる所定範囲内であった期間を接触期間から控除してもよい。また、フリック操作以外の操作から操作体をタッチパネルに接触させたまま引き続きフリック操作を行う場合も考えられる。この場合、タッチパネルに接触している操作体の移動状態が所定のフリック操作開始条件を満足した時刻を接触期間の始期と特定してもよい。通常、フリック操作を開始するためにタッチパネル上にて一旦操作体を停止させるため、タッチパネル上における操作体の移動速度が所定速度以下に転じることをフリック操作開始条件としてもよい。操作体は、指等のユーザの体の一部であってもよいし、スタイラスペン等の機器であってもよい。
【0008】
停止地形決定手段は、接触期間に応じて停止地形を決定すればよく、予め規定された接触期間と停止地形との対応関係に基づいて停止地形を決定してもよい。地上には多様な地形が存在するが、地形は表面の形状や表面に存在する物体(住宅や道路や水や樹木等)の種類等を示す地形特徴情報によって特徴付けられる。停止地形決定手段は、接触期間ごとに、停止地形とする地形が有すべき地形特徴情報を対応付けた対応関係に基づいて停止地形を決定してもよい。また、地形特徴情報は、例えば標高や水深や勾配や平坦度等の地形特徴値である場合もあり、接触期間ごとに、停止地形とする地形が有すべき地形特徴値の範囲を対応付けた対応関係に基づいて停止地形を決定してもよい。また、停止地形決定手段は、接触期間を所定の関数に代入することにより、停止地形とする地形が有すべき地形特徴値の範囲を示す解を得てもよい。
【0009】
停止手段は、地図のスクロール中において地図に表される地形を順次特定し、当該特定した地形が停止地形に該当する場合に地図のスクロールを停止させてもよい。また、停止手段は、フリック操作に応じたスクロール条件下で停止地形が地図に表されるタイミングを予測しておき、当該タイミングが到来した場合に地図のスクロールを停止させてもよい。さらに、停止手段は、停止地形がタッチパネルに表示された地図のいずれかの位置に表された場合にスクロールを停止させればよく、停止地形がタッチパネルに表示された地図の所定の停止基準位置に表わされた場合に限りスクロールを停止させてもよいし、地図において停止地形が表わされた位置に拘わらずスクロールを停止させてもよい。なお、停止基準位置は他の領域よりもユーザが認識しやすい位置であることが望ましく、例えばタッチパネル、または、当該タッチパネルに表示された地図の中央位置であってもよい。また、停止基準位置は、フリック操作においてユーザが操作体を接触させていた位置であってもよい。
【0010】
停止地形決定手段は、水深が基準水深以上の地形を停止地形として決定するとともに、接触期間が短いほど基準水深を小さくしてもよい。すなわち、接触期間が短い場合には水深が小さい地形でも停止地形として決定し、接触期間が長い場合には水深が大きい地形しか停止地形として決定しないようにすることができる。従って、ユーザは、接触期間を短くすることにより海や川や湖沼等の岸に近い底浅部側へと停止地形の分布範囲を広げていくことができ、接触期間を長くすることにより岸から遠い底深部側へと停止地形の分布範囲を狭めることができる。すなわち、接触期間を短くすることにより海や川や湖沼等の底浅部側にて一旦地図のスクロールを停止させることができ、道路が形成される可能性が低く、例えば道路地図等においてユーザが視認を意図する可能性が低い底深部へとスクロールが継続することが防止できる。ユーザが海や川や湖沼等の底深部を確認したい場合には、意図的に接触期間を長くすればよい。また、底浅部から底深部へと地図をスクロールさせる場合、接触期間を短くするほど、地図がスクロールする距離(スクロールが停止するまでの期間)を短くすることができ、ユーザの操作感覚に合ったスクロールを実現することができる。
【0011】
停止地形決定手段は、フリック操作に応じた地図のスクロールを行う前に、地図の所定の初期基準位置に表されていた地形の水深である初期水深を特定し、初期水深に加算値を加算した値を基準水深として決定してもよい。この構成において、初期水深からの水深の増加量が接触期間に応じた加算値以上となる地形が地図に表された場合には、地図のスクロールを停止させることができる。一方、初期水深よりも水深が小さい地形が地図に表された場合には、接触期間の長さに拘わらず地図のスクロールを継続させることができる。すなわち、スクロール前に地図に表された地形を基準として、海や川や湖沼等の底深部側へのスクロールを加算値が示す水深の増加量を限度として制限するとともに、底浅部側へのスクロールを制限しないようにすることができる。
【0012】
また、停止地形決定手段は、標高が基準標高以上の地形を停止地形として決定するとともに、接触期間が短いほど基準標高を小さくしてもよい。すなわち、接触期間が短い場合には標高が小さい地形でも停止地形として決定し、接触期間が長い場合には標高が大きい地形しか停止地形として決定しないようにすることができる。従って、ユーザは、接触期間を短くすることにより山岳部の裾野側へと停止地形の分布範囲を広げ、接触期間を長くすることにより山岳部の頂上側へと停止地形の分布範囲を狭めることができる。すなわち、接触期間を短くすることにより山岳部の裾野側にて一旦地図のスクロールを停止させることができ、道路が形成される可能性が低く、例えば道路地図等においてユーザが視認を意図する可能性が低い山岳部の頂上側へとスクロールが継続することが防止できる。ユーザが山岳部の頂上側を確認したい場合には、意図的に接触期間を長くすればよい。また、裾野側から頂上側へと地図をスクロールさせる場合、接触期間を短くするほど、地図がスクロールする距離(スクロールが停止するまでの期間)を短くすることができ、ユーザの操作感覚に合ったスクロールを実現することができる。
【0013】
停止地形決定手段は、フリック操作に応じた地図のスクロールを行う前に、地図の所定の初期基準位置に表されていた地形の標高である初期標高を特定し、初期標高に加算値を加算した値を基準水深として決定してもよい。この構成において、初期標高からの標高の増加量が接触期間に応じた加算値以上となる地形が地図に表された場合には、地図のスクロールを停止させることができる。一方、初期標高よりも標高が小さい地形が地図に表された場合には、接触期間の長さに拘わらず地図のスクロールを継続させることができる。すなわち、スクロール前に地図に表された地形を基準として、山岳部の頂上側へのスクロールを加算値が示す標高の増加量を限度として制限するとともに、山岳部の裾野側へのスクロールを制限しないようにすることができる。
【0014】
停止地形決定手段は、接触期間に応じて、山岳属性に属する地形を停止地形として決定するか、表面に水が存在する水属性に属する地形を停止地形として決定するかを切り替えてもよい。これにより、山岳属性に属する地形と水属性に属する地形とのうち、地図にて探している地形や、地図をスクロールさせたくない地形を停止地形として選択できる。
【0015】
さらに、停止地形決定手段は、接触期間が所定期間よりも長い場合に、いずれの地形も停止地形として決定しないようにしてもよい。そして、停止手段は、停止地形が決定されなかった場合に、フリック操作の次にタッチパネルが操作体によって接触されるまで、フリック操作に応じた地図のスクロールの停止を行わないようにしてもよい。すなわち、接触期間が所定期間よりも長い場合に、タッチパネルに表示された地図に表される地形に拘わらず、地図のスクロールを継続してもよい。接触期間を所定期間よりも長くすることにより、少ない回数のフリック操作により、遠距離のスクロールを実現できる。また、次にタッチパネルを操作体によって接触することにより、所望の位置で地図のスクロールを停止させることができる。
【0016】
さらに、本発明のように地図をスクロールさせる手法は、プログラムや方法としても適用可能である。また、以上のような地図表示システム、プログラム、方法は、単独の装置として実現される場合もあれば、車両に備えられる各部と共有の部品を利用して実現される場合もあり、各種の態様を含むものである。すなわち、地図表示システムを構成する各手段が複数の実体的な装置に分散して備えられてもよい。各手段が複数の実体的な装置に分散して備えられる場合に、各手段を機能させるために必要なデータを送受信する通信手段が備えられてもよい。さらに、以上のような地図表示システムの少なくとも一部を備えたナビゲーション装置や方法、プログラムを提供することが可能である。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、地図表示システムを制御するプログラムの記録媒体としても発明は成立する。むろん、そのソフトウェアの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【図面の簡単な説明】
【0017】
【図1】ナビゲーション装置のブロック図である。
【図2】地図スクロール処理のフローチャートである。
【発明を実施するための形態】
【0018】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)地図表示システムの構成:
(2)地図スクロール処理:
(3)他の実施形態:
【0019】
(1)地図表示システムの構成:
図1は、本発明の一実施形態にかかる地図表示システムとしてのナビゲーション装置10の構成を示すブロック図である。ナビゲーション装置10は、車両に備えられている。ナビゲーション装置10は、制御部11と記録媒体12とを備えている。制御部11は、CPUとRAMとROM等を備え、記録媒体12やROMに記憶されたプログラムを実行する。記録媒体12は、地図情報12aを記録する。地図情報12aは、交差点に対応して設定されたノードを示すノードデータと、ノード間の道路に関する情報を示すリンクデータと、ノード間の道路の形状を特定するための形状補間点データと、任意の座標(緯度,経度)の地形が特定可能な地形データ等を含んでいる。本実施形態において、地形データは地球の表面の形状をポリゴンを用いて近似した3次元立体を特定するデータであり、地形データに基づいて任意の座標における鉛直方向の標高が特定できる。地形データには地球の表面上に存在する物の種類を示す情報がポリゴンごとに対応付けられており、地図上の任意の座標の表面に存在する物の種類が特定できる。さらに、地形データにおいて、表面に水が存在する領域に属する座標については水深を特定する情報が対応付けられている。
【0020】
また、本実施形態における車両は、GPS受信部41と車速センサ42とジャイロセンサ43とタッチパネル44とを備えている。GPS受信部41は、GPS衛星からの電波を受信し、図示しないインタフェースを介して車両の現在位置を算出するための信号を出力する。制御部11は、この信号を取得して車両の現在位置を取得する。車速センサ42は、車両が備える車輪の回転速度に対応した信号を出力する。制御部11は、図示しないインタフェースを介してこの信号を取得し、車両の車速を取得する。ジャイロセンサ43は、車両に作用する角加速度に対応した信号を出力する。制御部11は図示しないインタフェースを介してこの信号を取得し、車両の走行方向を取得する。車速センサ42とジャイロセンサ43等とは、GPS受信部41の出力信号から特定される車両の現在位置を補正するなどのために利用される。タッチパネル44は、制御部11から出力された画像データに基づいて地図を表示するディスプレイと、当該ディスプレイの表面上におけるユーザの指の接触位置を検出するタッチセンサとを含む。タッチパネル44は、ユーザの指の接触位置を示す信号を制御部11に出力する。
【0021】
地図表示プログラム100は、地図表示制御部110と接触期間特定部120と停止地形決定部130と停止部140とを含む。
地図表示制御部110は、地図情報12aに基づいてタッチパネル44に地図を表示させる機能を制御部11に実行させるモジュールである。すなわち、地図表示制御部110の機能により制御部11は、タッチパネル44に表示される地図の中央位置に表されるべき中央座標(緯度、経度)を特定し、当該中央座標を中央とした領域についての地図を示す画像データを地図情報12aに基づいて描画し、当該画像データをタッチパネル44に出力する。なお、地図の中央位置は、初期基準位置と停止基準位置とに相当する。地図表示制御部110の機能により制御部11は、フリック操作に応じて地図をタッチパネル44にてスクロールさせる。フリック操作とは、地図が表示された状態のタッチパネル44上にて指を摺動させ、当該指をタッチパネル44から離す操作である。
【0022】
具体的に、地図表示制御部110の機能により制御部11は、フリック操作における指の摺動速度と摺動方向とのそれぞれに基づいて、地図のスクロール距離とスクロール方向とを決定する。例えば、スクロール距離は指がタッチパネル44から離れた時刻を終期とする所定期間における指の平均的な摺動速度に応じた距離とされ、スクロール方向は当該所定期間における指の平均的な摺動方向とされる。地図表示制御部110の機能により制御部11は、スクロール方向の反対方向に中央座標が所定のスクロール速度で移動するように中央座標を更新し、中央座標を更新するごとに、当該更新した中央座標を中央とした領域についての地図を示す画像データをタッチパネル44に出力する。本実施形態においてスクロール速度は一定値であるとする。地図表示制御部110の機能により制御部11は、原則として、スクロール距離だけ中央座標が移動した場合に地図のスクロールを停止させる。ただし、地図のスクロールをする間に停止地形が地図の中央位置に表された場合にはスクロール距離だけ中央座標が移動しなくても、停止部140の機能により地図のスクロールが停止される(当該停止については後述する)。
【0023】
接触期間特定部120は、フリック操作において指がタッチパネル44に接触していた接触期間Tを特定する機能を制御部11に実行させるモジュールである。すなわち、接触期間特定部120の機能により制御部11は、フリック操作のために指がタッチパネル44に接触した時刻から、当該指がタッチパネル44から離れるまでの時刻までの期間を接触期間Tとして特定する。
【0024】
停止地形決定部130は、接触期間Tに応じて、フリック操作に応じた地図のスクロールを停止させる地形である停止地形を決定する機能を制御部11に実行させるモジュールである。表1は、本実施形態における接触期間Tと停止地形との対応関係を示す表である。
【表1】

【0025】
表1に示すように、停止地形決定部130の機能により制御部11は、接触期間Tが1秒以下である場合、および、接触期間Tが3秒より大きい場合、いずれの地形も停止地形として決定しない。停止地形決定部130の機能により制御部11は、接触期間Tが2秒以下、かつ、1秒よりも大きい場合、水属性に属する地形のうち地形特徴値としての水深が基準水深としての100m以上の地形、および、山岳属性に属する地形のうち地形特徴値としての標高が基準標高としての1000m以上の地形を停止地形と決定する。なお、水属性には、定常的に表面に水が存在する地形(海や川や湖沼等)が属する。山岳属性には、例えば表面の標高が所定値(1000mよりも小さい)以上であり、かつ、表面に水および所定の人工物(建物等)が存在しない地形が属する。また、地上には水属性と山岳属性とのいずれにも該当しない地形属性(例えば表面に人工物が存在する市街地属性、標高が所定値未満かつ表面に人工物も水も存在しない平地属性等)に属する地形が存在するが、停止地形決定部130の機能により制御部11は、水属性と山岳属性のいずいれにも該当しない地形属性に属する地形については停止地形であると決定しない。
【0026】
さらに、停止地形決定部130の機能により制御部11は、接触期間Tが3秒以下、かつ、2秒よりも大きい場合、水属性に属する地形のうち水深が基準水深としての200m以上の地形、および、山岳属性に属する地形のうち標高が基準標高としての2000m以上の地形を停止地形と決定する。ここで、停止地形決定部130の機能により制御部11は、接触期間Tが短いほど停止地形として決定する地形の水深の下限値を意味する基準水深を小さくするとともに、接触期間Tが短いほど停止地形として決定する地形の標高の下限値を意味する基準標高を小さくすると言える。
【0027】
停止部140は、停止地形がタッチパネル44に表示された地図の中央位置に表された場合に、フリック操作に応じた地図のスクロールを停止させる機能を制御部11に実行させるモジュールである。停止部140の機能により制御部11は、タッチパネル44に表示された地図の中央位置に表された地形である現在地形(中央座標の地形)を地図情報12aの地形データに基づいて特定する。すなわち、フリック操作に応じて地図表示制御部110の機能により制御部11が地図をスクロールさせる場合に中央座標がスクロール方向の反対方向に移動するように更新されるが、当該更新がなされるごとに中央座標の地形である現在地形を停止部140の機能により制御部11は特定する。そして、現在地形が停止地形決定部130の機能により決定された停止地形に該当する場合には、スクロール距離だけ中央座標が移動しなくても、地図のスクロールを停止させる。なお、停止部140の機能により制御部11は、地形データに基づいて、現在地形の標高と表面上に存在する物の種類と水深(表面上に水が存在する場合)とを特定できる。従って、停止部140の機能により制御部11は、現在地形が停止地形決定部130の機能により決定された停止地形に該当する否かを判定できる。
【0028】
以上説明したように本実施形態において、停止地形は接触期間Tに応じて決定されるため、ユーザは接触期間Tを調整することにより意図どおりの停止地形を選択できる。すなわち、フリック操作によってユーザの意図どおりの停止地形が地図の中央位置に表された状態にて地図のスクロールを停止させることができる。例えば、ユーザが地図にて山岳属性または水属性に属する地形を探している場合において、当該地形を停止地形とする接触期間T(3秒≧T>1秒)のフリック操作を行うことより、スクロールが停止した状態の地図にて停止地形を容易に探すことができる。また、山岳属性または水属性に属する地形へと地図をスクロールさせたくない場合において、当該地形が停止地形とする接触期間Tのフリック操作を行うことにより、停止地形が地図の中央位置に表された段階でスクロールを一旦停止させることができる。そして、スクロールが一旦停止した段階で、ユーザは停止地形が地図に表されない方向へのフリック操作を行うことができる。
【0029】
また、停止地形決定部130の機能により制御部11は、水深が基準水深以上の地形を停止地形として決定するとともに、接触期間Tが短いほど基準水深を小さくする。ユーザは、接触期間Tを短くすることにより岸に近い底浅部側へと停止地形の分布範囲を広げていくことができ、接触期間Tを長くすることにより海や川や湖沼等の底深部側へと停止地形の分布範囲を狭めることができる。すなわち、接触期間Tを短くすることにより海や川や湖沼等の底浅部側にて一旦地図のスクロールを停止させることができ、道路が形成される可能性が低く、カーナビゲーション装置10を使用するユーザが視認を意図する可能性の低い底深部までスクロールが継続することが防止できる。ユーザが海や川や湖沼等の底深部を確認したい場合には、意図的に接触期間Tを長くすればよい。また、底浅部から底深部へと地図をスクロールさせる場合、接触期間Tを短くするほど地図がスクロールする距離(スクロールが停止するまでの期間)を短くすることができ、ユーザの操作感覚に合ったスクロールを実現できる。
【0030】
また、停止地形決定部130の機能により制御部11は、標高が基準標高以上の地形を停止地形として決定するとともに、接触期間Tが短いほど基準標高を小さくする。ユーザは、接触期間Tを短くすることにより山岳部の裾野側へと停止地形の分布範囲を広げ、接触期間Tを長くすることにより山岳部の頂上側へと停止地形の分布範囲を狭めることができる。すなわち、接触期間Tを短くすることにより山岳部の裾野側にて一旦地図のスクロールを停止させることができ、道路が形成される可能性が低く、ナビゲーション装置10を使用するユーザが視認を意図する可能性が低い山岳部の頂上側が表示されるまでスクロールが継続することが防止できる。ユーザが山岳部の頂上側を確認したい場合には、意図的に接触期間Tを長くすればよい。また、裾野側から頂上側へと地図をスクロールさせる場合、接触期間Tが短いほど地図がスクロールする距離が短くなる。すなわち、接触期間Tを短くするほど地図がスクロールする距離(スクロールが停止するまでの期間)を短くすることができ、ユーザの操作感覚に合ったスクロールを実現できる。
【0031】
(3)地図スクロール処理:
図2は、ナビゲーション装置10が実行する地図スクロール処理のフローチャートである。ステップS100において接触期間特定部120の機能により制御部11は、タッチパネル44に指が接触しているか否かを判定する。タッチパネル44に指が接触していない場合に、接触期間特定部120の機能により制御部11は、所定の微小期間ΔTだけ待機した後に、ステップS100にてタッチパネル44に指が接触しているか否かを再度判定する。なお、ユーザの指の接触位置を示す信号がタッチパネル44から出力されている場合には、タッチパネル44に指が接触していると判定できる。ステップS100にてタッチパネル44に指が接触していると判定された場合、ステップS105において接触期間特定部120の機能により制御部11は、接触期間Tに微小期間ΔTを加算する。
【0032】
ステップS110において、接触期間特定部120の機能により制御部11は、タッチパネル44に指が接触しているか否かを判定する。タッチパネル44に指が接触していると判定された場合、接触期間特定部120の機能により制御部11は、微小期間ΔTだけ待機した後に、ステップS105にて接触期間Tに微小期間ΔTを加算する。すなわち、ステップS110においては、微小期間ΔTごとに指が継続してタッチパネル44に接触しているか否かを判定し、指が継続してタッチパネル44に接触している場合には、接触期間Tに微小期間ΔTが順次加算していく。なお、ステップS100からステップS105に移行した場合、すなわちタッチパネル44にて指の接触が開始した場合、制御部11は、接触期間Tを0秒にリセットする。従って、ステップS100〜S110を実行することにより、タッチパネル44に指が接触してから離れるまでの期間を接触期間Tとして特定できる。
【0033】
ステップS110においてタッチパネル44に指が接触していると判定されなかった場合、ステップS115において地図表示制御部110の機能により制御部11は、スクロール距離とスクロール方向とを特定する。ステップS110においてタッチパネル44に指が接触していると判定されなかった場合とは、フリック操作において指が離れたことを意味する。地図表示制御部110の機能により制御部11は、ステップS110にてタッチパネル44に指が接触していると判定されなかった時刻を終期とする所定期間における指の平均的な摺動速度と摺動方向とをタッチパネル44における指の接触位置の推移に基づいて特定する。そして、地図表示制御部110の機能により制御部11は、平均的な摺動速度が大きいほどスクロール距離を大きくするとともに、スクロール方向を平均的な摺動方向とする。なお、地図表示制御部110の機能により制御部11は、平均的な摺動速度が所定値以下である場合等には、ユーザがフリック操作を意図していないと判定し、地図のスクロールを行わないようにしてもよい。
【0034】
ステップS120において地図表示制御部110の機能により制御部11は、単位時間分の地図のスクロールを実行する。すなわち、地図表示制御部110の機能により制御部11は、スクロール方向の反対方向に中央座標が所定の単位スクロール距離だけ移動するように中央座標を更新し、当該更新した中央座標を中央とした領域についての地図を示す画像データをタッチパネル44に出力する。単位スクロール距離とは、上述したスクロール速度に単位時間を乗算した距離である。例えば地図上において南方向に指を摺動させた場合には、中央座標が北方向に移動するように地図がスクロールされる。
【0035】
ステップS125において、停止部140の機能により制御部11は、タッチパネル44に表示された地図の中央位置に表された現在地形を地図情報12aの地形データに基づいて特定する。すなわち、停止部140の機能により制御部11は、地図表示制御部110の機能により更新されている中央座標の地形である現在地形についての標高と表面上に存在する物の種類と水深(表面上に水が存在する場合)とを特定する。
【0036】
ステップS130において、停止地形決定部130の機能により制御部11は、接触期間Tが3秒よりも大きいか否かを判定する。接触期間Tが3秒よりも大きいと判定された場合、ステップS135において、地図表示制御部110の機能により制御部11は、スクロール距離だけ地図のスクロールが完了したか否かを判定する。すなわち、制御部11は、フリック操作における摺動速度に対応するスクロール距離だけ中央座標が移動したか否かを判定する。スクロール距離だけ地図のスクロールが完了したと判定されなかった場合には、ステップS120に戻り、再度、単位スクロール距離だけ地図をスクロールさせる。一方、ステップS135においてスクロール距離だけ地図のスクロールが完了したと判定された場合、停止部140の機能により制御部11は、地図スクロール処理を終了させる。すなわち、再度、ステップS120における地図のスクロールを実行させることなく、地図のスクロールを停止させる。以上説明したステップS120〜S135を実行することにより、接触期間Tが3秒よりも大きい場合には、フリック操作における摺動速度に対応するスクロール距離だけタッチパネル44に表示された地図がスクロールするまで、スクロールを継続させることができる。
【0037】
ここで、ステップS130において停止地形決定部130の機能により制御部11が接触期間Tが3秒よりも大きいと判定した場合にステップS135を実行することは、いずれの地形も停止地形として決定しないことを意味する。すなわち、ステップS130において接触期間Tが3秒よりも大きいと判定された場合、地図の中央位置に表された現在地形が停止地形に該当するか否かの判定を行うことなく、制御部11は、フリック操作における摺動速度に対応するスクロール距離だけ地図のスクロールが完了しているか否かに応じてスクロールを停止させるか否かを決定することとなる。
【0038】
ステップS130において接触期間Tが3秒よりも大きいと判定されなかった場合、ステップS140において停止地形決定部130の機能により制御部11は、接触期間Tが3秒以下であり、かつ、2秒よりも大きいか否かを判定する。接触期間Tが3秒以下であり、かつ、2秒よりも大きいと判定された場合、ステップS145において停止部140の機能により制御部11は、現在地形が水属性に属し、かつ、水深が200m以上である地形と、山岳属性に属し、かつ、標高が2000m以上である地形とのいずれかに該当するか否かを判定する。
【0039】
ステップS145において現在地形が水属性に属し、かつ、水深が200m以上である地形と、山岳属性に属し、かつ、標高が2000m以上である地形とのいずれかに該当すると判定されなかった場合、制御部11はステップS135を実行する。すなわち、フリック操作における摺動速度に対応するスクロール距離だけ地図のスクロールが完了しているか否かに応じてスクロールを停止させるか否かを決定する。
【0040】
一方、ステップS145において現在地形が、水属性に属し、かつ、水深が200m以上である地形と、山岳属性に属し、かつ、標高が2000m以上である地形とのいずれかに該当すると判定された場合、制御部11は地図スクロール処理を終了させる。すなわち、現在地形が接触期間Tが3秒以下であり、かつ、2秒よりも大きい場合の停止地形であった場合、フリック操作における摺動速度に対応するスクロール距離だけ地図のスクロールが完了しているか否かに拘わらず、スクロールを停止させる。例えば、地図の中央位置に平野部が表される状態から山岳部に向けてフリック操作を行った場合に、スクロール距離だけ地図のスクロールが完了しなくても、標高が2000mの山岳部の地点が地図の中央位置に表された状態で地図のスクロールを停止させることができる。なお、ステップS140において停止地形決定部130の機能により制御部11が接触期間Tが3秒以下であり、かつ、2秒よりも大きいか否かを判定した場合にステップS145を実行することは、水属性に属し、かつ、水深が200m以上である地形と、山岳属性に属し、かつ、標高が2000m以上である地形とを停止地形として決定することを意味する。
【0041】
ステップS140において接触期間Tが3秒以下であり、かつ、2秒よりも大きいと判定されなかった場合、ステップS150において停止地形決定部130の機能により制御部11は、接触期間Tが2秒以下であり、かつ、1秒よりも大きいか否かを判定する。接触期間Tが2秒以下であり、かつ、1秒よりも大きいと判定された場合、ステップS155において停止部140の機能により制御部11は、現在地形が水属性に属し、かつ、水深が100m以上である地形と、山岳属性に属し、かつ、標高が1000m以上である地形とのいずれかに該当するか否かを判定する。
【0042】
ステップS150において現在地形が水属性に属し、かつ、水深が100m以上である地形と、山岳属性に属し、かつ、標高が1000m以上である地形とのいずれかに該当すると判定されなかった場合、制御部11はステップS135を実行する。すなわち、フリック操作における摺動速度に対応するスクロール距離だけ地図のスクロールが完了しているか否かに応じてスクロールを停止させるか否かを決定する。
【0043】
一方、ステップS155において現在地形が水属性に属し、かつ、水深が100m以上である地形と、山岳属性に属し、かつ、標高が1000m以上である地形とのいずれかに該当すると判定された場合、制御部11は地図スクロール処理を終了させる。すなわち、現在地形が接触期間Tが2秒以下であり、かつ、1秒よりも大きい場合の停止地形であった場合、フリック操作における摺動速度に対応するスクロール距離だけ地図のスクロールが完了しているか否かに拘わらず、スクロールを停止させる。例えば、地図の中央位置に平野部が表される状態から山岳部に向けてフリック操作を行った場合に、スクロール距離だけ地図のスクロールが完了しなくても、標高が1000mの山岳部の地点が地図の中央位置に表された状態で地図のスクロールを停止させることができる。なお、ステップS150において停止地形決定部130の機能により制御部11が接触期間Tが2秒以下であり、かつ、1秒よりも大きいか否かを判定した場合にステップS155を実行することは、水属性に属し、かつ、水深が100m以上である地形と、山岳属性に属し、かつ、標高が1000m以上である地形を停止地形として決定することを意味する。
【0044】
地図の中央位置に平野部が表される状態から山岳部に向けてフリック操作を行った場合、接触期間Tが2秒以下であり、かつ、1秒よりも大きい場合の方が、接触期間Tが3秒以下であり、かつ、2秒よりも大きい場合よりも基準標高が小さくなるため、裾野側でスクロールが停止する。すなわち、地図の中央位置に平野部が表される状態から山岳部に向けてフリック操作を行った場合、接触期間Tが短くなるほどスクロールする距離(スクロールが停止するまでの期間)が短くなり、ユーザの操作感覚に合ったスクロールを実現できる。
【0045】
なお、ステップS150において接触期間Tが2秒以下であり、かつ、1秒よりも大きいと判定されなかった場合、制御部11はステップS135を実行する。すなわち、フリック操作における摺動速度に対応するスクロール距離だけ地図のスクロールが完了しているか否かに応じてスクロールを停止させるか否かを決定する。ステップS150において接触期間Tが2秒以下であり、かつ、1秒よりも大きいと判定されなかった場合、接触期間Tが1秒以下であり、表1に示すようにいずれの地形も停止地形として決定されない。従って、制御部11は、現在地形が停止地形に該当するか否かの判定を行うことなく、フリック操作における摺動速度に対応するスクロール距離だけ地図のスクロールが完了しているか否かに応じてスクロールを停止させるか否かを決定されることとなる。
【0046】
(3)他の実施形態:
停止地形決定部130の機能により制御部11は、表2に示す接触期間Tと停止地形との対応関係に基づいて停止地形を決定してもよい。
【表2】

表2に示すように、停止地形決定部130の機能により制御部11は、接触期間Tが3秒よりも大きい場合には、前記実施形態のようにいずれの地形も停止地形が決定せず、スクロール距離だけ継続して地図がスクロールされる。また、停止地形決定部130の機能により制御部11は、接触期間Tが2秒よりも大きく、かつ、3秒以下である場合には、水属性に属する地形(水深は不問)を停止地形として決定し、山岳属性に属する地形を停止地形として決定しない。停止地形決定部130の機能により制御部11は、接触期間Tが1秒よりも大きく、かつ、2秒以下である場合には、山岳属性に属する地形のうち標高が1000m以上の地形を停止地形として決定し、水属性に属する地形を停止地形として決定しない。停止地形決定部130の機能により制御部11は、接触期間Tが1秒以下である場合には、山岳属性に属する地形のうち標高が500m以上の地形を停止地形として決定し、水属性に属する地形を停止地形として決定しない。
【0047】
以上説明した本実施形態においては、水属性に属する地形を停止地形と決定するか、山岳属性に属する地形を停止地形と決定するかが接触期間Tに応じて切り替えられる。例えば接触期間Tが2秒以下となるようにフリック操作を行うことにより、山岳部においてのみスクロールを停止させることができ、海などが地図全体に表されている場合でも効率よく陸地を探すことができる。また、接触期間Tが3秒以下であり、かつ、2秒よりも大きくとなるようにフリック操作を行うことにより、海や川や湖沼等にてスクロールを停止させることができ、山岳部にて停止させることなく地図をスクロールさせることができ、山岳部が地図全体に表されている場合に海や川や湖沼等を効率よく探すことができる。
【0048】
また、停止地形を決定しない場合に、フリック操作の後に、タッチパネル44が再度接触された段階で地図のスクロールを停止させてもよい。例えば、接触期間Tが3秒よりも大きい場合には、タッチパネル44が再度接触された段階で地図のスクロールを停止させてもよい。本実施形態において、図2のステップS130において接触期間Tが3秒よりも大きいと判定された場合、停止部140の機能により制御部11は、タッチパネル44に指が再度接触したか否かを判定する。そして、タッチパネル44に指が再度接触したと判定した場合、地図スクロール処理を終了させる。すなわち、ステップS120にて地図がスクロールされなくなり、地図のスクロールが停止する。タッチパネル44に指が再度接触したと判定されなかった場合、ステップS120にて地図スクロール処理を継続する。
【0049】
ここで、本実施形態では表3に示すように接触期間Tが1秒以下の場合にも接触期間Tが3秒よりも大きい場合と同様に、停止地形を決定しないが、接触期間Tが1秒以下の場合には第1実施形態と同様に摺動速度に対応するスクロール距離だけ地図がスクロールした場合にスクロールを停止させる(図2のステップS150,S135)。すなわち、接触期間Tが3秒よりも大きい場合と、接触期間Tが1秒以下の場合とのいずれにおいても停止地形を決定しないが、接触期間Tが3秒よりも大きい場合と、接触期間Tが1秒以下の場合とでスクロールの停止手法が異なる。このように、接触期間Tに応じて複数の停止手法を選択できるようにすることにより、ユーザの好みの停止手法でスクロールを停止させることができる。例えば、スクロール先までの距離が長い場合には接触期間Tを3秒より大きくし、スクロール先までの距離が短い場合には接触期間Tを1秒以下とすればよい。
【0050】
さらに、停止地形決定部130の機能により制御部11は、フリック操作に応じた地図のスクロールを行う前に、地図の中央位置に表されていた地形の水深である初期水深を特定し、初期水深に加算値を加算した値を基準水深として決定してもよい。さらに、停止地形決定部130の機能により制御部11は、フリック操作に応じた地図のスクロールを行う前に、地図の所定の中央位置に表されていた地形の標高である初期標高を特定し、初期標高に加算値を加算した値を基準標高として決定してもよい。停止地形決定部130の機能により制御部11は、接触期間が短いほど水深の加算値および標高の加算値を小さく決定する。これにより、接触期間Tが短いほど基準水深と基準標高とを小さくすることができる。
【0051】
【表3】

表3は、本実施形態における接触期間Tと停止地形との対応関係を示す表である。例えば、図2のステップS115において停止地形決定部130の機能により制御部11は、スクロール実行前にてタッチパネル44に表示された地図の中央位置に表された地形の水深(水属性に属する地形である場合)と標高とをそれぞれ初期水深と初期標高として特定する。そして、図2のステップS145において停止部140の機能により制御部11は、現在地形が水属性に属し、かつ、初期水深に10mを加算した水深である基準水深以上である地形と、山岳属性に属し、かつ、初期標高に100mを加算した標高である基準標高以上である地形とのいずれかに該当するか否かを判定する。同様に、図2のステップS155において停止部140の機能により制御部11は、現在地形が水属性に属し、かつ、初期水深に100mを加算した基準水深以上である地形と、山岳属性に属し、かつ、初期標高に1000mを加算した基準標高以上である地形とのいずれかに該当するか否かを判定する。
【0052】
以上の構成において、初期水深よりも水深が小さい地形、および、初期標高よりも標高が小さい地形が地図の中央位置に表された場合には、接触期間Tの長さに拘わらず地図のスクロールを継続させることができる。すなわち、海や川や湖沼等の底深部側へのスクロールを加算値に対応する水深の増加量によって制限するとともに、海や川や湖沼等の底浅部側へのスクロールを水深の変化量によって制限しないようにすることができる。これにより、ユーザが視認を意図する可能性が高い底浅部側が表示されるように地図をスクロールさせることができる。同様に、山岳部の頂上側へのスクロールを加算値に対応する標高の増加量によって制限するとともに、山岳部の裾野側へのスクロールを標高の変化量によって制限しないようにすることができる。これにより、ユーザが視認を意図する可能性が高い裾野側が表示されるように地図をスクロールさせることができる。
【0053】
前記実施形態においては、フリック操作が単独で行われる場合を例示したが、フリック操作以外のドラッグ操作等から指をタッチパネル44に接触させたまま引き続きフリック操作を行う場合も考えられる。この場合、タッチパネル44に接触している指の移動状態が所定のフリック操作開始条件を満足した時刻を接触期間の始期と特定してもよい。通常、フリック操作を開始するためにタッチパネル44上にて一旦指を停止させるため、タッチパネル44上における指の移動速度が所定速度以下に転じることをフリック操作開始条件としてもよい。操作体は、指等のユーザの体の一部であってもよいし、スタイラスペン等の機器であってもよい。
【0054】
停止部140の機能により制御部11は、停止地形がタッチパネル44に表示された地図のいずれかの位置に表された場合にスクロールを停止させればよく、タッチパネル44に表示された地図において停止地形が表わされた位置に拘わらずスクロールを停止させてもよい。なお、停止基準位置は地図の中央位置でなくてもよく、例えばタッチパネル44の中央位置であってもよいし、フリック操作においてユーザが指を接触させていた位置であってもよい。停止部140の機能により制御部20は、フリック操作に応じたスクロール条件下で停止地形が地図に表されるタイミングを予測し、当該タイミングが到来した場合に地図のスクロールを停止させてもよい。
【符号の説明】
【0055】
10…ナビゲーション装置、11…制御部、12…記録媒体、12a…地図情報、41…GPS受信部、42…車速センサ、43…ジャイロセンサ、44…タッチパネル、100…地図表示プログラム、110…地図表示制御部、120…接触期間特定部、130…停止地形決定部、140…停止部、T…接触期間。

【特許請求の範囲】
【請求項1】
地図が表示されたタッチパネル上にて操作体を摺動させ、当該操作体を前記タッチパネルから離すフリック操作に応じて、前記地図を前記タッチパネルにてスクロールさせる地図表示システムであって、
前記フリック操作において前記操作体が前記タッチパネルに接触していた接触期間を特定する接触期間特定手段と、
前記接触期間に応じて、前記フリック操作に応じた前記地図のスクロールを停止させる地形である停止地形を決定する停止地形決定手段と、
前記タッチパネルに表示された前記地図において前記停止地形が表された場合に、前記フリック操作に応じた前記地図のスクロールを停止させる停止手段と、
を備える地図表示システム。
【請求項2】
前記停止地形決定手段は、水深が基準水深以上の地形を前記停止地形として決定するとともに、前記接触期間が短いほど前記基準水深を小さくする、
請求項1に記載の地図表示システム。
【請求項3】
前記停止地形決定手段は、
前記フリック操作に応じた前記地図のスクロールを行う前に、前記地図の所定の初期基準位置に表されていた地形の水深である初期水深を特定し、
前記接触期間が短いほど小さく決定される加算値を、前記初期水深に加算した水深を前記基準水深として決定する、
請求項2に記載の地図表示システム。
【請求項4】
前記停止地形決定手段は、標高が基準標高以上の地形を前記停止地形として決定するとともに、前記接触期間が短いほど前記基準標高を小さくする、
請求項1から請求項3のいずれか一項に記載の地図表示システム。
【請求項5】
前記停止地形決定手段は、
前記フリック操作に応じた前記地図のスクロールを行う前に、前記地図の所定の初期基準位置に表されていた地形の標高である初期標高を特定し、
前記接触期間が短いほど小さく決定される加算値を、前記初期標高に加算した標高を前記基準標高として決定する、
請求項4に記載の地図表示システム。
【請求項6】
前記停止地形決定手段は、
前記接触期間に応じて、山岳属性に属する地形を前記停止地形として決定するか、表面に水が存在する水属性に属する地形を前記停止地形として決定するかを切り替える、
請求項1から請求項5のいずれか一項に記載の地図表示システム。
【請求項7】
前記停止地形決定手段は、前記接触期間が所定期間よりも長い場合に、前記停止地形を決定せず、
前記停止手段は、前記停止地形が決定されなかった場合に、前記フリック操作の次に前記タッチパネルが前記操作体によって接触されるまで、前記フリック操作に応じた前記地図のスクロールの停止を行わない、
請求項1から請求項6のいずれか一項に記載の地図表示システム。
【請求項8】
地図が表示されたタッチパネル上にて操作体を摺動させ、当該操作体を前記タッチパネルから離すフリック操作に応じて、前記地図を前記タッチパネルにてスクロールさせる地図表示方法であって、
前記フリック操作において前記操作体が前記タッチパネルに接触していた接触期間を特定する接触期間特定工程と、
前記接触期間に応じて、前記フリック操作に応じた前記地図のスクロールを停止させる地形である停止地形を決定する停止地形決定工程と、
前記タッチパネルに表示された前記地図において前記停止地形が表された場合に、前記フリック操作に応じた前記地図のスクロールを停止させる停止工程と、
を含む地図表示方法。
【請求項9】
地図が表示されたタッチパネル上にて操作体を摺動させ、当該操作体を前記タッチパネルから離すフリック操作に応じて、前記地図を前記タッチパネルにてスクロールさせる機能をコンピュータに実行させる地図表示プログラムであって、
前記フリック操作において前記操作体が前記タッチパネルに接触していた接触期間を特定する接触期間特定機能と、
前記接触期間に応じて、前記フリック操作に応じた前記地図のスクロールを停止させる地形である停止地形を決定する停止地形決定機能と、
前記タッチパネルに表示された前記地図において前記停止地形が表された場合に、前記フリック操作に応じた前記地図のスクロールを停止させる停止機能と、
をコンピュータに実行させる地図表示プログラム。

【図1】
image rotate

【図2】
image rotate