(57)【特許請求の範囲】
【請求項１】
表示部と通信部とを備えた情報処理装置のコンピュータが読み取り可能な情報処理プログラムであって、
サーバから前記通信部を介して取得した地図データに基づく地図画像を含む第１画面を前記表示部に表示させる第１画面表示手段と、
前記第１画面において特定の地図領域が印刷領域として特定された場合、当該第１画面に表示中の地図画像における地図の縮尺に対応するズームレベルである第１ズームレベルに基づいて、印刷に用いる地図画像における地図の縮尺に対応するズームレベルである第２ズームレベルを決定する決定手段と、
前記印刷領域を複数の分割領域に分割し、前記第１画面に表示中の地図画像内の基準位置を示す位置情報と、前記決定手段により決定された第２ズームレベルとに基づいて、各分割領域に対応する前記第２ズームレベルの地図データを、前記サーバから前記通信部を介して取得する第１取得手段と、
前記第１取得手段により１の前記分割領域に対応する前記地図データの取得が開始された後、当該１の分割領域に対応する地図データの取得が完了する前において、前記第１取得手段により当該１の分割領域について取得された地図データに基づく地図画像を前記表示部に表示させる経過表示手段と、
前記第１取得手段により取得された各分割領域の地図データに基づく各地図画像を合成して前記印刷領域を含む地図画像を生成し、当該生成された地図画像に含まれる前記印刷領域の地図画像であって、前記表示部の表示解像度に応じて画素を間引いた地図画像を含む第２画面を、前記表示部に表示させる第２画面表示手段として、
前記コンピュータを機能させることを特徴とする情報処理プログラム。
【請求項２】
前記第２ズームレベルは、前記第１ズームレベルに対応する縮尺より大きい縮尺に対応するズームレベルであることを特徴とする請求項１記載の情報処理プログラム。
【請求項３】
前記第２ズームレベルの地図は、前記第１ズームレベルの地図に比べて地図に含まれる情報量が多いことを特徴とする請求項２記載の情報処理プログラム。
【請求項４】
前記決定手段は、前記表示部の表示領域の第１方向または当該第１方向に直交する第２方向のいずれかである特定方向に含まれる画素数と、印刷時に前記特定方向に相当する方向に含まれる画素数との比と、前記第１ズームレベルとに基づいて、前記第２ズームレベルを決定することを特徴とする請求項１から３のいずれかに記載の情報処理プログラム。
【請求項５】
前記決定手段は、２以上の自然数を底とし、前記印刷時に前記特定方向に相当する方向に含まれる画素数を前記表示部の表示領域の前記特定方向に含まれる画素数で除した値を真数とする対数を、前記第１ズームレベルに加算した値を、前記第２ズームレベルとして決定することを特徴とする請求項４記載の情報処理プログラム。
【請求項６】
前記印刷時に前記特定方向に相当する方向に含まれる画素数は、印刷設定として設定される用紙サイズおよび解像度に応じた値であることを特徴とする請求項４または５に記載の情報処理プログラム。
【請求項７】
前記情報処理装置は操作部を備え、
前記第２画面に表示中の地図画像に対する編集の指示が前記操作部を介して入力された場合、当該指示に応じた編集内容が反映された地図画像を生成する編集手段として、
前記コンピュータを機能させ、
前記第２画面表示手段は、前記編集手段により生成された地図画像を前記第２画面に表示することを特徴とする請求項１から６のいずれかに記載の情報処理プログラム。
【請求項８】
前記第１取得手段は、前記分割領域より広い領域について前記第２ズームレベルの地図データを取得することを特徴とする請求項１から７のいずれかに記載の情報処理プログラム。
【請求項９】
前記第１取得手段は、前記各分割領域について、１の分割領域に対応する前記地図データを取得した後、その次に、当該１の分割領域に隣接する領域に対応する前記地図データを取得することを特徴とする請求項１から８のいずれかに記載の情報処理プログラム。
【請求項１０】
前記情報処理装置は記憶部を備え、
前記第１取得手段により取得された前記各分割領域に対応する地図データに基づく各地図画像を合成して前記印刷領域を含む地図画像ファイルを生成し、生成された前記印刷領域を含む地図画像ファイルを前記記憶部に保存する保存手段として、
前記コンピュータを機能させ、
前記第２画面表示手段は、前記保存手段により保存された地図画像ファイルに基づいて、前記印刷領域の地図画像を含む前記第２画面を、前記表示部に表示させることを特徴とする請求項７から９のいずれかに記載の情報処理プログラム。
【請求項１１】
前記情報処理装置は操作部を備え、
前記第１取得手段により取得された地図データに基づく前記印刷領域の地図画像を出力する出力手段として、
前記コンピュータを機能させ、
前記第２画面表示手段は、前記第２画面に表示中の地図画像に対する表示倍率の変更指示が前記操作部を介して入力された場合、当該第２画面に表示中の地図画像を前記表示倍率の変更指示に応じて拡大または縮小して表示させる一方で、前記第２画面に表示中の地図画像に対する移動指示が前記操作部を介して入力された場合、当該第２画面に表示中の地図画像を前記移動指示に応じて移動させ、
前記出力手段は、前記第２画面に表示中の地図画像に対する前記表示倍率の変更指示または前記移動指示が前記操作部を介して入力されるか否かにかかわらず、前記印刷領域の地図画像を出力することを特徴とする請求項６から１０のいずれかに記載の情報処理プログラム。
【請求項１２】
前記情報処理装置は操作部を備え、
前記第１画面に表示中の地図画像の縮尺を大きくする指示が前記操作部を介して入力された場合、当該指示に応じて決定される縮尺に対応する前記第１ズームレベルに基づいて、前記第２ズームレベルを特定する特定手段と、
前記特定手段により特定された前記第２ズームレベルが、当該第２ズームレベルとして許容される最大値を超えるか否かを判断する判断手段と、
前記判断手段により前記最大値を超えないと判断されたことを条件として、前記指示に応じて決定される縮尺に対応する前記第１ズームレベルの地図データを、前記通信部を介して前記サーバから取得する第２取得手段として、
前記コンピュータを機能させ、
前記第１画面表示手段は、前記判断手段により前記最大値を超えないと判断された場合、前記第１画面に表示中の地図画像を、前記第２取得手段により取得された地図データに基づく地図画像に更新する一方で、前記判断手段により前記最大値を超えると判断された場合、前記第１画面に表示中の地図画像の表示を維持することを特徴とする請求項１から１１のいずれかに記載の情報処理プログラム。
【請求項１３】
前記情報処理装置は操作部を備え、
前記第１画面に表示中の地図画像の縮尺を大きくする指示が前記操作部を介して入力された場合、当該指示に応じて決定される縮尺に対応する前記第１ズームレベルに基づいて、前記第２ズームレベルを特定する特定手段と、
前記特定手段により特定された前記第２ズームレベルが、当該第２ズームレベルとして許容される最大値を超えるか否かを判断する判断手段と、
前記判断手段により前記最大値を超えると判断された場合、その旨を通知する通知手段として、
前記コンピュータを機能させることを特徴とする請求項１から１１のいずれかに記載の情報処理プログラム。
【請求項１４】
前記第２ズームレベルとして許容される最大値は、前記第１画面に表示中の地図画像の種類に応じて決定することを特徴とする請求項１２または１３に記載の情報処理プログラム。
【請求項１５】
前記第１画面表示手段は、前記地図画像を前記印刷領域の縦横比で前記第１画面に表示することを特徴とする請求項１から１４のいずれかに記載の情報処理プログラム。
【請求項１６】
前記第１画面は、前記サーバから取得した地図データに基づく地図画像と、当該地図画像のうち印刷領域に相当する地図画像の周囲をマスクする余白画像とを含んで構成され、
前記印刷領域は、前記余白画像の大きさを変更することにより、その縦横比が変更されることを特徴とする請求項１５記載の情報処理プログラム。
【請求項１７】
表示部と、通信部と、制御部と、を備え、
前記制御部は、
サーバから前記通信部を介して取得した地図データに基づく地図画像を含む第１画面を前記表示部に表示させる第１画面表示手段と、
前記第１画面において特定の地図領域が印刷領域として特定された場合、当該第１画面に表示中の地図画像における地図の縮尺に対応するズームレベルである第１ズームレベルに基づいて、印刷に用いる地図画像における地図の縮尺に対応するズームレベルである第２ズームレベルを決定する決定手段と、
前記印刷領域を複数の分割領域に分割し、前記第１画面に表示中の地図画像内の基準位置を示す位置情報と、前記決定手段により決定された第２ズームレベルとに基づいて、各分割領域に対応する前記第２ズームレベルの地図データを、前記サーバから前記通信部を介して取得する第１取得手段と、
前記第１取得手段により１の前記分割領域に対応する前記地図データの取得が開始された後、当該１の分割領域に対応する地図データの取得が完了する前において、前記第１取得手段により当該１の分割領域について取得された地図データに基づく地図画像を前記表示部に表示させる経過表示手段と、
前記第１取得手段により取得された各分割領域の地図データに基づく各地図画像を合成して前記印刷領域を含む地図画像を生成し、当該生成された地図画像に含まれる前記印刷領域の地図画像であって、前記表示部の表示解像度に応じて画素を間引いた地図画像を含む第２画面を、前記表示部に表示させる第２画面表示手段と、
を備えていることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラムおよび情報処理装置に関する。
【背景技術】
【０００２】
特許文献１には、地図を表示する場合には、比較的低解像度の地図に対応する地図データをサーバから取得し、表示した地図を印刷する場合には、印刷に耐え得る高解像度の地図の地図データをサーバから取得する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３６６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載される技術では、解像度が異なる地図がサーバに準備されているものの、それらの地図における縮尺の違いは考慮されていない。そのため、サーバから取得した地図データに基づき印刷された地図の縮尺が印刷結果の大きさに対して不適切となり、その結果として、例えば、印刷結果の大きさに対する地図の情報量が不適切になる等、印刷結果の大きさに対して好ましくない地図が印刷される虞がある。
【０００５】
本発明は、上述した事情を鑑みてなされたものであり、表示中の地図画像を好適に印刷可能な情報処理プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この目的を達成するために、本発明の情報処理プログラムは、表示部と通信部とを備えた情報処理装置のコンピュータが読み取り可能なプログラムであって、サーバから前記通信部を介して取得した地図データに基づく地図画像を含む第１画面を前記表示部に表示させる第１画面表示手段と、前記第１画面において特定の地図領域が印刷領域として特定された場合、当該第１画面に表示中の地図画像における地図の縮尺に対応するズームレベルである第１ズームレベルに基づいて、印刷に用いる地図画像における地図の縮尺に対応するズームレベルである第２ズームレベルを決定する決定手段と、前記印刷領域を複数の分割領域に分割し、前記第１画面に表示中の地図画像内の基準位置を示す位置情報と、前記決定手段により決定された第２ズームレベルとに基づいて、各分割領域に対応する前記第２ズームレベルの地図データを、前記サーバから前記通信部を介して取得する第１取得手段と、前記第１取得手段により１の前記分割領域に対応する前記地図データの取得が開始された後、当該１の分割領域に対応する地図データの取得が完了する前において、前記第１取得手段により当該１の分割領域について取得された地図データに基づく地図画像を前記表示部に表示させる経過表示手段と、前記第１取得手段により取得された各分割領域の地図データに基づく各地図画像を合成して前記印刷領域を含む地図画像を生成し、当該生成された地図画像に含まれる前記印刷領域の地図画像であって、前記表示部の表示解像度に応じて画素を間引いた地図画像を含む第２画面を、前記表示部に表示させる第２画面表示手段と、前記コンピュータを機能させる。
【０００７】
なお、本発明は、情報処理装置、情報処理装置を制御する制御装置、情報処理システム、情報処理方法、情報処理プログラムを記録する記録媒体等の種々の態様で構成できる。
【発明の効果】
【０００８】
本明細書に開示される情報処理プログラムによれば、サーバから取得した地図データに基づく地図画像を含む第１画面において、特定の地図領域が印刷領域として特定された場合、当該第１画面に表示中の地図画像における地図の縮尺に対応するズームレベルである第１ズームレベルに基づいて、印刷に用いる地図画像における地図の縮尺に対応するズームレベルである第２ズームレベルが、決定手段により決定される。第２ズームレベルと、第１画面に表示中の地図画像内の基準位置を示す位置情報とに基づいて、少なくとも印刷領域を含む第２ズームレベルの地図の地図データが、第１取得手段により、サーバから取得される。第２ズームレベルは、印刷に用いる地図画像における地図の縮尺に対応するズームレベルとして決定された値であるので、印刷に用いる地図画像の地図を、当該印刷に用いる地図画像の大きさに応じた縮尺の地図とすることができる。よって、第１画面において特定された印刷領域の地図画像を好適な態様で印刷できる。
【０００９】
また、第２ズームレベルを、第１ズームレベルに対応する縮尺より大きい縮尺に対応するズームレベルとしてもよい。これにより、第１画面に表示中の地図画像における印刷領域を第１画面より大きなサイズの印刷用紙に印刷する場合において、当該印刷領域の地図画像を好適な態様で印刷できる。
【００１０】
また、第２ズームレベルが、第１ズームレベルに対応する縮尺より大きい縮尺に対応するズームレベルである場合、第２ズームレベルの地図に含まれる情報量が、第１ズームレベルの地図に比べて多くなるようにしてもよい。これにより、印刷に用いる地図画像の地図に含まれる情報量を、第１画面に表示中の地図画像の地図より多くできるので、第１画面より大きな領域に地図画像を印刷する場合において、情報量が少なく、地図が読み難くなることを抑制できる。
【００１１】
また、決定手段は、表示部の表示領域の第１方向または当該第１方向に直交する第２方向のいずれかである特定方向に含まれる画素数と、印刷時に特定方向に相当する方向に含まれる画素数との比と、第１ズームレベルとに基づいて、第２ズームレベルを決定するようにしてもよい。これにより、第１ズームレベルの地図の地図画像が表示領域に表示される場合に、当該第１ズームレベルと、表示領域の画素数と印刷時の画素数との比とに応じた第２ズームレベルを決定できる。よって、印刷に用いる地図画像を、表示領域に表示中の地図画像の画素数に応じた画素数で印刷できるので、第１画面より大きな領域に地図画像を印刷する場合であっても、画像が粗くなって画質が劣化することを抑制できる。
【００１２】
また、決定手段は、２以上の自然数を底とし、印刷時に特定方向に相当する方向に含まれる画素数を表示部の表示領域の特定方向に含まれる画素数で除した値を真数とする対数を、第１ズームレベルに加算した値を、第２ズームレベルとして決定するようにしてもよい。上記対数の計算から、表示部の表示領域の特定方向に含まれる画素数を、印刷時に特定方向に相当する方向に含まれる画素数にするために必要なズームレベルの変化量を算出できる。
【００１３】
また、印刷時に特定方向に相当する方向に含まれる画素数は、印刷設定として設定される用紙サイズおよび解像度に応じた値であるようにしてもよい。これにより、第１画面に表示中の地図画像における印刷領域を、種々の印刷設定において好適な画質で印刷できる。
【００１４】
また、第１取得手段により第２ズームレベルの地図の地図データが取得された場合には、当該取得された地図データに基づく印刷領域の地図画像を含む第２画面を、第２画面表示手段により、表示部に表示させるようにしてもよい。これにより、少なくとも印刷領域を含む第２ズームレベルの地図の地図画像を、ユーザに確認させることができる。
【００１５】
また、第２画面に表示中の地図画像に対する編集の指示が入力された場合、当該指示に応じた編集内容が反映された地図画像が、編集手段により生成されてもよい。これにより、編集内容が反映された地図画像を印刷できる。
【００１６】
また、第１取得手段は、印刷領域を含む第２ズームレベルの地図の領域を複数に分割した各分割領域について、当該各分割領域に対応する第２ズームレベルの地図の地図データを取得するようにしてもよい。このとき、第２画面表示手段は、第１取得手段により取得された当該各分割領域の地図データに基づく各地図画像を合成して印刷領域を含む地図画像を生成し、当該生成された地図画像に含まれる印刷領域の地図画像を含む第２画面を、表示部に表示させるようにしてもよい。これにより、本発明の情報処理プログラムを搭載する情報処理装置のスペックが、印刷に用いる地図画像を一度に取得できないものであっても、分割領域毎に地図データを取得することで、印刷に用いる地図画像を生成できる。
【００１７】
また、第１取得手段は、分割領域より広い領域について第２ズームレベルの地図の地図データを取得するようにしてもよい。これにより、当該分割領域の外の領域に対応する地図データを、当該領域を含む分割領域（すなわち、先に処理した分割領域に隣接する分割領域）の地図画像のために利用できる。よって、その分、地図データの取得に要する時間を短縮できる。
【００１８】
また、第１取得手段は、各分割領域について、ある分割領域に対応する地図データを取得した後、その次に、当該分割領域に隣接する領域に対応する地図データを取得するようにしてもよい。通常、表示部の表示領域の大きさより大きい領域の地図データが取得されるので、ある分割領域の次に、その分割領域に隣接する分割領域の地図データを取得することにより、先に取得した分割領域における周囲部分の地図データを、当該分割領域に隣接する分割領域の地図データとして利用できる。これにより、地図データの取得に要する時間を短縮できる。
【００１９】
また、第１取得手段により取得された各分割領域に対応する地図データに基づく各地図画像を合成して印刷領域を含む地図画像を生成し、生成された印刷領域を含む地図画像を、保存手段により記憶部に保存させるようにしてもよい。これにより、印刷領域を含む第２ズームレベルの地図の地図画像を保存できる。
【００２０】
また、第２画面表示手段は、第２画面に表示中の地図画像に対する表示倍率の変更指示が入力された場合、当該第２画面に表示中の地図画像を表示倍率の変更指示に応じて拡大または縮小して表示させるようにしてもよい。また、第２画面表示手段は、第２画面に表示中の地図画像に対する移動指示が入力された場合、当該第２画面に表示中の地図画像を移動指示に応じて移動させるようにしてもよい。これにより、第２画面の表示内容を、表示倍率の変更指示や移動指示に応じて適宜変更できる。その一方で、第１取得手段により取得された地図データに基づく印刷領域の地図画像を出力する出力手段は、第２画面に表示中の地図画像に対する表示倍率の変更指示または移動指示が入力されるか否かにかかわらず、印刷領域の地図画像を出力するようにしてもよい。これにより、表示倍率の変更指示または移動指示により、第２画面の表示内容が、印刷領域の地図画像の全体を含まない場合であっても、当初に特定された印刷領域を印刷できる。
【００２１】
また、第１取得手段により印刷領域に対応する地図データの取得が開始された後、当該印刷領域に対応する地図データの取得が完了する前において、当該第１取得手段により取得された地図データに基づく地図画像を、経過表示手段により表示部に表示させるようにしてもよい。これにより、印刷領域に対応する地図データが取得されている間、既に取得した地図データに基づく地図画像が表示されるので、ユーザに処理中であることを認識させ安心感を与えることができる。
【００２２】
また、第１取得手段が、印刷領域を含む第２ズームレベルの地図の領域を複数に分割した各分割領域について、当該各分割領域に対応する第２ズームレベルの地図の地図データを取得する場合に、ある分割領域に対応する地図データの取得が開始された後、当該ある分割領域に対応する地図データの取得が完了する前において、当該ある分割領域について取得された地図データに基づく地図画像を表示部に表示させるようにしてもよい。これにより、ある分割領域に対応する地図データが取得されている間、当該分割領域において既に取得した地図データに基づく地図画像が表示されるので、ユーザに処理中であることを認識させ安心感を与えることができる。
【００２３】
また、第１画面に表示中の地図画像の縮尺を大きくする指示が入力された場合、当該指示に応じて決定される縮尺に対応する第１ズームレベルに基づいて、第２ズームレベルを、特定手段により特定し、特定された特定された第２ズームレベルが、当該第２ズームレベルとして許容される最大値を超えるか否かを、判断手段により判断し、最大値を超えないと判断されたことを条件として、前記指示に応じて決定される縮尺に対応する前記第１ズームレベルの地図の地図データを、第２取得手段によりサーバから取得するようにしてもよい。このとき、第１画面表示手段は、判断手段により最大値を超えないと判断された場合には、第１画面に表示中の地図画像を、第２取得手段により取得された地図データに基づく地図画像に更新するようにしてもよい。これにより、指示に応じて決定される第１ズームレベルについて、当該第１ズームレベルに対する第２ズームレベルの地図の地図画像を生成できる場合には、入力された指示に応じて大きくされた縮尺に対応する第１ズームレベルの地図を表示できる。
【００２４】
その一方で、第１画面表示手段は、判断手段により最大値を超えると判断された場合には、第１画面に表示中の地図画像の表示を維持する。指示に応じて決定される第１ズームレベルについて、当該第１ズームレベルに対する第２ズームレベルの地図の地図画像を生成できない場合、印刷に用いる地図画像において、その大きさに適した縮尺が保証されず、好ましくない印刷結果が得られる可能性がある。これに対し、第２ズームレベルの地図の地図画像を生成できない第１ズームレベルについては、縮尺を大きくする指示があったとしても、当該第１ズームレベルの地図の地図画像を表示させないので、印刷領域の地図画像に対する好適な印刷結果をユーザに保証できる。
【００２５】
また、第１画面に表示中の地図画像の縮尺を大きくする指示が入力された場合、当該指示に応じて決定される縮尺に対応する第１ズームレベルに基づいて、第２ズームレベルを、特定手段により特定し、特定された特定された第２ズームレベルが、当該第２ズームレベルとして許容される最大値を超えるか否かを、判断手段により判断し、最大値を超えると判断された場合には、その旨を、通知手段により通知するようにしてもよい。これにより、ユーザはその旨を認識した上で作業を行うことができる。
【００２６】
また、第２ズームレベルとして許容される最大値は、第１画面に表示中の地図画像の種類に応じて決定するようにしてもよい。これにより、地図画像の種類に依ることなく、表示中の地図画像における印刷領域を好適な態様で印刷できる。
【００２７】
また、第１画面表示手段は、地図画像を、印刷領域の縦横比で第１画面に表示するようにしてもよい。これにより、第１画面に表示される地図画像の縦横比を、印刷領域の縦横比で表示できるので、ユーザは、印刷プレビューを行いながら地図画像の印刷領域を特定できる。
【００２８】
また、第１画面を、サーバから取得した地図データに基づく地図画像と、当該地図画像のうち印刷領域に相当する地図画像の周囲をマスクする余白画像とを含んで構成するものとし、印刷領域の縦横比が、余白画像の大きさを変更することにより変更されるようにしてもよい。これにより、地図画像はそのままに、余白画像の大きさを変更することで、種々の縦横比の印刷領域を第１画面に表示できる。
【００２９】
また、本明細書に開示される情報処理装置によれば、上述した情報処理プログラムと同様の効果を奏する。
【図面の簡単な説明】
【００３０】
【図１】端末の電気的構成を示すブロック図である。
【図２】本発明の概要を模式的に説明する図である。
【図３】本発明の概要を模式的に説明する図である。
【図４】第１実施形態のメイン処理を示すフローチャートである。
【図５】詳細地図画像処理を示すフローチャートである。
【図６】第２実施形態のメイン処理を示すフローチャートである。
【図７】本発明の変形例を説明する図である。
【発明を実施するための形態】
【００３１】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。まず、図１〜図５を参照して、第１実施形態について説明する。図１は、本発明の情報処理プログラムの一実施形態である地図アプリケーション（以下「地図アプリ」と称す）を搭載する端末１０の電気的構成を示すブロック図である。
【００３２】
本実施形態の端末１０は、スマートフォンなどの携帯端末として構成される。端末１０には、ＣＰＵ１１、フラッシュメモリ１２、ＲＡＭ１３、操作キー１５、ＬＣＤ１６、タッチパネル１７、音声入出力部１９、電話網通信部２０、無線通信部２３が設けられる。これらの各部は、バスライン２４を介して互いに接続される。
【００３３】
ＣＰＵ１１は、フラッシュメモリ１２等に格納されたプログラムや固定値等に従い、バスライン２４に接続された各構成を制御する。フラッシュメモリ１２は、書換可能な不揮発性のメモリであり、オペレーティングシステム（以下「ＯＳ」と称す）、地図アプリ等のプログラムが格納される。
【００３４】
ＯＳは、端末１０の基本機能を実現する基本ソフトウェアである。本実施形態では、ＯＳはアンドロイド（登録商標）である。なお、以下では、ＯＳやアプリ等のプログラムを実行するＣＰＵ１１のことを、単にプログラム名で記載する場合もある。例えば「アプリ」という記載が「アプリを実行するＣＰＵ１１」を意味する場合もある。地図アプリを含む各種アプリは、ＯＳが備えるＡＰＩを利用して、端末１０の各構成を制御する。
【００３５】
地図アプリは、サーバ２００から取得した地図データに基づく地図画像を描画させ、描画された地図画像をＬＣＤ１６に表示させる。なお、本実施形態では、サーバ２００から取得する地図データは、ベクトル形式の画像データ（以下「ベクトルデータ」と称す）である。地図アプリは、サーバ２００から取得した地図データを、端末１０にインストールされた専用のライブラリに入力することにより、当該ライブラリが描画したビットマップ形式の地図画像を得る。
【００３６】
また、詳細は後述するが、本実施形態の地図アプリは、ユーザからの入力に応じて、ＬＣＤ１６に表示中の地図画像に対し、印刷対象にする地図領域（以下「印刷地図領域」と称す）が特定された場合に、印刷用紙の用紙サイズ（例えば、Ａ４サイズ）に合わせてズームレベルを上げた（すなわち、地図の縮尺を大きくした）地図の地図データをサーバ２００から取得する。これにより、印刷用紙には、ＬＣＤ１６に表示中の地図画像より大きく、かつ、用紙サイズに適したズームレベルの地図が印刷される。
【００３７】
なお、「ズームレベル」は、地図の縮尺を指定する値である。ズームレベルがゼロである場合に、最小縮尺の地図に対応し、ズームレベルの値が大きいほど、より大きな縮尺の地図に対応する。本実施形態で用いるサーバ２００には、ズームレベルＮ（Ｎは、０以上の整数）毎に、世界地図を２Ｎ×２Ｎ個の正方形領域に分割し、各正方形領域の地図に対するベクトルデータが格納されている。つまり、本実施形態では、ズームレベルＮの値が１増える毎に、地図の縮尺は２倍ずつ大きくなる。ズームレベルにおける指数「Ｎ」は、０以上、かつ、対象とする地図の種類（例えば、通常の地図、航空地図など）に応じて許容されている最大値以下の値である。
【００３８】
なお、サーバ２００には、ズームレベルＮの値が大きいほど、すなわち、地図の縮尺が大きいほど、地図のベクトルデータには、より詳細な地図を描画できるよう、より詳細な情報（例えば、より狭い路地や、より詳細な地名や、建物名や、信号交差点名など）が含まれている。よって、ズームレベルの値が大きくなるほど、狭い路地や、建物名や、信号交差点名など、より詳細な情報を表示することができる。
【００３９】
上述した通り、本実施形態の地図アプリによれば、ＬＣＤ１６に表示中の地図画像より大きく、かつ、用紙サイズに適したズームレベルの地図を印刷用紙に印刷することができる。つまり、本実施形態の地図アプリによれば、ＬＣＤ１６に表示される地図画像には含まれない、それらの詳細な情報を印刷用紙に印刷できる。
【００４０】
地図に表示される情報の量をそのままに、地図画像の物理的なサイズを大きくしたとしても、地図画像の物理的なサイズに対する相対的な情報量が少なくなるため、地図を読み難くなる虞がある。これに対し、本実施形態の地図アプリによれば、用紙サイズに適したズームレベルの地図が印刷されるので、上記問題の発生を抑制できる。つまり、本実施形態の地図アプリによれば、印刷地図領域の地図を見易い地図として印刷できる。
【００４１】
以下、画像の物理的なサイズ（すなわち、縦および横方向の各ピクセルサイズ）を、単に「画像サイズ」または「画像のサイズ」と称す。つまり、以下の説明において「画像サイズ」または「画像のサイズ」という用語は、データサイズを意味しない。
【００４２】
また、ＬＣＤ１６に表示中の地図画像と同じズームレベルの地図画像を、ＬＣＤ１６より大きい印刷用紙に印刷する場合、ＬＣＤ１６に表示中の地図画像を用紙サイズに合わせて拡大する必要がある。地図画像を拡大した場合、一画素を占める画像の面積が増えるため、その分、画像が粗くなる。これに対し、本実施形態の地図アプリによれば、上述した通り、印刷用紙の用紙サイズに合わせてズームレベルを上げた地図の地図データをサーバ２００から取得するので、当該地図データに基づき描画されたビットマップ形式の地図画像を印刷の際に拡大する必要がない。これにより、印刷地図領域の地図を好適な画質で印刷できる。
【００４３】
ＲＡＭ１３は、ＣＰＵ１１が印刷アプリ等を実行するにあたり、各種情報を一時的に記憶する書換可能な揮発性のメモリである。操作キー１５は、端末１０に指示などを入力するためのメカニカルキーであり、例えば、端末１０の筺体に設けられる。ＬＣＤ１６は、各種画面を表示する液晶表示装置である。タッチパネル１７は、ＬＣＤ１６に重ねて設けられ、指や棒などの指示体を接触または接近させることによって、端末１０に指示などを入力する。音声入出力部１９は、マイクやスピーカなどで構成された音声入出力用デバイスである。電話網通信部２０は、携帯電話網（図示せず）を介した通話を行うための回路である。
【００４４】
無線通信部２３は、無線ＬＡＮによる無線通信を行うためのインタフェースである。本実施形態では、無線通信部２３が行う通信は、ＩＥＥＥ８０２．１１ｂ／ｇ／ｎの規格に準拠した無線ＬＡＮによる無線通信、より詳細には、Ｗｉ−Ｆｉ（登録商標）規格に基づく無線通信（所謂「Ｗｉ−Ｆｉ通信」）である。本実施形態において、無線通信部２３は、中継装置であるアクセスポイント（以下、「ＡＰ」と称す）３０を介して、プリンタ１００に接続される。
【００４５】
ＡＰ３０は、Ｗｉ−Ｆｉ通信を中継する中継装置である。ＡＰ３０は、ブロードバンドルーター機能を有し、インターネット８００に接続できる。よって、端末１０は、ＡＰ３０およびインターネット８００を介して、サーバ２００などの各種外部装置と通信可能に接続できる。
【００４６】
サーバ２００は、地図サービスを提供する地図サーバである。本実施形態におけるサーバ２００は、Ｇｏｏｇｌｅ  Ｍａｐｓ  ＡＰＩ（なお、Ｇｏｏｇｌｅ  Ｍａｐｓは登録商標）を利用して、ベクトルデータからなる地図データを提供する地図サーバである。上述した通り、サーバ２００には、ズームレベルＮ毎に、世界地図を、２Ｎ×２Ｎ個の正方形領域に分割した各地図のベクトルデータが準備されている。
【００４７】
端末１０に搭載される地図アプリは、サーバ２００から地図データを取得し、その地図データを、端末１０にインストールされた、Ｇｏｏｇｌｅ  Ｍａｐｓ  ＡＰＩのライブラリに渡し、当該ライブラリに、ＬＣＤ１６の画面のサイズに応じたサイズのビットマップ形式の地図画像を描画させる。以下の説明において、「地図データを描画する」とは、ベクトルデータからビットマップ形式の画像を描画することを示す。
【００４８】
図２および図３を参照して、本発明の概要を説明する。上述した通り、本実施形態の地図アプリは、ＬＣＤ１６に表示中の地図画像に対し、印刷地図領域が特定された場合に、当該印刷地図領域をそのままに、印刷の用紙サイズに合わせてズームレベルを上げた地図の地図画像をサーバ２００から取得する。
【００４９】
例えば、図２に示すように、地図アプリは、ＬＣＤ１６に表示中の地図画像Ｇａの全体が印刷対象の地図領域として特定された場合、地図画像Ｇａが、当該地図画像Ｇａのサイズより大きい、印刷時の地図画像Ｇｂのサイズとなるようなズームレベルを算出し、算出されたズームレベルの地図の地図データをサーバ２００から取得する。
【００５０】
つまり、ＬＣＤ１６に表示中の地図画像Ｇａにおけるズームレベル（以下、「表示ズームレベル」と称す）Ｚａより大きなズームレベルを、画像サイズが地図画像Ｇａより大きい地図画像Ｇｂを得るためのズームレベル（以下、「目標ズームレベル」と称す）Ｚｂとして算出する。目標ズームレベルＺｂは、ズームレベルＺａと、ＬＣＤ１６の画面における横方向の画素数Ｐａと、印刷時において目標とする横方向の画素数Ｐｂとから算出できる。なお、ＬＣＤ１６の画面における横方向の画素数でなく、当該画面のうち、地図画像の表示領域における横方向の画素数を、画素数Ｐａとしてもよい。
【００５１】
具体的に、ズームレベルが、その値が１増える毎に、地図の縮尺が２倍ずつ大きくなるものであると定義されている場合には、２を底とし、（Ｐｂ／Ｐａ）を真数とする対数に、Ｚａを加算した値が、目標ズームレベルＺｂとして算出される。つまり、Ｚｂ＝Ｚａ＋ｌｏｇ２（Ｐｂ／Ｐａ）である。
【００５２】
本実施形態では、印刷時の用紙サイズおよび印刷解像度が予め決められている。具体的に、用紙サイズが、Ａ４サイズ（２９７ｍｍ×２１０ｍｍ）であり、印刷解像度が、２４８ｄｐｉと決められている。これらの条件に対し、印刷時の画素数を、２８９６×２０４８ピクセルとしている。なお、２８９６×２０４８ピクセルとの画素数は、Ａ４サイズの縦横の全長に対して余裕のある数値として算出されているが、Ａ４サイズの縦横の全長を印刷解像度で除した画素数（すなわち、２９００×２０５０ピクセル）以下であれば、適宜の数値を採用できる。
【００５３】
印刷時の画素数が、２８９６×２０４８ピクセルである場合に、例えば、ＬＣＤ１６の画面の画素数が８００×４８０ピクセル（画面サイズ：８１ｍｍ×６１ｍｍ，表示解像度：約２３３ｄｐｉ）であれば、ｌｏｇ２（Ｐｂ／Ｐａ）は、ｌｏｇ２（２０４８／４８０）、すなわち、約２．０９３１である。表示ズームレベルＺａを５とする場合、この例における目標ズームレベルＺｂは、約７．０９３１である。
【００５４】
よって、この例では、表示中の地図画像の縮尺を、２の２．０９３１乗（すなわち、約４．３）倍にした地図画像が描画される。つまり、目標ズームレベルＺｂで描画される地図画像は、単位画素数あたりに描かれる地図上の距離が、表示中の地図画像（すなわち、表示ズームレベルＺａで描画される地図画像）の１／約４．３であり、より詳細な地図が描かれる。以下、上記式Ｚｂ＝Ｚａ＋ｌｏｇ２（Ｐｂ／Ｐａ）から算出された目標ズームレベルＺｂで描画される地図画像を「詳細地図画像」と称す。
【００５５】
上記例では、ＬＣＤ１６の画面の画素数と、印刷時の画素数とを用いて目標ズームレベルＺｂを算出した。これに代えて、画面サイズと表示解像度とから、ＬＣＤ１６の画面の画素数を算出し、算出された画素数を目標ズームレベルＺｂの算出に用いてもよい。同様に、用紙サイズと印刷解像度とから、印刷時の画素数を算出し、算出された画素数を目標ズームレベルＺｂの算出に用いてもよい。
【００５６】
また、上記例では、画素数Ｐａおよび画素数Ｐｂを、それぞれ、ＬＣＤ１６の画面における横方向の画素数、および、印刷時において目標とする横方向の画素数とした。これに代えて、画素数Ｐａおよび画素数Ｐｂを、それぞれ、ＬＣＤ１６の画面における縦方向の画素数、および、印刷時において目標とする縦方向の画素数としてもよい。画素数Ｐｂを、印刷時において目標とする縦方向の画素数とする場合、ＬＣＤ１６の画面のうち、地図画像の表示領域における縦方向の画素数を、画素数Ｐａとしてもよい。
【００５７】
本実施形態では、詳細地図画像を描画する場合に、図３（ａ）に示すように、印刷対象の地図領域を４つに分割し、分割領域Ｑ１〜Ｑ４のそれぞれについて、ズームレベルＺｂの地図の地図画像を描画する。各分割領域Ｑ１〜Ｑ４の位置は、表示中の地図画像の中心の緯度経度と、ＬＣＤ１６の画面における縦および横方向の各画素数と、表示ズームレベルＺａとから算出される、各分割領域Ｑ１〜Ｑ４の中心の緯度経度Ｃ１〜Ｃ４により特定できる。
【００５８】
分割領域Ｑ１〜Ｑ４は、１領域ずつ処理される。すなわち、分割領域Ｑ１〜Ｑ４は、１領域ずつ、サーバ２００から地図データを取得し、地図画像を描画させる。本実施形態は、上段の左端の分割領域Ｑ１、分割領域Ｑ１の右隣の分割領域Ｑ２、下段の左端の分割領域Ｑ３、分割領域Ｑ３の右隣の分割領域Ｑ４の順で処理する。
【００５９】
通常、地図画像の表示領域をスワイプ操作で移動させた場合に地図画像の表示が途切れることを抑制するために、当該表示領域より広い領域の地図データが、サーバ２００から取得される。そのため、ある分割領域の処理後、その次に、当該分割領域に隣接する分割領域を処理対象とすることにより、後で処理される分割領域は、先に処理された分割領域について取得した、当該分割領域の周囲部分の地図データを利用できる。これにより、地図データの取得に要する時間を短縮できる。
【００６０】
図３（ｂ）に示すように、各分割領域Ｑ１〜Ｑ４について描画された地図画像（すなわち、ズームレベルＺｂの地図の地図画像）を合成した合成画像Ｑを生成する。合成画像Ｑのうち、印刷対象の地図領域Ｒの画像を、所定形式のファイルとして、フラッシュメモリ１２に保存する。合成画像のファイル形式としては、例えば、ｐｎｇ形式である。目標ズームレベルで描画された地図画像がファイルとしてフラッシュメモリ１２に保存されたことにより、目標ズームレベルで描画された地図画像の消失を抑制できる。また、フラッシュメモリ１２に保存されたファイルに基づく地図画像が表示されるので、目標ズームレベルで描画された地図画像の表示中、サーバ２００から地図データを再度取得することなく、当該地図画像を拡大または縮小できる。
【００６１】
なお、目標ズームレベルで描画された地図画像のファイルがフラッシュメモリ１２に保存される一方で、ライブラリにより描画された地図画像の描画データは、ビットマップデータであり、ＲＡＭ１３上に設けられたフレームバッファに記憶されている。
【００６２】
図４は、メイン処理を示すフローチャートである。本処理は、ＣＰＵ１１がフラッシュメモリ１２に記憶される地図アプリに従い実行する処理であり、地図アプリを起動させると開始される。ＣＰＵ１１は、サーバ２００から地図データを取得する（Ｓ４０１）。具体的に、ＣＰＵ１１は、ＡＰ３０のＭＡＣアドレスなどのネットワーク情報と、地図種別と、ズームレベルの初期値（例えば、５）とを、無線通信部２３を介してサーバ２００に出力し、サーバ２００から、指定された地図種別の地図であって、現在地を中心とする初期値のズームレベルの地図に対応する地図データを取得する。
【００６３】
なお、ＣＰＵ１１は、Ｓ４０１にてサーバ２００に出力したズームレベルの値をＲＡＭ１３に記憶する。また、ＣＰＵ１１は、Ｓ４０１にて取得した地図データと共に返された中心の緯度経度を初期値としてＲＡＭ１３に記憶する。
【００６４】
ＣＰＵ１１は、取得した地図データに基づきライブラリに描画させた地図画像を、印刷地図領域を設定するための画面（以下「領域設定画面」と称す）に表示する（Ｓ４０２）。なお、領域設定画面において、地図画像は、予め決められた用紙サイズ（本実施形態では、Ａ４サイズ）の縦横比で表示される。よって、領域設定画面に表示された地図画像を、その縦横比で印刷することができるので、ユーザは、印刷プレビューを行いながら印刷地図領域を設定できる。
【００６５】
ＣＰＵ１１は、タッチパネル１７を介して行われた、領域設定画面に対するユーザ操作の入力を受け付けるまで待機する（Ｓ４０３：Ｎｏ）。領域設定画面に対するユーザ操作の入力を、ＣＰＵ１１が受け付けた場合（Ｓ４０３：Ｙｅｓ）、その操作が、地図の縮尺の縮小、地図画像の表示領域の移動、地図画像の回転、または地図種別の変更を指示する操作であると、ＣＰＵ１１が判断した場合（Ｓ４０４：縮小／移動／回転／地図種別変更）、各操作に応じた変更が反映された地図画像を描画するための地図データをサーバ２００から取得する（Ｓ４１０）。
【００６６】
例えば、ユーザ操作が地図の縮尺の縮小を示すものであった場合、ＣＰＵ１１は、指示に応じたズームレベルを算出し、算出されたズームレベルと、領域設定画面に表示中の地図画像の中心の緯度経度とを、無線通信部２３を介してサーバ２００に出力する。
なお、ユーザがズームレベルの値を指示してもよく、その場合は、指示されたズームレベルの値と、領域設定画面に表示中の地図画像の中心の緯度経度とを、無線通信部２３を介してサーバ２００に出力するようにすればよい。これにより、ＣＰＵ１１は、サーバ２００から、表示中の地図画像の中心と同じ緯度経度を中心とし、指示に応じて算出された表示ズームレベルＺａの地図に対応する地図データを取得する。
【００６７】
あるいは、ユーザ操作が地図の移動を示すスワイプ操作であった場合、ＣＰＵ１１は、該スワイプ操作による地図画像の移動量に基づいて、移動先の地図画像の中心の緯度経度を、現在の中心の緯度経度から算出する。具体的に、スワイプ操作の始点と終点とから、縦および横方向に移動した画素数を移動量として算出する。これら縦および横方向の画素数と、表示ズームレベルＺａとから、縦方向に移動した画素数に相当する緯度の幅と、横方向に移動した画素数に相当する経度の幅とが算出されるので、これらの値と、表示中の地図画像の中心の緯度経度とから、移動先の地図画像の中心の緯度経度を算出する。これにより、ＣＰＵ１１は、サーバ２００から、移動先の地図画像の中心の緯度経度を中心とし、現在の表示ズームレベルＺａの地図に対応する地図データを取得する。
【００６８】
なお、ＣＰＵ１１は、Ｓ４１０にてサーバ２００に出力した、地図画像の中心の緯度経度とズームレベルとを、ＲＡＭ１３に記憶する。つまり、Ｓ４１０にて、地図画像の中心の緯度経度とズームレベルとがサーバ２００に出力される毎に、ＲＡＭ１３に記憶される、地図画像の中心の緯度経度とズームレベルの値が更新される。
【００６９】
ＣＰＵ１１は、Ｓ４１０の処理後、領域設定画面の地図画像を、Ｓ４１０にてサーバ２００から取得した地図データに基づきライブラリに描画させた地図画像に更新し（Ｓ４１１）、処理をＳ４０３に移行する。
【００７０】
一方、領域設定画面に対して入力されたユーザ操作が、地図の縮尺の拡大を指示する操作であると、ＣＰＵ１１が判断した場合（Ｓ４０４：拡大）、ＣＰＵ１１は、指示に応じて縮尺を拡大させた地図画像について、当該地図画像から詳細地図画像を取得可能であるかを判断する（Ｓ４１２）。
【００７１】
Ｓ４１２において、ＣＰＵ１１は、指示に応じて縮尺を拡大した地図画像のズームレベルを表示ズームレベルＺａとした場合に、詳細地図画像を得るためのズームレベル（すなわち、目標ズームレベルＺｂ）が、ズームレベルとして取り得る最大値以下であるかを判断する。
【００７２】
具体的に、ＣＰＵ１１は、指示に応じた表示ズームレベルＺａを算出する。ＣＰＵ１１は、算出されたＺａの値と、ＬＣＤ１６の画面における横方向の画素数Ｐａと、印刷時において目標とする横方向の画素数Ｐｂとから、上記式Ｚｂ＝Ｚａ＋ｌｏｇ２（Ｐｂ／Ｐａ）に従い、目標ズームレベルＺｂを算出する。ＣＰＵ１１は、算出されたＺｂを、ズームレベルとして取り得る最大値であるか否かを判断する。
【００７３】
ズームレベルとして取り得る最大値は、サーバ２００において、地図の種類（例えば、通常の地図、航空地図など）毎に決められている。地図アプリには、サーバ２００においてズームレベルとして取り得る最大値が、地図の種類毎に予め準備されている。なお、サーバ２００に、表示中の種類の地図に対して取り得るズームレベルの最大値をその都度問い合わせてもよい。
【００７４】
ＣＰＵ１１は、算出されたＺｂが取り得る最大値以下であると判断した場合に、ユーザ操作に応じて縮尺を拡大した地図画像から、詳細地図画像を取得可能であるとし、Ｓ４１２の判断を肯定する。一方、ＣＰＵ１１は、算出されたＺｂが取り得る最大値を超えると判断した場合、Ｓ４１２の判断を否定する。
【００７５】
ＣＰＵ１１が、Ｓ４１２の判断を肯定した場合（Ｓ４１２：Ｙｅｓ）、ＣＰＵ１１は、ユーザ操作に応じて縮尺が拡大された地図画像を描画するための地図データをサーバ２００から取得する（Ｓ４１０）。具体的に、ＣＰＵ１１は、領域設定画面に表示中の地図画像の中心の緯度経度と、指示に応じて算出された表示ズームレベルＺａとを、無線通信部２３を介してサーバ２００に出力し、サーバ２００から、表示中の地図画像と同じ位置を中心とし、指示に応じて算出された表示ズームレベルＺａの地図に対応する地図データを取得する。
【００７６】
ＣＰＵ１１は、Ｓ４１０の処理後、領域設定画面の地図画像を、Ｓ４１０にてサーバ２００から取得した地図データに基づきライブラリに描画させた地図画像に更新し（Ｓ４１１）、処理をＳ４０３に移行する。よって、縮尺が拡大された後も詳細地図画像を取得することが可能である場合には、領域設定画面の地図画像が、ユーザ操作に応じて縮尺が拡大された地図画像に更新される。
【００７７】
一方、ＣＰＵ１１が、Ｓ４１２の判断を否定した場合（Ｓ４１２：Ｎｏ）、ＣＰＵ１１は、処理をＳ４０３に移行する。よって、ユーザ操作に応じて縮尺を拡大した地図画像から、詳細地図画像を取得できない場合、縮尺の拡大は禁止され、表示中の地図画像が維持される。つまり、本実施形態では、領域設定画面には、詳細地図画像を取得できるズームレベルの地図画像のみが表示される。
【００７８】
指示に応じた表示ズームレベルＺａに対して算出される目標ズームレベルＺｂが、ズームレベルとして取り得る最大値を超える場合、詳細地図画像において、その画像サイズに適した縮尺が保証されず、好ましくない印刷結果が得られる可能性がある。これに対し、本実施形態では、ユーザ操作に応じて縮尺を拡大した地図画像から、詳細地図画像を取得できない場合には、縮尺の拡大が禁止されるので、詳細地図画像に対する好適な印刷結果をユーザに保証できる。
【００７９】
Ｓ４０４において、領域設定画面に対して入力されたユーザ操作が、印刷地図領域の設定を指示する操作であると、ＣＰＵ１１が判断した場合（Ｓ４０４：領域設定）、ＣＰＵ１１は、詳細地図画像取得処理を実行する（Ｓ４０５）。Ｓ４０５は、ユーザ操作により設定された地図領域の詳細地図画像を取得する処理である。
【００８０】
ここで、図５を参照して、詳細地図画像取得処理（Ｓ４０５）の詳細を説明する。ＣＰＵ１１は、領域設定画面に表示中の地図画像、すなわち、印刷地図領域の地図画像のパラメータを取得する（Ｓ５０１）。具体的に、ＣＰＵ１１は、パラメータとして、表示中の地図画像の中心の緯度経度と、表示中の地図画像のズームレベルと、ＬＣＤ１６の画面における縦および横方向の画素数とを取得する。なお、表示中の地図画像の中心の緯度経度およびームレベルは、Ｓ４０１またはＳ４１０にてＲＡＭ１３に記憶された値である。つまり、Ｓ５０１において、ＣＰＵ１１は、表示中の地図画像の中心の緯度経度およびームレベルを、ＲＡＭ１３から取得する。一方、ＬＣＤ１６の画面における縦および横方向の画素数は、端末１０のスペックとしてフラッシュメモリ１２に予め記憶されている。
【００８１】
ＣＰＵ１１は、詳細地図画像を得るためのズームレベル（すなわち、目標ズームレベルＺｂ）を算出する。具体的に、ＣＰＵ１１は、Ｓ５０１にて取得した表示ズームレベルＺａと、ＬＣＤ１６の画面における横方向の画素数（すなわち、画素数Ｐａ）と、印刷時において目標とする横方向の画素数Ｐｂとから、上記式Ｚｂ＝Ｚａ＋ｌｏｇ２（Ｐｂ／Ｐａ）に従い、目標ズームレベルＺｂを算出する。
【００８２】
ＣＰＵ１１は、各分割領域の中心の緯度経度を算出する（Ｓ５０３）。本実施形態では、印刷地図領域を４つに分割するので、ＣＰＵ１１は、それら４つの分割領域について、それぞれ中心の緯度経度を算出する。具体的に、ＣＰＵ１１は、表示中の地図画像の中心の緯度経度と、ＬＣＤ１６の画面における縦および横方向の各画素数と、表示ズームレベルＺａとから、各分割領域の中心の緯度経度を算出する。
【００８３】
つまり、ＬＣＤ１６の画面における縦および横方向の各画素数と、表示ズームレベルＺａとから、ＬＣＤ１６の画面における縦方向の画素数に相当する緯度の幅と、横方向の画素数に相当する経度の幅とが算出されるので、これらの値と、表示中の地図画像の中心の緯度経度とから、各分割領域の中心の緯度経度を算出できる。
【００８４】
なお、分割領域の各中心の緯度経度を算出する際に、ＬＣＤ１６の画面における縦および横方向の各画素数でなく、地図画像の表示領域における縦および横方向の画素数としてもよい。
【００８５】
ＣＰＵ１１は、各分割領域について、Ｓ５０２にて算出された算出された目標ズームレベルＺｂの地図データをサーバ２００から取得する（Ｓ５０４）。本実施形態では、４つの分割領域を、上段左の分割領域、上段右の分割領域、下段左の分割領域、下段右の分割領域の順で処理する。
【００８６】
具体的に、ＣＰＵ１１は、処理順に従う１の分割領域に対し、Ｓ５０３にて算出された、当該分割領域の中心の緯度経度と、Ｓ５０２にて算出された目標ズームレベルＺｂとを、無線通信部２３を介してサーバ２００に出力し、サーバ２００から、処理対象の分割領域について、目標ズームレベルＺｂの地図に対応する地図データを取得する。ＣＰＵ１１は、取得した地図データに基づき、処理対象の分割領域に対する詳細地図画像をライブラリに描画させる。
【００８７】
なお、ＣＰＵ１１は、処理対象の分割領域に対する地図データを取得している間、当該分割領域に対する詳細地図画像のうち、描画が完了した一部をＬＣＤ１６に表示させる。これにより、詳細地図画像（より詳細には、処理対象の分割領域）の描画中であることをユーザに認識させることができるため、ユーザに安心感を与えることができる。
【００８８】
ＣＰＵ１１は、各分割領域について描画された詳細地図画像の描画データを合成する（Ｓ５０５）。ＣＰＵ１１は、Ｓ５０５により得られた合成画像のうち、印刷地図領域の範囲内に含まれる画素データを抽出し、所定形式（例えば、ｐｎｇ形式）のファイルとして、フラッシュメモリ１２に保存し（Ｓ５０６）、本処理を終了する。なお、印刷地図領域は、左上および右下の緯度経度により特定される。印刷地図領域の左上および右下の緯度経度は、Ｓ５０１にて取得した中心の緯度経度と、ＬＣＤ１６の画面における縦および横方向の画素数とから算出できる。
【００８９】
図４に戻る。ＣＰＵ１１は、Ｓ４０５にて得られた詳細地図画像を、詳細地図画像を編集するための画面（以下「編集画面」と称す）に表示する（Ｓ４０６）。上述した通り、詳細地図画像は、フラッシュメモリ１２にファイルとして保存されており、編集画面には、フラッシュメモリ１２に保存されている詳細地図画像が表示される。ＬＣＤ１６の画面の表示解像度では、詳細地図画像をそのまま表示できないので、詳細地図画像を編集画面に表示する場合、詳細地図画像は、ＬＣＤ１６の画面の表示解像度に応じて画素が実質的に間引かれた状態で表示される。ＣＰＵ１１は、タッチパネル１７を介して行われた、編集画面に対するユーザ操作の入力を受け付けるまで待機する（Ｓ４０７：Ｎｏ）。
【００９０】
編集画面に対するユーザ操作の入力を、ＣＰＵ１１が受け付けた場合（Ｓ４０７：Ｙｅｓ）、その操作が、詳細地図画像における表示領域の拡大または縮小、詳細地図画像の表示領域の移動、または詳細地図画像の回転を指示する操作であると、ＣＰＵ１１が判断した場合（Ｓ４０８：拡大／縮小／移動／回転）、編集画面に表示される詳細地図画像を、各操作に応じた変更が反映されたものに更新し（Ｓ４１４）、処理をＳ４０７に移行する。なお、詳細地図画像は、ユーザ操作により印刷領域として特定された領域の地図に限られるので、拡大、縮小、および移動は、詳細地図画像の範囲内で行われる。
【００９１】
一方、編集画面に対して入力されたユーザ操作が、詳細地図画像に対する編集を指示する操作であると、ＣＰＵ１１が判断した場合（Ｓ４０８：編集）、ＣＰＵ１１は、ユーザによる編集の内容を詳細地図画像に反映し、編集画面に表示される詳細地図画像を、当該編集が反映されたものに更新し（Ｓ４１３）、処理をＳ４０７に移行する。なお、詳細地図画像に対する編集としては、指定位置へのアイコン画像の表示や、詳細地図画像に対する書き込みなどが例示される。
【００９２】
編集画面に対して入力されたユーザ操作が、印刷の実行を指示する操作であると、ＣＰＵ１１が判断した場合（Ｓ４０８：印刷）、ＣＰＵ１１は、印刷地図領域の詳細地図画像のファイルを、無線通信部２３を介してプリンタ１００に出力し（Ｓ４０９）、本処理を終了する。これにより、プリンタ１００にて、詳細地図画像が印刷用紙に印刷される。
【００９３】
プリンタ１００に出力される詳細地図画像が、Ｓ４１３にて、ユーザ操作に応じた編集が反映されたものである場合、ＣＰＵ１１は、Ｓ５０６にて保存された詳細地図画像のファイルとは別に、編集が反映された詳細地図画像のファイルを生成し、そのファイルをプリンタ１００に出力する。よって、詳細地図画像に対する編集が行われた場合には、当該編集が反映された詳細地図画像をプリンタ１００に印刷させることができる。一方、詳細地図画像に対する編集が行われていない場合、ＣＰＵ１１は、Ｓ５０６にて保存された詳細地図画像のファイルをプリンタ１００に出力する。
【００９４】
なお、Ｓ４１４にて、編集画面に表示される詳細地図画像が、各操作に応じた変更を反映して更新されたことにより、編集画面には、印刷地図領域の全体が表示されていない場合もあり得るが、そのような場合であっても、プリンタ１００に出力される詳細地図画像は、印刷地図領域の詳細地図画像である。よって、編集画面の内容が印刷地図領域の全体を含まない場合であっても、当初に設定された印刷地図領域の内容を印刷できる。
【００９５】
上記第１実施形態によれば、ＬＣＤ１６に表示中の地図画像における表示ズームレベルＺａに基づいて、印刷地図領域が詳細地図画像のサイズとなるような目標ズームレベルＺｂが決定される。よって、詳細地図画像の地図を、その画像サイズに応じた縮尺の地図とすることができる。よって、詳細地図画像における地図の情報量が、その画像サイズに対して不適切になることを抑制できる。
【００９６】
また、目標ズームレベルＺｂは、ＬＣＤ１６の画面における横方向の画素数Ｐａと、印刷時において目標とする横方向の画素数（すなわち、詳細地図画像における横方向の画素数）Ｐｂとの比に応じた値として算出される。これにより、詳細地図画像の画素数は、ＬＣＤ１６に表示中の地図画像の画素数に応じた値となるため、詳細地図画像が、ＬＣＤ１６に表示中の地図画像より粗い画像となって画質が劣化することを抑制できる。
【００９７】
また、領域設定画面において、地図の縮尺の拡大を指示するユーザ操作が入力された場合に、当該指示に応じて拡大させた地図画像から詳細地図画像を取得できない場合には、ユーザの指示に基づく縮尺の拡大が禁止される。よって、印刷地図領域の地図画像を印刷した場合に、好適な画質の印刷結果であることを担保できる。
【００９８】
次に、図６を参照して、第２実施形態について説明する。上述した第１実施形態では、領域設定画面に対して、地図の縮尺の拡大を指示するユーザ操作が入力された場合に、指示に応じて縮尺を拡大させた地図画像から、詳細地図画像を取得できない場合には、指示に応じた縮尺の拡大を禁止する構成とした。
【００９９】
これに代えて、第２実施形態では、ユーザの指示に応じて縮尺を拡大させた地図画像から、詳細地図画像を取得できない場合には、指示に応じて縮尺を拡大した地図画像を描画した上で、その旨を通知する。第２実施形態において、第１実施形態と同一の部分には、同一の符号を付して、その説明を省略する。
【０１００】
以下、第２実施形態に特有の構成を中心に説明する。図６は、第２実施形態のメイン処理である。本処理は、第２実施形態の地図アプリに従って端末１０のＣＰＵ１１が実行する処理である。本処理は、第１実施形態と同様、地図アプリを起動させると開始される。
【０１０１】
ＣＰＵ１１は、領域設定画面に対して入力されたユーザ操作が、地図の縮尺の拡大を指示する操作であると、ＣＰＵ１１が判断した場合（Ｓ４０４：拡大）、第１実施形態と異なり、ＣＰＵ１１は、詳細地図画像が取得できるか否かにかかわらず、Ｓ４１０およびＳ４１１の処理を実行する。つまり、ＣＰＵ１１は、ユーザ操作に応じて縮尺が拡大された地図画像を描画するための地図データをサーバ２００から取得する。
【０１０２】
ＣＰＵ１１は、Ｓ４１１の処理後、Ｓ４１０およびＳ４１１の契機となったユーザ操作の種類を判断する（Ｓ６０１）。地図の縮尺の拡大を指示する操作以外の操作が行われたと、ＣＰＵ１１が判断した場合（Ｓ６０１：その他）、ＣＰＵ１１は、処理をＳ４０３に移行する。
【０１０３】
一方、地図の縮尺の拡大を指示する操作が行われたと、ＣＰＵ１１が判断した場合（Ｓ６０１：拡大）、ＣＰＵ１１は、上述したＳ４１２と同様に、指示に応じて縮尺を拡大させた地図画像について、当該地図画像から詳細地図画像を取得可能であるかを判断する（Ｓ６０２）。
【０１０４】
ＣＰＵ１１が、Ｓ６０２の判断を肯定した場合（Ｓ６０２：Ｙｅｓ）、ＣＰＵ１１は、処理をＳ４０３に移行する。一方、Ｓ６０２の判断を否定した場合（Ｓ６０２：Ｎｏ）、すなわち、ユーザ操作に応じて縮尺を拡大した地図画像から、詳細地図画像を取得できない場合、ＣＰＵ１１は、その旨を通知する通知処理を実行し（Ｓ６０３）、処理をＳ４０３に移行する。
【０１０５】
Ｓ６０３にて行われる通知は、例えば、Ｓ４１１により更新された地図画像上にポップアップ表示を行うことによって行う。通知の例としては、「この縮尺で印刷した場合、良好な画質を得られない可能性があります。」などの文字情報の表示が挙げられる。所定のマークの表示や、音声によって通知を行ってもよい。
【０１０６】
本実施形態では、詳細地図画像を取得できないズームレベルの地図画像（すなわち、Ｓ６０３にて通知の対象となった地図画像）が、印刷地図領域として設定された場合、上記式Ｚｂ＝Ｚａ＋ｌｏｇ２（Ｐｂ／Ｐａ）で算出されるズームレベルでなく、ズームレベルとして取り得る最大値のズームレベルの地図データをサーバ２００から取得する。
【０１０７】
なお、印刷地図領域を、ユーザが設定した領域とその周辺の領域とからなる領域として、表示ズームレベルＺａを現在値から実質的に下げることにより、上記式Ｚｂ＝Ｚａ＋ｌｏｇ２（Ｐｂ／Ｐａ）で算出されるズームレベルの地図データをサーバ２００から取得してもよい。かかる場合、ユーザが設定した領域より広い領域が印刷されるので、ユーザが印刷地図領域として意図した領域が相対的に小さく印刷されることになるが、印刷による地図画像の画質は好適とされる。
【０１０８】
上記第２実施形態によれば、領域設定画面において、地図の縮尺の拡大を指示するユーザ操作が入力された場合に、当該指示に応じて拡大させた地図画像から詳細地図画像を取得できない場合には、好適な画質の印刷結果が得られない可能性が、ユーザに通知される。よって、ユーザは、縮尺を拡大したことにより、好適な画質の印刷結果が得られない可能性があることを認識できる。
【０１０９】
上記実施形態において、図４〜図６に示すフローチャートを実現可能な地図アプリが、情報処理プログラムの一例である。当該地図アプリが搭載された端末１０が、情報処理装置の一例である。ＣＰＵ１１が、制御部、情報処理装置のコンピュータの一例である。ＬＣＤ１６が、表示部の一例である。無線通信部２３が、通信部の一例である。タッチパネル１７が、操作部の一例である。フラッシュメモリ１２が、記憶部の一例である。
【０１１０】
Ｓ４０１，Ｓ４１１の処理を実行するＣＰＵ１１が、第１画面表示手段の一例である。Ｓ５０２の処理を実行するＣＰＵ１１が、決定手段の一例である。Ｓ５０４の処理を実行するＣＰＵ１１が、第１取得手段の一例である。Ｓ４０６の処理を実行するＣＰＵ１１が、第２画面表示手段の一例である。Ｓ４１３の処理を実行するＣＰＵ１１が、編集手段の一例である。Ｓ５０６の処理を実行するＣＰＵ１１が、保存手段の一例である。Ｓ４０９の処理を実行するＣＰＵ１１が、出力手段の一例である。Ｓ４１２，Ｓ６０２の処理を実行するＣＰＵ１１が、特定手段、判断手段の一例である。Ｓ４１０の処理を実行するＣＰＵ１１が、第２取得手段の一例である。Ｓ６０３の処理を実行するＣＰＵ１１が、通知手段の一例である。
【０１１１】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【０１１２】
例えば、上記実施形態では、地図アプリが搭載される情報処理装置として、スマートフォンなどの端末１０を例示したが、タブレット端末や、パーソナルコンピュータや、ナビゲーション装置や、音楽再生装置や、デジタルカメラなどの装置を、地図アプリ１２ｂを搭載するための情報処理装置として採用できる。上記実施形態では、端末１００に搭載されるＯＳがアンドロイドＯＳであるものとして説明したが、他のＯＳを採用する構成としてもよい。
【０１１３】
上記実施形態では、用紙サイズをＡ４サイズに固定したが、用紙サイズは、領域設定画面の表示中に、印刷設定の１つとしてユーザが選択したサイズとしてもよい。上述した通り、印刷時の画素数は、用紙サイズと印刷解像度に応じて決まるので、用紙サイズが変更された場合には、印刷時の画素数もそれに応じて変化する。よって、用紙サイズが変更された場合、目標ズームレベルＺｂは、変更後の用紙サイズに応じた画素数Ｐｂを用いて算出される。
【０１１４】
かかる場合、用紙サイズが変更される毎に、領域選択画面に表示する地図画像の縦横比を変更するようにしてもよい。用紙サイズの変更に伴う、領域選択画面に表示される地図画像の縦横比の変更は、地図画像の再描画によって変更してもよい。
【０１１５】
あるいは、図７に示すように、ＬＣＤ１６に表示された地図画像Ｇａに、地図画像Ｇａの周囲に余白領域を形成するマスク画像Ｍを重ね、用紙サイズの変更に応じて、マスク画像Ｍにおける余白領域の大きさを変更することによって、表示される地図画像のＧａの縦横比を変更するようにしてもよい。本変形例によれば、地図画像を再描画することなく、地図画像を、種々の用紙サイズの縦横比で表示することができる。
【０１１６】
また、上記実施形態では、印刷解像度として、２４８ｄｐｉを例示したが、印刷設定として、複数の印刷解像度の中からユーザが選択した値を用いる構成としてもよい。かかる場合も、上記用紙サイズの場合と同様、印刷時の画素数が変化する。よって、印刷解像度が変更された場合、目標ズームレベルＺｂは、変更後の印刷解像度に応じた画素数Ｐｂを用いて算出される。
【０１１７】
上記実施形態では、詳細地図画像を得るための分割領域を４つとしたが、印刷地図領域の分割数は、４つに限らず、２つや、９つなど、種々の分割数を採用できる。なお、印刷地図領域の分割を、上下３段以上、および／または左右２列以上で行った場合も、上記実施形態と同様、ある分割領域の処理後、その次に、当該分割領域に隣接する分割領域を処理対象とすることが好ましい。なお、フレームバッファの大きさが許容する場合には、印刷地図領域を分割することなく、印刷地図領域そのものの詳細地図画像を１回の地図データの取得と描画により生成する構成としてもよい。
【０１１８】
上記実施形態では、処理対象の分割領域に対する地図データを取得している間、当該分割領域に対する詳細地図画像のうち、描画が完了した一部をＬＣＤ１６に表示させる構成としたが、処理対象の分割領域により前に処理された分割領域に対して描画された地図画像をＬＣＤ１６に表示させる構成としてもよい。本変形例であっても、詳細地図領域の描画中であることをユーザに認識させることができるため、ユーザに安心感を与えることができる。
【０１１９】
上記実施形態では、ズームレベルを、その値が１増える毎に、地図の縮尺が２倍ずつ大きくなる値であると定義したが、ズームレベルが、その値が１増える毎に、地図の縮尺がＪ倍ずつ（Ｊは、３以上の自然数）大きくなる値であってもよい。本変形例では、目標ズームレベルＺｂの算出式が、Ｚａ＋ｌｏｇＪ（Ｐｂ／Ｐａ）となる。つまり、ズームレベルの定義に応じて、上記式の底の値が変化する。
【０１２０】
上記実施形態では、目標ズームレベルＺｂを、ＬＣＤ１６の画面における横方向の画素数Ｐａと、印刷時において目標とする横方向の画素数Ｐｂを用いて、計算式から算出する構成としたが、画素数Ｐｂと、ｌｏｇ２（Ｐｂ／Ｐａ）との組み合わせがテーブルとして準備されている構成としてもよい
【０１２１】
上記実施形態では、領域設定画面において印刷地図領域が設定された場合に、印刷地図領域の詳細地図画像を、当該詳細地図画像を編集可能な編集画面に表示する構成とした。これに代えて、領域設定画面において印刷地図領域が設定された場合に、編集画面を経ることなく、印刷地図領域の詳細地図画像をプリンタ１００に出力して印刷させる構成としてもよい。つまり、メイン処理（図４，図６）において、Ｓ４０５〜Ｓ４０８，Ｓ４１３，Ｓ４１４の処理を省略する構成としてもよい。なお、領域設定画面において印刷地図領域が設定された場合に、編集画面を表示可能なモードと、編集画面を経ることなく印刷を行うモードとを、ユーザが選択できる構成としてもよい。
【０１２２】
上記実施形態では、ユーザ操作に応じて地図画像の縮尺が変わる毎に、ズームレベルをサーバ２００に出力し、当該ズームレベルに応じた地図画像を取得する構成とした。これに代えて、サーバ２００から比較的詳細となる縮尺の地図データを取得し、ユーザ操作に応じて地図画像の縮尺が変わった場合には、ライブラリに対し、変更後の縮尺に対応するズームレベルを入力し、当該ズームレベルに応じた地図画像を再描画させる構成としてもよい。
【０１２３】
上記実施形態では、サーバ２００として、Ｇｏｏｇｌｅ  Ｍａｐｓ  ＡＰＩを利用するサーバを例示したが、各種形式の地図データを提供するサーバであれば、適宜のサーバをサーバ２００として採用できる。例えば、Ｇｏｏｇｌｅ  Ｓｔａｔｉｃ  Ｍａｐｓ  ＡＰＩ（なお、Ｇｏｏｇｌｅ  Ｓｔａｔｉｃ  Ｍａｐｓは登録商標）を利用するサーバを、サーバ２００として採用できる。なお、サーバ２００は、Ｇｏｏｇｌｅ（登録商標）社が提供するサーバに限らず、種々の組織が提供するサーバを利用できる。
【０１２４】
Ｇｏｏｇｌｅ  Ｓｔａｔｉｃ  Ｍａｐｓ  ＡＰＩを利用するサーバ（以下「ビットマップ地図サーバ」と称す）が提供する地図データは、ベクトルデータではなく、ビットマップ形式の画像データ（以下「ビットマップの地図データ」と称す）である。ビットマップの地図データは、当該データそのものに基づいて地図画像を表示できる。よって、ビットマップ地図サーバを利用する場合には、上記実施形態のように、ライブラリによる地図画像の描画は不要である
【０１２５】
ビットマップ地図サーバを利用する場合、地図アプリは、ＬＣＤ１６の画面サイズと、地図画像の中心とする緯度経度と、ズームレベルとをサーバに出力することにより、当該サーバからビットマップの地図データを取得する。なお、ビットマップ地図サーバには、ズームレベル（Ｎは、０以上の整数）Ｎ毎に、世界地図を、２Ｎ×２Ｎ個の正方形領域に分割し、各正方形領域の地図に対するビットマップの地図データが格納されている。上述したベクトルデータの場合と同様、ビットマップの地図データには、ズームレベルＮの値が大きいほど、より詳細な地図の情報（（例えば、より狭い路地や、より詳細な地名や、建物名や、信号交差点名など）が含まれる。
【０１２６】
ビットマップの地図データを用いる上記変形例では、分割領域として、表示中の地図画像における中心の緯度経度を中心とする４または９領域（すなわち、２×２または３×３領域）を算出する。そして、算出された４または９領域について、ズームレベルを上げた地図データをサーバ２００から取得する。
【０１２７】
上記実施形態では、中心の緯度経度を基準位置として、取得する地図の位置が特定される構成としたが、基準位置は中心に限らない。地図データを提供するＡＰＩの仕様に応じて、適宜の位置を、地図を取得するための基準位置とすることができる。
【０１２８】
上記実施形態では、印刷の用紙サイズがＬＣＤ１６の画面より大きい場合について例示したが、印刷の用紙サイズがＬＣＤ１６の画面より小さい場合についても、上記式に基づき目標ズームレベルＺｂを算出し、算出したズームレベルの地図画像を印刷するようにしてもよい。
【０１２９】
上記実施形態では、地図画像の中心の緯度経度とズームレベルとを、サーバ２００に出力する構成とした。これらの情報に加え、ＬＣＤ１６の画面のサイズをサーバ２００に渡し、端末１０は、サーバ２００に渡した画面のサイズに応じた範囲の地図データ、または、当該画面のサイズより広い範囲の地図データを、サーバ２００から取得する構成としてもよい。後者の場合、端末１０において、画面の範囲内で地図画像を表示させるようにすればよい。
【０１３０】
上記実施形態では、ＣＰＵ１１が、図４〜図６に記載される各処理を実行する構成として説明したが、これら各図に記載される各処理を、複数のＣＰＵが協同的に実行する構成としてもよい。また、ＡＳＩＣなどのＩＣが、単独で、または、複数によって協働的に、上記各図に記載される各処理を実行する構成してもよい。また、ＣＰＵ１１とＡＳＩＣなどのＩＣとが協同して、上記各図に記載される各処理を実行する構成してもよい。
【０１３１】
また、図４〜図６に記載される各処理のうち、一部の処理を、特許請求の範囲における独立請求項から逸脱しない範囲で、省略または変更してもよい。また、上記実施形態により説明した各特徴や、上述した各変形例を適宜組み合わせて実施する構成としてもよい。
【符号の説明】
【０１３２】
１０：端末，１１：ＣＰＵ
【図１】
0006701616.tif 000002
【図２】
0006701616.tif 000003
【図３】
0006701616.tif 000004
【図４】
0006701616.tif 000005
【図５】
0006701616.tif 000006
【図６】
0006701616.tif 000007
【図７】
0006701616.tif 000008