JP2016114857A - 情報処理装置、その制御方法、プログラム、及び記憶媒体 - Google Patents
情報処理装置、その制御方法、プログラム、及び記憶媒体 Download PDFInfo
- Publication number
- JP2016114857A JP2016114857A JP2014254596A JP2014254596A JP2016114857A JP 2016114857 A JP2016114857 A JP 2016114857A JP 2014254596 A JP2014254596 A JP 2014254596A JP 2014254596 A JP2014254596 A JP 2014254596A JP 2016114857 A JP2016114857 A JP 2016114857A
- Authority
- JP
- Japan
- Prior art keywords
- map
- screen
- displayed
- information processing
- processing apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Navigation (AREA)
- User Interface Of Digital Computer (AREA)
- Instructional Devices (AREA)
Abstract
【課題】 本発明は、広域地図上に示された2点の位置の関係と、該2点の間に存在する部分の詳細地図の両方を直感的に把握可能な地図アプリケーションを提供することを目的とする。【解決手段】 上記目的のため、本発明は、第1の位置と第2の位置を含む地図を、少なくとも、前記第1の位置(202)の周辺領域(211)と、前記第2の位置(204)の周辺領域(215)とを含む複数の領域に分割し、所定の表示部における画面に、前記分割された前記複数の領域を前記地図における位置関係を維持した状態で配置し、隣接する領域の境界で前記地図が不連続となる場合、前記境界に省略される部分地図が存在することを示すボーダーオブジェクト(212,214)を表示させる。【選択図】 図2
Description
本発明は、表示された地図を操作するユーザインタフェースに関する。
近年、スマホやタブレットPC上で地図を扱うアプリケーションが広まっており、タッチ操作で簡単に地図の操作ができるようになっている。例えば、ドラッグで地図のスクロール、マルチタッチ操作を利用し、ピンチアウトで地図の拡大、ピンチインで地図の縮小を指示する操作が一般に広まっている。ここでドラッグとはタッチ状態を維持したまま指やスタイラスなどをスライド移動させタッチ位置を動かす操作、ピンチアウトとは複数のタッチ位置の間隔を広げるように動かす操作、ピンチインとは複数のタッチ位置の間隔を狭めるように動かす操作である。
さらに、地図アプリケーションには、表示された地図に、移動の始点(出発地、現在地)と終点(目的地)を設定し、その間の移動経路を表示する機能が搭載されたものが多い。利用者は、経路の全体を把握するためには、地図上の始点と終点を同時に画面内に収まるように地図の縮尺を縮小し、一方で途中経路の詳細を見るためには地図の縮尺を拡大するように調節するのが一般的である。特許文献1には、始点と終点を同時に広域地図で表示した画面に、移動経路の詳細を見るために一部を拡大した部分地図を重畳する地図アプリケーションが提案されている。
特許文献1のように2つの地図を重畳させる表示方式では、拡大された部分地図が、経路全体のどのあたりに存在するのかを利用者が直感的に理解するのが難しかった。
本発明は、広域地図上に示された2点の位置の関係と、該2点の間に存在する部分の詳細地図の両方を直感的に把握可能な地図アプリケーションを提供することを目的とする。
上記課題を解決するために、本発明に係る情報処理装置は、第1の位置と第2の位置を含む地図を、少なくとも、前記第1の位置の周辺領域と、前記第2の位置の周辺領域とを含む複数の領域に分割する分割手段と、所定の表示部における画面に、前記分割手段によって分割された前記複数の領域を前記地図における位置関係を維持した状態で配置し、隣接する領域の境界で前記地図が不連続となる場合、前記境界に省略される部分地図が存在することを示すボーダーオブジェクトを表示させる表示制御手段とを備える。
本発明によれば、広域地図上に示された2点の位置の関係と、該2点の間に存在する部分の詳細地図の両方を直感的に把握可能な地図アプリケーションを提供することができる。
以下、本発明を実施するための形態について、図面を参照しながら説明する。なお、以下で説明する実施形態は、本発明を具体的に実施した場合の一例を示すものであり、これに限るものではない。
<第1の実施形態>
図1(a)は、本実施形態に適用可能な情報処理装置100のハードウェア構成を示すブロック図の一例である。図1(b)において、CPU101は、Central Processing Unitである。また、ROM102は、Read Only Memoryであり、HDD103は、Hard Disk Driveである。本実施形態では、CPU101が、ROM102やHDD103に格納されている制御プログラムを読み出して実行し、各デバイスを制御する。この制御プログラムは、後述するフローチャート等に示される各種動作を情報処理装置100に実行させるための制御プログラムである。ROM102は、それらの制御プログラムやそのプログラムに利用される各種データを保持する。RAM104は、Random Access Memoryであり、CPU101の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。HDD103は、上述の各種制御プログラムや各種データを格納する。本実施形態では、特に、外部サーバ装置から取得した地図を表示し、指示された出発地から目的地までの移動経路をユーザに対して提示するアプリケーションプログラムが格納されている。
図1(a)は、本実施形態に適用可能な情報処理装置100のハードウェア構成を示すブロック図の一例である。図1(b)において、CPU101は、Central Processing Unitである。また、ROM102は、Read Only Memoryであり、HDD103は、Hard Disk Driveである。本実施形態では、CPU101が、ROM102やHDD103に格納されている制御プログラムを読み出して実行し、各デバイスを制御する。この制御プログラムは、後述するフローチャート等に示される各種動作を情報処理装置100に実行させるための制御プログラムである。ROM102は、それらの制御プログラムやそのプログラムに利用される各種データを保持する。RAM104は、Random Access Memoryであり、CPU101の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。HDD103は、上述の各種制御プログラムや各種データを格納する。本実施形態では、特に、外部サーバ装置から取得した地図を表示し、指示された出発地から目的地までの移動経路をユーザに対して提示するアプリケーションプログラムが格納されている。
タッチパネルディスプレイ105は、画面に対するユーザの操作情報を取り込むためのタッチセンサ等と表示出力を行う表示画面を兼ねるデバイスである。タッチパネルディスプレイ105は、入力領域102が人の手指などでタッチされた場合にその接触部分を検出し、入力領域102に定義される座標平面上で、タッチされている位置を1つの座標点として特定する。接触部分が面積を有する場合にはその重心あるいは中心の座標を特定する。また、本実施形態のタッチパネルディスプレイ105は、いわゆるマルチタッチ検出が可能なものであって、同時刻において指示されている1以上の入力位置を全て検出することができるものである。タッチの検出方式は、抵抗膜方式、静電容量方式、赤外線方式、超音波方式、音響波方式、振動検出方式等の各種タッチパネルが利用できる。他にも、距離画像センサや、ステレオカメラなどの三次元空間での位置を検出できるもので入力対象面に触れたかどうかを検出し、入力対象面上で定義される位置情報を取得してもよい。また、情報処理装置の表面に接触していない、近接した状態でのユーザの指などの位置情報を検出できる検出手段を用いて得られた近接状態での位置(近接位置)情報を、入力位置として扱うことも可能である。なお、本実施形態では、入力位置は1点の座標点として検出するものとするが、これに限らない。面積を持った接触部分全体を入力位置とみなしてもよく、また例えば入力領域102をアレイ状のタッチエリアに分割し、いずれのエリアにおいてタッチが検出されているかを示すエリアの識別情報を、入力位置として扱うこともできる。
入出力I/F106はネットワーク等を介して接続される外部装置から入力情報を得たり、各種情報を出力したりするためのインタフェースである。GPSレシーバ107は、GPS衛星から発せられる電波を受信し、GPS情報に基づいて情報処理装置100が存在する現在地の緯度と経度を取得するデバイスである。バス108は、CPU101の制御の対象とする構成要素を指示するアドレス信号、各構成要素を制御するためのコントロール信号、各構成機器相互間でやりとりされるデータの転送を行う。なお、上述した制御プログラムは、ROM102又はHDD103に予め記憶されていてもよいし、必要に応じてネットワークを介して外部装置などから受理し、ROM102又はHDD103に記憶しても良い。
図1(b)は、情報処理装置100のソフトウェアの構成を示すブロック図の一例である。これらの各機能部は、CPU101が、ROM102に格納されたプログラムをRAM104に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、CPU101を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
受付部111は、タッチパネルディスプレイ105から出力された信号に基づいて、ユーザによる入力位置を取得し、その位置や軌跡と予め格納された辞書との比較により、ユーザ操作を受け付ける。本実施形態では、少なくとも地図アプリケーション起動中には、地図上をタッチしてドラッグすることによる地図のスクロール操作と、地図上をマルチタッチしてピンチアウト/ピンチインすることによる拡大/縮小操作を受付可能である。また、ユーザ操作に基づいて、移動経路を提示するために入力される、出発地としての第1の位置情報と、目的地としての第2の位置情報を取得する。
判定部112は、受付部111がスクロール操作あるいは拡大/縮小操作の詳細と、後述する表示制御部115によって表示されている地図の表示状態とに基づいて、操作に従った場合に、第1の位置と第2の位置の両方が前記画面内に収まるかを判定する。収まらないと判定した場合は、分割部113に、第1の位置と第2の位置とを含む広域地図の分割を支持する。
分割部113は、判定部112から通知された指示に従い、第1の位置と第2の位置とを含む広域地図を、少なくとも、前記第1の位置の周辺領域と、前記第2の位置の周辺領域とを含む複数の領域に分割する。そして、分割された地図の情報を表示制御部115に通知する。
地図取得部114は、地図アプリケーションと予め対応づいた外部の地図サーバから、画面に表示すべき地図情報を取得する。例えば、GPSレシーバ107が受信した現在地情報に基づいて、現在地周辺の地図を取得したり、受付部111が受け付けた操作によって指定された位置周辺の地図を取得する。
表示制御部115は、地図取得部114によって取得された地図情報や、分割部113による地図分割の結果、あるいはユーザ操作の結果に基づいて、表示画面に表示させる描画データを生成し、タッチパネルディスプレイ105に出力する。分割された部分地図を表示させる場合は、区分された複数の領域を前記地図における位置関係を維持した状態で配置する。そして、隣接する領域の境界で前記地図が不連続となる場合には、該境界部分に省略される部分地図が存在することを示すボーダーオブジェクトを表示させる。本実施形態において、ボーダーオブジェクトは、地図がたるんでいることを表す皺のメタファを用いる。
次に、図2を参照して、本実施形態の地図アプリケーションと、ボーダーオブジェクトについて説明する。図2は、本実施形態に係る情報処理装置100での地図の表示態様の一例である。情報処理装置200は、画面201に広域地図と、目的地を示す指示点A(地点202)と出発地を表す指示点B(地点204)を表示し、さらに、地図に重畳して指示点Bから指示点Aまでの移動経路を表示している状態を表す。この状態で、ユーザがピンチアウト操作を入力し地図の拡大を指示したとする。このとき、拡大操作の中心となった座標が拡大中心203であるとする。また、この時、受け付けられた拡大操作が指示する拡大率(縮尺)は、指示点A及び指示点Bが両方とも画面201に収まることができない程大きかったとする。
情報処理装置210は、本実施形態に係る地図アプリケーションにおいて、拡大操作に従って画面211に表示される表示内容が更新された状態を表す。本実施形態では、指示点A及び指示点Bが両方とも画面201に収まらない程度の拡大が指示された場合、広域地図を複数の部分地図に分割し表示する。図2の場合、指示点Aの周辺領域の地図である目的地周辺地図211と、指示点Bの周辺領域の地図である出発地周辺地図215と、拡大中心203付近が拡大操作に従って拡大された拡大地図213の3つの領域に分割される。各領域は、元の地図上での位置関係を維持した配置で表示される。ここで、目的地周辺地図211と出発地周辺地図215とが、拡大操作の前の縮尺のまま表示されているのに対し、拡大地図213の縮尺が変化しているため、各領域が隣接する部分の境界で地図が不連続となる。本実施形態では、地図が不連続となる境界に、該境界部分に、画面に表示されていない省略部分が存在することを表すボーダーオブジェクトを表示する。目的地周辺地図211と拡大地図213の境界には、ボーダーオブジェクト212が表示され、出発地周辺地図215と拡大地図213の境界には、ボーダーオブジェクト214が表示されている。
本実施形態では、ボーダーオブジェクトは、地図がたるんでいる様子を表す「皺」を表現するメタファを用いて表示する。ここで、ボーダーオブジェクトの重要な目的は、ユーザがボーダーオブジェクトを視認することによって、部分地図が省略されていても、指示点間の距離を直感的に分ることである。本実施形態では、地図の隠れた部分の範囲が広ければ、地図のたるみが大きくなる、あるいは皺が多くなるという直感的な現象を表すため、ボーダーオブジェクトの数や幅を変化させる。すなわち、省略部分が大きければ、ボーダーオブジェクトを多く、あるいは太く表示させる。これにより、地図が画面の奥行き方向にたるんだことで、限られた面積の画面に表示できる地図の範囲が広くなったことを表現する。ここで、ボーダーオブジェクトの数が多くなっても、表示画面にあまり面積を占有しないことも必要である。つまり、ボーダーオブジェクトを多く、あるいは太く表示させても、省略部分の地図を元の縮尺で表示するのに比べて、表示に用いる範囲は小さい。
なお、本実施形態では、分割された複数の領域の地図の縮尺はそれぞれ独立して指示されることが可能である。この点は、例えば、地図が伸縮性のある素材(例えばゴム)でできているような表示効果を加えることで、直感的に理解され易くなる。例えば、拡大地図213の拡大率を大きくしても、ボーダーオブジェクト212という疑似的なたるみ部分が存在することで、目的地周辺地図211は縮んだ状態で表示され続ける。このとき、皺のメタファの形状を台形や円弧型にすることで、より表示効果を高めてもよい。
なお、本実施形態の地図アプリケーションでは、出発地から目的地までの移動経路は複数の候補を重ねて表示してもよいし、特定の操作に応じてランク付けされた候補を切り替えるようにしてもよい。また、移動経路の中には、交通機関を使用する部分が含まれている場合もあるとする。出発地から目的地までの移動経路を求め、ユーザに提示する機能は、既存の記述によって実現可能であり、本発明の特徴ではないため、以下では詳細には説明しない。図面においても表記を省略する。本実施形態で説明する、出発地と目的地とその間に存在する注目部分の位置関係と、各々の詳細地図を同時に画面上に表示させる機能は、出発地から目的地までの移動経路を提示する機能とは独立して利用されても効果を奏することができる。例えば、ある地点の周囲、あるいはある地点とある地点と間に存在するスポット(例えば駅や郵便局)を地図上にアイコンやサムネイル写真を重畳させることで提示する機能において、各スポットの周辺を拡大して詳細を確認したい場合にも適用できる。
<メイン処理の流れ>
次に、図3を参照して、本実施形態に係る情報処理装置100が実行するメイン処理の流れを説明する。図3は、本実施形態において、出発地と目的地とその間に存在する注目部分の位置関係と、各々の詳細を同時に表示する機能のメイン処理の流れを示すフローチャートである。
次に、図3を参照して、本実施形態に係る情報処理装置100が実行するメイン処理の流れを説明する。図3は、本実施形態において、出発地と目的地とその間に存在する注目部分の位置関係と、各々の詳細を同時に表示する機能のメイン処理の流れを示すフローチャートである。
本実施形態では、情報処理装置100において地図アプリケーションにおいて、経路検索の機能が起動されると、図3で示したフローチャートの処理が開始される。図3のフローに入ると、まず受付部111が、ユーザ操作に基づいて指定された、地図上の第1の位置及び第2の位置を取得する(ステップS301)。取得する位置は、例えば出発地と目的地を示す、1以上の地図上の指示点である。なお出発地は、入力されない場合、自動的に現在地のGPS情報を利用するとしてもよい。そして、地図取得部114が、ユーザから指定された指示点を全て含む範囲の地図を地図サーバから取得し、表示制御部115が、取得された地図の拡大率などを調整して画面に表示する(ステップS302)。このとき、地図サーバから提供された移動経路の候補も重畳して表示する。そして、受付部111は、ユーザによって入力される、地図に対する操作を受け付ける(ステップS303)。ここで受け付ける操作は、表示されている第1の位置と第2の位置を含む地図に対して、画面に表示させる範囲を指示する操作記画面に表示させる範囲を指示する操作であって、具体的にはスクロール操作、もしくは拡大/縮小操作である。取得された操作に応じて、ステップS304において、地図の表示形態を更新するために部分地図に分割する処理が実行される。ここで分割される複数の領域には、少なくとも、第1の位置の周辺領域と、第2の位置の周辺領域の2つが含まれる。ステップS304の処理の詳細は図4を参照して後述する。
ステップS304の処理が完了すると、ステップS305では、ボーダーオブジェクト生成処理が実行される。ボーダーオブジェクト生成処理では、ボーダーオブジェクトの新規表示、あるいは変更が必要かどうかを判定した上で、ボーダーオブジェクトの形、数などを算出してボーダーオブジェクトの描画データ生成を行う。詳細は図5を参照して後述する。
次に、ステップS303において取得された操作が反映される部分地図に対して、操作に応じて更新された地図の生成が実行される(ステップS307)。例えば、スクロール操作が取得された場合は、地図取得部114が、地図サーバから、スクロール後に表示すべき範囲の地図を取得する。拡大/縮小操作が取得された場合も、操作後に表示されるべき範囲の地図が取得される。
さらに、表示制御部115は、ステップS304で分割された複数の領域、ステップS305で生成されたボーダーオブジェクト、及び、ステップS306で取得された部分地図を合成した描画データを生成し、画面に表示させる(ステップS307)。ここまでで一つの入力操作に対する処理が完了する。そして、地図に対する操作を読み込む処理(ステップS303)に戻り、次の操作がある場合には、同じ処理を行う。機能を終了する指示が割り込み入力された場合は、処理を終了する。
なお、ここではステップS304〜ステップS306において取得された地図描画のための情報が、最終的にステップS307において合成されて出力されるとしたが、各ステップにおいて段階的に出力を行っても、最終的な表示形態が同じであれば良い。
<地図分割処理の流れ>
図4は、地図分割処理の更新を行うためのサブフローである。本フローは図3のステップS304から呼び出されるものである。本フローに入ると、まず、判定部112が、ステップS301で取得された操作情報に基づいて、指定された指示点の数と位置情報を取得する(ステップS401)。ここでは目的地を示す第1の位置と出発地を示す第2の位置の2点が取得されたとして説明する。なお、ステップS401で取得される指示点の位置情報は、画面上の表示位置を示す座標ではなく、地図に定義された情報(例えば、緯度経度を地図に定義されたX軸とY軸の各座標に変換した値)である。
図4は、地図分割処理の更新を行うためのサブフローである。本フローは図3のステップS304から呼び出されるものである。本フローに入ると、まず、判定部112が、ステップS301で取得された操作情報に基づいて、指定された指示点の数と位置情報を取得する(ステップS401)。ここでは目的地を示す第1の位置と出発地を示す第2の位置の2点が取得されたとして説明する。なお、ステップS401で取得される指示点の位置情報は、画面上の表示位置を示す座標ではなく、地図に定義された情報(例えば、緯度経度を地図に定義されたX軸とY軸の各座標に変換した値)である。
次に判定部112は、ステップS303で地図に対するユーザ操作が取得する前の表示状態における地図の縮尺(表示倍率)と、取得されたユーザ操作によって指示された縮尺とを取得する(ステップS402)。なお、既に画面に表示されている地図が分割後の部分地図であった場合、そのうち、ユーザ操作を反映する役割を有する部分地図の縮尺を取得する。例えば、ユーザ操作を受け付けた時点で既に図2の情報処理装置210の表示状態であれば、拡大地図213での縮尺を扱う。さらに判定部112は、操作後の地図の中心位置を取得する(ステップS403)。ここでも、扱う位置情報は地図上の位置情報であって、部分地図に対する操作があった場合は、該部分地図内の中心位置を取得する。
次に、判定部112は、現在表示している地図に、分割有無の変化が生じるかを判定する(ステップS404)。例えば、拡大処理後に、新たに地図を分割する必要が生じるか、あるいは、縮小処理後に、分割されていた部分地図が統合されるか、という判定を行う。これは例えば、拡大/縮小操作に従った場合に表示される地図の範囲を算出した上で、画面内の範囲に指示点が収まるか(ステップS401で取得した指示点の位置が含まれるか)によって判定することができる。拡大操作前は指示点が画面に収まっており、拡大後は指示点が画面内の収まることができなくなる場合は、指示点領域に対する分割を新たに行い、分割の有無の変化があると判断する。逆に、縮小操作時は、縮小処理前に指示点が画面内に収まることができない場合で、かつ、縮小処理後に指示点が画面内に収まることができる場合は、指示点領域に対する既存の分割を解除し、分割の有無の変化があると判断する。また例えば、スクロール操作によって、隣接する部分地図の内容が連続するところまでの地図の移動が指示されたため、スクロール処理後に、分割されていた部分地図が統合される場合もある。
指示点が画面に収まるかどうかの具体的な判定は、前記指示点の位置情報と前記表示地図の中心位置の情報と前記操作後地図の縮尺を利用して計算する。計算に用いられる具体的な値は、地図の表示画面405の高さ(H)と幅(W)の解像度、地図操作前の地図の縮尺(S1)と操作後に表示されるべき地図の縮尺(S2)。及び、操作後の地図中心点座標(XC,YC)、指示点A座標(X1,Y1)と指示点B座標(X2,Y1)である。なお、X軸及びY軸は、地図内に定義されたものであり、これらの座標はタッチパネル上の座標ではなく、地図上の特定の地点を表す座標である。なお、表示画面の高さと幅は、装置の情報が格納されたROM情報等にアクセスすることで取得するとする。
図2の例では、以下の式によって、操作後に指示点が画面に収まるかどうかの判定が実行される。拡縮操作前に|X1−XC|*S1<W/2であり、かつ、|Y1−YC|*S1<H/2である場合は、指示点Aは画面に収まると判定する。また、上記条件に入らない場合は、指示点Aは画面に収まらないと判定する。また、拡縮操作後に|X1−XC|*S2<W/2であり、かつ、|Y1−YC|*S2<H/2である場合は、指示点Aは画面に収まると判定する。また、上記条件に入らない場合は、指示点Aは画面に収まらないと判定する。
上記式は一例である。このように、指示点Aに対して、操作前後に、画面に収まるかどうかの状態の変化があった場合に、分割の有無について変化が生じたと判定される。状態が変わらなければ、変化はないと判定される。指示点Bについても同様である。
分割の有無に変化がある場合(ステップS404でYes)、分割部113が、分割の変化が生じた後で表示される部分地図の表示形態を決定する(ステップS406)。具体的には、分割された部分領域の向き、形とサイズを算出により決定する。一方、分割の有無に変化がない場合(ステップS404でNo)は、分割方向に変化が生じるかを判定する(ステップS405)。分割方向に変化が生じる場合(ステップS405でYes)は、ステップS406に進む。分割方向に変化が生じない場合(ステップS405でNo)は分割処理を終了してメイン処理に戻る。
ここで分割の向きを説明する。図2の情報処理装置210の例では、画面は短辺が上下エッジ、長辺が左右エッジに相当する向きに設置されており、分割の向きは画面の上下エッジに対して平行である。このような分割の向きは、次のように算出される。例えば、指示点Aから指示点Bまでの直線が、画面の長辺(y軸方向とする)となす角が正負30度以内(等しいも含む)なら、指示点周辺地図は画面の上エッジまたは下エッジに対して平行に表示される。表示する位置が画面の上か下かを判定するには、一例として次の式が利用できる。例えば、Y1−(Y1+Y2)/2>0の場合、指示点Aの周辺地図は、画面の上エッジ側に表示する。Y1−(Y1+Y2)/2<0の場合、指示点Aの周辺地図は、画面の下エッジ側に表示する。
また、指示点Aから指示点Bまでの直線が、画面の短辺(x軸とする)となす角Kが正負30度以内(等しいも含む)なら、指示点の周辺地図は画面の左エッジまたは右エッジに対して平行に表示される。表示する位置が、左か右かを判定するには、次の式が利用できる。X1−(X1+X2)/2>0の場合、指示点Aの周辺地図は画面の右エッジ側で表示する。X1−(X1+X2)/2<0の場合、指示点Aの周辺地図は画面の左エッジ側で表示する。
本実施形態では、上の二つの状況以外の場合は、指示点周辺地図は、画面の角に表示される。四隅のうちいずれに表示するか判定は、次の式を利用する。指示点Aの周辺地図は、X1−(X1+X2)/2>0、かつ、Y1−(Y1+Y2)/2>0の場合、画面の右上の角で表示する。X1−(X1+X2)/2>0、かつ、Y1−(Y1+Y2)/2<0の場合、画面の右下の角で表示する。X1−(X1+X2)/2<0、かつ、Y1−(Y1+Y2)/2>0の場合、画面の左上の角で表示する。X1−(X1+X2)/2<0、かつ、Y1−(Y1+Y2)/2<0の場合、画面の左下の角で表示する。
本実施形態では、上の二つの状況以外の場合は、指示点周辺地図は、画面の角に表示される。四隅のうちいずれに表示するか判定は、次の式を利用する。指示点Aの周辺地図は、X1−(X1+X2)/2>0、かつ、Y1−(Y1+Y2)/2>0の場合、画面の右上の角で表示する。X1−(X1+X2)/2>0、かつ、Y1−(Y1+Y2)/2<0の場合、画面の右下の角で表示する。X1−(X1+X2)/2<0、かつ、Y1−(Y1+Y2)/2>0の場合、画面の左上の角で表示する。X1−(X1+X2)/2<0、かつ、Y1−(Y1+Y2)/2<0の場合、画面の左下の角で表示する。
本実施形態では、ステップS405において、操作前と操作後で、このように計算される分割の向きが変化したかを判定する。また、ステップS406の中の処理では、操作後に表示する部分地図について分割の方向を決定する。指示点が1または2つで、分割後の部分領域の数が2つである場合は、このように片方の指示点について決定した周辺地図の位置が決定されればもう一方はその残りの表示領域を全て使って表示することが可能となる。分割数がそれ以上である場合にも、各部分地図の、全体地図上での位置関係を維持したまま配置するのに適当で、かつ、表示効率のよい位置に各領域の位置を定める。
また、本実施形態では、分割後の領域(内部に部分地図表示される複数の領域)の形は、これは指示点の数よって異なる。指示点が一点の場合は、分割後の各領域の形は矩形とし、表示画面のいずれかエッジに隣接するように表示させる。指示点が二点の場合、分割後の各領域は矩形として、画面の上下左右のエッジのいずれかに隣接するように表示させるか、あるいは、直角二等辺三角形として、表示画面の頂点のいずれかに直角部分が隣接するように表示させる。指示点が三点と三点以上の場合は、分割後の領域は円の一部として表示する。
また、本実施形態では、分割後の領域のサイズは、次にように計算される。領域が矩形で、画面の上下エッジに隣接させて表示する場合、横幅は画面サイズの幅(W)と同じであり、高さは例えば表示画面の5%或はユーザが指定する固定値とする。左右エッジに隣接するように表示する場合は、高さは画面サイズの高さ(H)と同じとし、横幅は例えば表示画面幅の5%或はユーザが指定する固定値とする。領域が直角二等辺三角形の場合、直角をはさむ辺の長さの計算は、例えば表示画面の高さ(H)と幅(W)の最小値の5%、或はユーザが指定する固定値とする。領域を円の一部として表示する場合、該円の半径は、表示画面サイズに依存して計算する。例えば表示画面の高さ(H)と幅(W)の最小値の5%、或はユーザが指定する固定値とする。
最後に、表示制御部115は、ステップS406において決定された表示形態に従って配置する領域内に、分割された部分地図を表示するための描画データを生成し、RAM104に保持し、メイン処理に戻る。
図5は、ボーダーオブジェクト表示処理を行うためのサブフローである。本フローは図3のステップS305から呼び出されるものである。ステップS501〜ステップS503の処理は、図4の分割処理と同じである。図4の処理での結果を流用しても良い。また、ステップS504では、判定部112が、ボーダーオブジェクトを更新する必要があるかどうか判定する。本実施形態では、図4のフローチャートに示したステップS404による、分割有無の変化があるかどうかの結果を取得して判定する。分割有無の変化があれば(ステップS504でYes)、分割部113が、ボーダーオブジェクトの表示形態を決定する(ステップS506)。分割有無の変化がない場合(ステップS504でNo)、分割部113が、ボーダーオブジェクトの数に変化が生じるかを判定する(ステップS505)。判定方法は、操作後に表示されるべきボーダーオブジェクトの数を再計算し、各指示点の周辺地図の境界に表示されているボーダーオブジェクト数との比較から判定する。具体的な計算方法(ステップS507)は後述する。
なお、ステップS505の処理は、ボーダーオブジェクト自身の表示形態に変化があるかの判定に置き換えることができる。数以外の変化を含めて判定する場合は、分割領域内に表示される地図の範囲に基づいて、ボーダーオブジェクトの幅や色に変化が生じるかを判定しても良い。ボーダーオブジェクトの変化がなければ(ステップS505でNo)、メイン処理に戻る。変化があれば(ステップS505でYes)、ボーダーオブジェクトの表示更新が必要だと判断し、ステップS506でボーダーオブジェクトの表示形態を決定する(ステップS506)。
具体的には、ボーダーオブジェクトの形状、数、大きさ(幅)を決定する。上述した通り、本実施形態では、地図のたるみを表す皺を表現する。従って、ボーダーオブジェクトの形状、数、大きさとは、皺の形、数、大きさに相当し、画面に表示されない地図の省略部分の範囲が広い程、多くの皺あるいは大きな皺として表示される。必要に応じて増減するように表示更新される。また、本実施形態では、ボーダーオブジェクトは部分領域の形に合わせて、その境界上に表示されるため、その形状は部分領域の形状に依存して決定される。具体的な形状の決定方法は次の通りである。部分領域が矩形と決定された場合(ステップS406)、ボーダーオブジェクトも矩形とする。図2では、ボーダーオブジェクト212とボーダーオブジェクト214が矩形のボーダーオブジェクトの表示例である。一方、部分領域が直角三角形の場合、ボーダーオブジェクトは、該三角形と隣接するボーダーオブジェクトに沿った台形の形とする。部分領域が円の一部である場合、ボーダーオブジェクトは同心円に挟まれた領域の一部とする。
次に、ボーダーオブジェクトの数を計算する。具体的な数の計算方法は次の通りである。例えば、ステップS502で取得した地図操作後の縮尺がS2であり、操作後の地図の中心座標が(XC,YC)であり、指示点Aの座標が(XA,YA)であるとする。また、表示画面のサイズは幅(W)であり、高さ(H)であるとする。本実施形態では、指示点Aの周辺地図の表示位置に基づいて、部分領域を表示画面の左右エッジで表示する場合は、ボーダーオブジェクトの数は(|XA−XC|*S2/W−0.5)によって算出される。また、部分領域を表示画面の上下エッジで表示する場合は、ボーダーオブジェクトの数は(|YA−YC|*S2/H−0.5)という式を利用して計算する。また、部分領域を表示画面の角で表示する場合は、ボーダーオブジェクトの数は(|XA−XC|*S2/W−0.5)または(|XA−XC|*S2/W−0.5)の最大値とする。ボーダーオブジェクトの数の変化があるかどうか(ステップS505)の判定は、上記のボーダーオブジェクト数の計算結果とその履歴を参照して行われる。
次に、ボーダーオブジェクトのサイズを決定する方法を説明する。本実施形態では、これまでに算出されたボーダーオブジェクトの形と数から、一つのボーダーオブジェクトの幅を計算する。ボーダーオブジェクトの形が矩形の場合で、部分領域を上下エッジに表示する時は、ボーダーオブジェクトの横幅は画面サイズの幅(W)とする。また、全てのボーダーオブジェクトの幅を加算した値は、例えば表示画面高さ(H)の5%或はユーザが指定する固定値とする。部分領域が左右エッジに表示する時は、ボーダーオブジェクトの高さは画面サイズの高さ(H)と同じとし、全てのボーダーオブジェクトの幅を加算した値は、例えば表示画面幅(W)の5%或はユーザが指定する固定値とする。また、部分領域が三角形の場合、全てのボーダーオブジェクトの幅を加算した値は、例えば表示画面の高さ(H)と幅(W)の最小値の5%、或はユーザが指定する固定値とする。また、部分領域が円の一部の場合、一つのボーダーオブジェクトの幅は、例えば表示画面の高さ(H)と幅(W)の最小値の5%、各ボーダーオブジェクトの数の最大値、或はユーザが指定する固定値とする。分割部113は、ボーダーオブジェクトの表示形態を示す各パラメータが決定されたら、RAM104に保持し(ステップS509)、メイン処理に戻る。
<他の方向に分割された地図の表示例>
ここで、図6は、広域地図が図2の場合とは異なる方向に分割された場合の表示例を示す。なお、図6以降の表示例では移動経路の表示を省略しているが、さらに経路が重畳表示されていても構わない。図6(a)・(b)は、垂直方向に分割された(画面の長辺に平行な向きに分割された)場合を示す。図6(c)・(d)は、斜め後方に分割された場合を示す。例えば、図6(a)で指示点601と指示点603がそれぞれ出発地と目的地であり、中心位置602を拡大中心として、地図を拡大すると、操作後は図6(b)のように表示される。部分領域は左右エッジに隣接するように配置され、ボーダーオブジェクト604及びボーダーオブジェクト605は長辺に平行な矩形として表示される。また、図6(c)では、指示点606と指示点608が指定され、中心位置607を拡大中心として地図が拡大されると、操作後は図6(d)のように表示される。部分領域は、画面の左上と右下の頂点に隣接する三角形で表示され、ボーダーオブジェクト609とボーダーオブジェクト610は斜めのラインとして、台形状に表示される。
ここで、図6は、広域地図が図2の場合とは異なる方向に分割された場合の表示例を示す。なお、図6以降の表示例では移動経路の表示を省略しているが、さらに経路が重畳表示されていても構わない。図6(a)・(b)は、垂直方向に分割された(画面の長辺に平行な向きに分割された)場合を示す。図6(c)・(d)は、斜め後方に分割された場合を示す。例えば、図6(a)で指示点601と指示点603がそれぞれ出発地と目的地であり、中心位置602を拡大中心として、地図を拡大すると、操作後は図6(b)のように表示される。部分領域は左右エッジに隣接するように配置され、ボーダーオブジェクト604及びボーダーオブジェクト605は長辺に平行な矩形として表示される。また、図6(c)では、指示点606と指示点608が指定され、中心位置607を拡大中心として地図が拡大されると、操作後は図6(d)のように表示される。部分領域は、画面の左上と右下の頂点に隣接する三角形で表示され、ボーダーオブジェクト609とボーダーオブジェクト610は斜めのラインとして、台形状に表示される。
<縮小操作>
図2で示した表示例は、地図を拡大する操作を受け付けた場合を示していた。ここで、第1の実施形態において、ユーザが地図に対する縮小操作を行った場合の表示例を説明する。なお、処理は図3〜5のフローチャートに従って実行される。
図2で示した表示例は、地図を拡大する操作を受け付けた場合を示していた。ここで、第1の実施形態において、ユーザが地図に対する縮小操作を行った場合の表示例を説明する。なお、処理は図3〜5のフローチャートに従って実行される。
例えば、ユーザがピンチイン操作などを行い、図7(a)から、図7(b)、図7(c)、図7(d)の順に地図を段階的に縮小する操作を行った場合の動作を説明する。図7(a)は、図2の情報処理装置210の状態に対応し、指示点Aの周辺地図701と指示点Bの周辺地図705と、ボーダーオブジェクト702とボーダーオブジェクト704が表示されている。図7(a)の状態で、拡大地図の部分に縮小操作が入力された場合、拡大地図703が縮小され、図7(b)のようになる。図7(b)では、拡大地図703の拡大率が小さくなり、省略されている地図の範囲が小さくなるので、ボーダーオブジェクト702とボーダーオブジェクト704の数が減っている。図7(a)から図7(b)に至る変化においては、分割有無の変化はないと判定される(ステップS504及びステップS604でNo)で、指示点Aの周辺地図701と指示点Bの周辺地図705の内容は変わらない。ただし、ボーダーオブジェクトの数に現象という変化がある(ステップS605でYes)ので、ボーダーオブジェクトの表示形態が再計算され、表示が更新される。具体的には、ボーダーオブジェクト702の数は、3から2に変更された。また、ボーダーオブジェクト704の数は2から1に変更された。
さらに縮小操作が入力されると、図7(c)のような状態となる。ここでは指示点B側で、分割有無の変化がある(ステップS504及びステップS604でYes)。指示点A指示点Aの周辺地図701に関し変化は生じないが、指示点Bの周辺地図705は、拡大地図703と統合され、部分地図706となる。なお、部分地図706は、この時点では指示点Aの周辺地図701よりも縮尺が大きく、その境界は不連続である。ここでも、省略部分がさらに小さくなることで、ボーダーオブジェクトに変化がある(ステップS605でYes)ので、ボーダーオブジェクトも更新される。具体的には、ボーダーオブジェクト704は表示されなくなり、ボーダーオブジェクト702の数は2から1に変更された。
さらに拡大地図708に対して縮小操作が入力されると、図7(d)のような表示状態に変化する。分割有無の変化があり(ステップS504及びステップS604でYes)、指示点Aの周辺地図701がなくなる。ボーダーオブジェクトにも変化がある(ステップS605でYes)ので、ボーダーオブジェクト702がなくなる。部分領域は全て統合された広域地図707では、すべての指示点が画面に収まっている。
<スクロール操作>
次に、ユーザが地図に対するスクロール操作を行う場合の説明を行う。全体フローは図3と同じである。図8の例は、図8(a)から、図8(b)、図8(c)、図8(d)の順に地図中に上から下までスクロール操作を行った場合の表示例を示す。
次に、ユーザが地図に対するスクロール操作を行う場合の説明を行う。全体フローは図3と同じである。図8の例は、図8(a)から、図8(b)、図8(c)、図8(d)の順に地図中に上から下までスクロール操作を行った場合の表示例を示す。
図8(a)の最初の状態は、図2の情報処理装置210と同じである。指示点Aの周辺地図801と指示点Bの周辺地図806と、ボーダーオブジェクト802とボーダーオブジェクト805が表示されている。図8(a)の拡大地図804に対して矢印803方向のスクロール操作が入力されると、図8(b)のような状態に変化する。この状態では、拡大地図804の表示内容は動いたが、分割の有無には変化が無い(ステップS504及びステップS604でNo)。一方、このボーダーオブジェクトの数は変更される(ステップS605でYes)。具体的には、指示点A側では地図の省略部分が小さくなるので、ボーダーオブジェクト802の数は2から1に変更された。また、指示点B側では、地図の省略部分が大きくなるので、ボーダーオブジェクト805の数は1から2に変更された。
図8(b)の拡大地図804に矢印807のスクロール操作を行うと、図8(c)のような状態に変化する。このとき、指示点A側では地図の省略がなくなるので、部分領域が統合されて、部分地図808となる。ボーダーオブジェクト802は表示されなくなるが、指示点Bの周辺地図808及びボーダーオブジェクト805は残る。また、ボーダーオブジェクト805の数は2から3に変更される。
図8(c)の地図にスクロール操作(矢印809)を行うと、図8(d)のような状態に変化する。このとき、分割の有無に変化は無く、指示点Bの周辺地図805残るが、ボーダーオブジェクト805はさらに地図の省略部分が増えたことを反映して、数が3から4に変更される。なお、スクロール操作の場合は、指示された操作方向によっては、分割の有無及びボーダーオブジェクト数のいずれにも変化もないことがある。例えば、図8(a)の状態で横方向にスクロールした場合、拡大地図に表示する内容のみを変更し再表示する。
以上説明したように、第1の実施形態によれば、広域地図を分割し、ユーザが指定した1以上の地点と、その間に存在する注目位置の地図上の位置関係を維持したまま、それぞれの詳細地図を表示可能となる。各地図の不連続部分には、地図に省略された部分が存在することを示すボーダーオブジェクトを、省略部分の範囲の広さに応じた表示形態で表示するため、ユーザは直感的に各地図間の距離や位置関係を把握できる。
<変形例1>
図9(a)のボーダーオブジェクト902のように数が多い場合、すべての皺を描画すると、面積が大きく表効率が低下するのを避けるためには、皺の数を増減させる調整が必要となる。例えば、一つの指示点に関連する皺の幅の合計値に対する最大値を設定する。最大値を超えた場合、最大値と等しい値に調整する。図9(b)のボーダーオブジェクト904は、最大幅の中に、ボーダーオブジェクト902と同じ数の皺が表現されている様子を示す。
図9(a)のボーダーオブジェクト902のように数が多い場合、すべての皺を描画すると、面積が大きく表効率が低下するのを避けるためには、皺の数を増減させる調整が必要となる。例えば、一つの指示点に関連する皺の幅の合計値に対する最大値を設定する。最大値を超えた場合、最大値と等しい値に調整する。図9(b)のボーダーオブジェクト904は、最大幅の中に、ボーダーオブジェクト902と同じ数の皺が表現されている様子を示す。
逆に、図9(a)のボーダーオブジェクト901のように、ボーダーオブジェクトの数が少ないが、ボーダーオブジェクト902との対比のために細く表示されてしまっている場合、ボーダーオブジェクトが見にくくなる場合がある。このような場合、一つの指示点に関連する皺の幅の合計値に対する最小値を設定する。この値が最小値より小さくなる場合、最小値と等しい値にして皺の幅を調整する。図9(b)のボーダーオブジェクト903は、最少幅の中に、ボーダーオブジェクト901と同じ数の皺が表現されている様子を示す。なお、ボーダーオブジェクトをどう描画するのは、ユーザが設定できるようにしてもよい。例えば、風船の皺の代わりに、ページカールのような描画効果与えてもよいし、巻物のような描画効果を与えてもよい。
<変形例2>
本実施例では、ユーザがボーダーオブジェトに対して特定操作を入力することにより、地図の表示形態を切り替える例を説明する。具体的には、部分地図の中心位置を変更するために、一旦広域地図に表示状態を戻してから、地図を再分割することを指示可能とする。なお、このとき中心位置を変更するのは、画面に表示される複数の部分地図のうち、ユーザによるスクロール操作や拡大/縮小操作などが反映される部分地図である。図10は第1の実施形態の変形例2に係る情報処理装置100が実行する処理の各工程を示すフローチャートであり、図11はこの機能が実行されている情報処理装置100の一例である。
本実施例では、ユーザがボーダーオブジェトに対して特定操作を入力することにより、地図の表示形態を切り替える例を説明する。具体的には、部分地図の中心位置を変更するために、一旦広域地図に表示状態を戻してから、地図を再分割することを指示可能とする。なお、このとき中心位置を変更するのは、画面に表示される複数の部分地図のうち、ユーザによるスクロール操作や拡大/縮小操作などが反映される部分地図である。図10は第1の実施形態の変形例2に係る情報処理装置100が実行する処理の各工程を示すフローチャートであり、図11はこの機能が実行されている情報処理装置100の一例である。
例えば、図11(a)はボーダーオブジェクト1101が、部分地図の境界に表示された状態である。タッチパネルから通知された画面上のタッチ情報により、ボーダーオブジェクト1101の上にタッチが検出されたと判断されると、図10のフローチャートの処理が開始されるとする。図10のフローチャートの処理に入ると、まず、分割部113が、指定されている全ての指示点を1つの地図(分割しない広域地図)で表示する場合の地図の縮尺を取得する(ステップS1001)。次に、受付部111が、タッチパネルから通知されるタッチ座標に基づき、図10のフローチャートの処理開始のきっかけとなったタッチに続いてボーダーオブジェクトに対して入力されたタッチ操作を特定し、情報を取得する(ステップS1002)。具体的には、タッチパネルから通知されたタッチ位置の座標等の情報を取得する。ステップS1003では、受付部111が、それがタップ操作かどうかを判定する。ただし、ここで検出する特定の操作は、タップに限らない。例えば特定方向のフリックであってもよい。タップ操作である場合(ステップS1003でYes)、ステップS1001で取り込んだ縮尺を利用し、全ての指示点を含む全体地図1102を展開し、表示する(ステップS1004)。この時の見た目は図11(b)のようになる。
次に、受付部111が、タッチパネルから通知されるタッチ座標に基づき、地図に対するタッチ操作を特定し、情報を取得する(ステップS1005)。このとき、例えば、全体地図上に、新しい中心位置としたい位置を指定することを促す情報1103を提示してもよい。ここで、図11(c)のように、位置1104がタップされたとする。受付部111は、操作がタップ操作が行われるのを待機し(ステップS1006)、タップが受け付けられたら(ステップS1006でYes)、そのタップされた位置を中心として取得する(ステップS1007)。分割部113は、新たに設定された中心位置に基づいて地図を再分割し、表示制御部115が、変更後の地図画面を出力する(ステップS1008)。これらの処理により、図11(d)のような見た目に変わる。
<変形例3>
次に変形例3として、ユーザがボーダーオブジェクトをドラッグ操作で直接移動させることにより、地図の表示形態を切り替える例を示す。図12は第1の実施形態の変形例3に係る情報処理装置100が実行する処理の各工程を示すフローチャートであり、図13はこの機能が実行されている情報処理装置100の一例である。
次に変形例3として、ユーザがボーダーオブジェクトをドラッグ操作で直接移動させることにより、地図の表示形態を切り替える例を示す。図12は第1の実施形態の変形例3に係る情報処理装置100が実行する処理の各工程を示すフローチャートであり、図13はこの機能が実行されている情報処理装置100の一例である。
例えば、図13(a)はボーダーオブジェクト1301が地図の中に表示された状態である。変形例3では、ユーザがボーダーオブジェクト1301上でタッチされた場合、図12のフローチャートの処理が開始されるとする。ボーダーオブジェクト1301上で図13(b)の位置1302がロングタッチ操作されたとする。これをきっかけに図12のフローチャートの処理が開始されると、まず、分割部113は、タッチだれたボーダーオブジェクト部分の境界に表示されているオブジェクトの数を取得する(ステップS1201)。次に、受付部111が、タッチパネルから通知されるタッチ座標に基づき、図12のフローチャートの処理開始のきっかけとなったタッチに続いてボーダーオブジェクトに対して入力されたタッチ操作を特定し、情報を取得する(ステップS1202)。ステップS1203で、受付部111は、それがロングタッチ操作(長押しともいう)かどうかを判定する。ロングタッチ操作の場合(ステップS1203でYes)、分割部113が、表示されているボーダーオブジェクトのうち、移動操作の対象となるボーダーオブジェクトを特定する(ステップS1204)。ここではステップS1201で取得した数と、ステップS1202で取得したロングタッチ操作時の座標を利用する。
受付部111は、さらにユーザがドラッグ操作を入力するのを待機する(ステップS1206)。なお、所定時間の間ドラッグされなかった場合は処理を中断して終了する。受付部111は、取得したドラッグ操作が、所定の方向のドラッグかを判定する(ステップS1207)。例えば、図13(c)のように、位置1302がロングタッチされた後、矢印1303のような上下方向のドラッグ操作が検出された場合、所定方向であると判定する(ステップS1207でYes)。所定方向ではない場合(ステップS1207でNo)は処理を終了する。分割部113は、ステップS1205で特定したボーダーオブジェクトと、ドラッグされた移動量から、新たな部分地図の中心位置を再計算し、再分割を実行する(ステップS1208)。表示制御部115は、ステップS1208で再分割された地図を表示する画面を表示する、図13(d)では、更新された部分地図1305が表示される。そして、新しい中心位置に対する、ボーダーオブジェクト1304とボーダーオブジェクト1306を更新する(ステップS1209)。
変形例3の操作は、第1の実施形態において、ボーダーオブジェクトが地図のたるみを表現していることを利用し、たるみを引き延ばすように地図の表示位置をずらす、という直感的な操作を可能とするものである。そのため、図13では、複数の皺のうち一部を伸ばしたことを表すように、最終的にボーダーオブジェクト1304では操作前に比較して皺の数が減っている。これはつまり、地図の省略された部分が少なくなったことを表す。一方で、反対側のボーア―オブジェクトは、地図の省略された部分が増えているため、皺の数が減っている。
なお、変形例3の処理は変形例2の処理と平行して受け付けることが可能である。入力されたのがタップ操作であったか、ロングタッチ操作であったかで最終的に実行される処理が区別される。ただし、図12のフローチャートの処理が開始されるトリガーはタッチに限定されない。変形例2とは異なるトリガーを設けることで、変形例2と変形例3をどちらも実行可能な環境で、最初から実行させる処理を区別することもできる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
111 受付部
112 判定部
113 分割部
114 地図取得部
115 表示制御部
112 判定部
113 分割部
114 地図取得部
115 表示制御部
Claims (18)
- 第1の位置と第2の位置を含む地図を、少なくとも、前記第1の位置の周辺領域と、前記第2の位置の周辺領域とを含む複数の領域に分割する分割手段と、
所定の表示部における画面に、前記分割手段によって分割された前記複数の領域を前記地図における位置関係を維持した状態で配置し、隣接する領域の境界で前記地図が不連続となる場合、前記境界に省略される部分地図が存在することを示すボーダーオブジェクトを表示させる表示制御手段とを備えることを特徴とする情報処理装置。 - さらに、前記画面に表示された前記第1の位置と前記第2の位置を含む前記地図に対して、前記画面に表示させる範囲の変更を指示する操作を受け付ける受付手段を備え、
前記分割手段は、前記受付手段が受け付けた操作によって指示された前記地図の一部の範囲に前記第1の位置と前記第2の位置の少なくともいずれか含まれない場合に、前記分割を実行することを特徴とする請求項1に記載の情報処理装置。 - 前記受付手段は、前記画面に表示された前記地図の拡大を指示する操作を受け付け、
前記分割手段は、前記受付手段が受け付けた操作に従う縮尺で、前記第1の位置と前記第2の位置の両方を前記画面内に表示できない場合、前記分割を実行し、
前記表示制御手段は、前記分割手段によって分割された前記複数の領域のうち、少なくともいずれかは、前記受付手段が受け付けた操作に従う拡大率で表示することを特徴とする請求項2に記載の情報処理装置。 - 前記受付手段は、前記画面に表示された前記地図のスクロールを指示する操作を受け付け、
前記分割手段は、前記受付手段が受け付けた操作が、前記第1の位置と前記第2の位置の両方を前記画面内に表示できない範囲へのスクロールを指示する場合、前記分割を実行し、
前記表示制御手段は、前記分割手段によって分割された前記複数の領域のうち、少なくともいずれかに、前記受付手段が受け付けたスクロール操作を反映することを特徴とする請求項2に記載の情報処理装置。 - 前記受付手段はさらに、前記分割手段によって分割された前記複数の領域のいずれかに対して、前記領域内に表示させる地図の範囲を指示する操作を受け付け、
前記表示制御手段は、前記受付手段が受け付けた操作に従った結果、前記隣接する領域の境界で前記地図が連続となった場合、前記境界にはボーダーオブジェクトを表示させないことを特徴とする請求項2乃至4のいずれか1項に記載の情報処理装置。 - 前記表示制御手段は、前記画面において隣接する領域の境界で省略される部分地図の範囲の広さに応じて、前記ボーダーオブジェクトの表示形態を変化させることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
- 前記表示制御手段は、前記ボーダーオブジェクトとして、地図のたるみを表すメタファを表示させることを特徴とする請求項6に記載の情報処理装置。
- 前記表示制御手段は、前記画面上で隣接する領域の境界で省略される部分地図の範囲の広さに応じて、前記地図のたるみを表す皺のメタファを増減させることを特徴とする請求項7に記載の情報処理装置。
- 前記表示制御手段は、前記地図のたるみを表す皺のメタファの数に応じて、各皺の幅を変更することを特徴とする請求項8に記載の情報処理装置。
- 前記表示制御手段は、前記画面に表示させた複数の領域のそれぞれを独立した縮尺で表示させることを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
- 前記表示制御手段は、前記画面に表示させた複数の領域のそれぞれを独立した縮尺で表示させる表示させることを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。
- 前記表示制御手段は、前記画面に表示させた複数の領域のそれぞれを独立した縮尺で表示させる表示させることを特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。
- 前記表示制御手段は、前記第1の位置を出発地とし、前記第2の位置を目的地とする移動経路を前記地図に重畳して表示させることを特徴とする請求項1乃至12のいずれか1項に記載の情報処理装置。
- さらに、前記受付手段が受け付けた操作が指示する前記地図の縮尺と、前記地図に対する操作の後の中心座標と、前記指示点の座標と、画面のサイズに関する情報とに基づいて、
前記受付手段が受け付けた操作に従った場合に、前記第1の位置と前記第2の位置の両方が前記画面内に収まるかを判定する判定手段を備え、
前記分割手段は、前記判定手段によって前記第1の位置と前記第2の位置の両方が前記画面内に収まらないと判定された場合に、前記分割を実行することを特徴とする請求項2に記載の情報処理装置。 - 前記分割手段は、前記ボーダーオブジェクトに対して所定の操作が入力されたことに応じて、再分割を実行することを特徴とする請求項1乃至14のいずれか1項に記載の情報処理装置。
- 表示制御手段により、第1の位置と第2の位置を含む地図を所定の表示部における画面に表示させる工程と、
分割手段により、前記第1の位置と第2の位置を含む地図を、少なくとも、前記第1の位置の周辺領域と、前記第2の位置の周辺領域とを含む複数の領域に分割する工程と、
前記表示制御手段により、前記画面に、前記分割された前記複数の領域を前記地図における位置関係を維持した状態で配置し、隣接する領域の境界で前記地図が不連続となる場合、前記境界に省略される部分地図が存在することを示すボーダーオブジェクトを表示させる工程とを有することを特徴とする情報処理装置の制御方法。 - コンピュータに読み込ませ実行させることによって、前記コンピュータに、請求項16に記載された情報処理装置の制御方法を実行させるプログラム。
- 請求項17に記載されたプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014254596A JP2016114857A (ja) | 2014-12-16 | 2014-12-16 | 情報処理装置、その制御方法、プログラム、及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014254596A JP2016114857A (ja) | 2014-12-16 | 2014-12-16 | 情報処理装置、その制御方法、プログラム、及び記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016114857A true JP2016114857A (ja) | 2016-06-23 |
Family
ID=56141806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014254596A Pending JP2016114857A (ja) | 2014-12-16 | 2014-12-16 | 情報処理装置、その制御方法、プログラム、及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016114857A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112017002906T5 (de) | 2016-06-08 | 2019-02-21 | Autonetworks Technologies, Ltd. | Substrateinheit |
CN112652063A (zh) * | 2020-11-20 | 2021-04-13 | 上海莉莉丝网络科技有限公司 | 游戏地图内动态区域边界的生成方法、系统及计算机可读存储介质 |
-
2014
- 2014-12-16 JP JP2014254596A patent/JP2016114857A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112017002906T5 (de) | 2016-06-08 | 2019-02-21 | Autonetworks Technologies, Ltd. | Substrateinheit |
CN112652063A (zh) * | 2020-11-20 | 2021-04-13 | 上海莉莉丝网络科技有限公司 | 游戏地图内动态区域边界的生成方法、系统及计算机可读存储介质 |
CN112652063B (zh) * | 2020-11-20 | 2022-09-20 | 上海莉莉丝网络科技有限公司 | 游戏地图内动态区域边界的生成方法、系统及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11422694B2 (en) | Disambiguation of multitouch gesture recognition for 3D interaction | |
US10346016B1 (en) | Nested zoom in windows on a touch sensitive device | |
US10627990B2 (en) | Map information display device, map information display method, and map information display program | |
JP6130096B2 (ja) | タッチスクリーン端末機及びその端末機における画面ディスプレーの制御方法 | |
US9256917B1 (en) | Nested zoom in windows on a touch sensitive device | |
US9851898B2 (en) | Method for changing display range and electronic device thereof | |
US9400599B2 (en) | Method for changing object position and electronic device thereof | |
JP5620440B2 (ja) | 表示制御装置、表示制御方法及びプログラム | |
AU2014287956B2 (en) | Method for displaying and electronic device thereof | |
JP6303772B2 (ja) | 入力制御装置、制御方法および制御プログラム | |
KR20140098904A (ko) | 멀티태스킹 운용 방법 및 이를 지원하는 단말기 | |
EP2778880B1 (en) | Method for controlling display function and an electronic device thereof | |
JP2014010719A (ja) | 電子機器、制御方法及びプログラム | |
US20140068499A1 (en) | Method for setting an edit region and an electronic device thereof | |
KR20150095540A (ko) | 사용자 단말 장치 및 이의 디스플레이 방법 | |
JP2013168144A (ja) | イメージ表示方法及びその装置 | |
JPWO2017022031A1 (ja) | 情報端末装置 | |
KR20140082434A (ko) | 전자장치에서 화면 표시 방법 및 장치 | |
KR20160135681A (ko) | 그래픽 사용자 인터페이스의 요소들의 테두리들의 렌더링 | |
JP2016114857A (ja) | 情報処理装置、その制御方法、プログラム、及び記憶媒体 | |
US10140003B1 (en) | Simultaneous zoom in windows on a touch sensitive device | |
JP5820414B2 (ja) | 情報処理装置及び情報処理方法 | |
JP4854797B2 (ja) | プログラムおよび電子機器 | |
JP2014115850A (ja) | 情報処理装置及び制御プログラムと情報処理方法 | |
JP2015153083A (ja) | 表示制御プログラム、装置、及び方法 |