(57)【要約】【課題】従来よりも効率的に複数の通信端末の現在位置を表示することができるネットワークシステム、サーバ、通信端末、および位置表示方法を提供する。【解決手段】現在位置を取得することが可能な複数の端末１００と、複数の端末１００に関する情報に基づいて、所定の条件が満たされている少なくとも１つの端末の現在位置を複数の端末に表示させるためのサーバ１００とを備える、ネットワークシステム１が提供される。【選択図】図２
2016197839.tif 000002
【特許請求の範囲】
【請求項１】
現在位置を取得することが可能な複数の端末と、
前記複数の端末に関する情報に基づいて、所定の条件が満たされている少なくとも１つの端末の現在位置を前記複数の端末に表示させるためのサーバとを備える、ネットワークシステム。
【請求項２】
前記所定の条件が満たされていることは、対象となる前記端末の現在位置が他の複数の端末の現在位置に基づく第１の範囲に入っていることを含む、請求項１に記載のネットワークシステム。
【請求項３】
前記所定の条件が満たされていることは、対象となる前記端末の現在の速度が他の複数の端末の速度に基づく第１の速度範囲内に入っていることを含む、請求項１または２に記載のネットワークシステム。
【請求項４】
前記所定の条件が満たされていることは、対象となる前記端末の移動方向が他の複数の端末の移動方向に基づく第１の角度範囲内に入っていることを含む、請求項１から３のいずれか１項に記載のネットワークシステム。
【請求項５】
前記所定の条件が満たされていることは、対象となる前記端末のＧＰＳの精度が第１の精度範囲内に入っていることを含む、請求項１から４のいずれか１項に記載のネットワークシステム。
【請求項６】
前記複数の端末の速度に応じて、前記範囲の大きさが変化する、請求項１から５のいずれか１項に記載のネットワークシステム。
【請求項７】
複数の端末と通信するための通信インターフェイスと、
プロセッサとを備えるサーバであって、前記プロセッサは、
前記通信インターフェイスを介して、複数の端末の各々から少なくとも現在位置を受信し、
前記複数の端末に関する情報に基づいて、所定の条件が満たされている少なくとも１つの端末を特定し、
前記通信インターフェイスを介して、前記複数の端末に前記所定の条件が満たされている少なくとも１つの端末の現在位置を表示させる、サーバ。
【請求項８】
ディスプレイと、
現在位置を取得するためのＧＰＳ機能と、
サーバと通信するための通信インターフェイスと、
プロセッサとを備える通信端末であって、前記プロセッサは、
前記通信インターフェイスを介して、少なくとも現在位置を前記サーバに送信し、
前記サーバからのデータに基づいて、所定の条件が満たされている少なくとも１つの端末の現在位置をディスプレイに表示させる、通信端末。
【請求項９】
複数の端末とサーバとを含むネットワークシステムにおける位置表示方法であって、
前記複数の端末の各々が、ＧＰＳ機能を利用することによって現在位置を取得し、少なくとも当該現在位置をサーバに送信するステップと、
前記サーバが、前記複数の端末に関する情報に基づいて、所定の条件が満たされている少なくとも１つの端末の現在位置を複数の端末に送信するステップと、
前記複数の端末の各々が、所定の条件が満たされている少なくとも１つの端末の現在位置を表示するステップとを備える、位置表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置取得機能などを利用して通信端末の現在位置に関する情報を表示することができる技術に関し、特に１または複数の通信端末の現在位置に関する情報を１または複数の端末に表示させるための技術に関する。
【背景技術】
【０００２】
従来から、通信端末の位置を取得するための位置取得機能が知られている。そして、サーバを利用することによって、当該通信端末の位置を複数の機器で表示するためのネットワークシステムも知られている。
【０００３】
たとえば、特開２０１２−１５７５１０号公報（特許文献１）には、通過位置表示システム、その端末装置、プログラムが開示されている。特開２０１２−１５７５１０号公報（特許文献１）によると、位置取得サーバは、各移動体の識別情報と実測位置情報を含む位置情報を、随時、各在席端末へ送信する。各在席端末は、表示画面作成部等が、実測位置情報をモニタの画面上の座標に変換して、この座標に各移動体を示す画像を表示する。また、その在席端末のユーザによって投票された移動体の画像は、他の移動体の画像とは表示形態を変えて表示する。
【０００４】
また、特開平１１−２５８３２５号公報（特許文献２）には、子供・小動物等移動位置監視方法および位置報知装置が開示されている。特開平１１−２５８３２５号公報（特許文献２）によると、測距電波を発する複数の人工衛星と、自己の位置を通知することができないものに取り付けた位置報知手段と、移動通信基地局と、監視センタと、探索者と、探索依頼者からなる子供・小動物移動位置監視システムにおいて、位置報知手段は位置取得システムを用いて自己の位置を検出し、移動通信を介して自己の位置を監視センタに報知し、監視センタは、位置情報に基づいて地図を選択し、該地図上に探索対象の位置を表示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１５７５１０号公報
【特許文献２】特開平１１−２５８３２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、たとえば、複数の通信端末の現在位置が離れている場合に全ての通信端末の現在位置を地図上に表示すると、地図が小さくなり過ぎて、当該複数の通信端末の現在位置が把握しにくかった。本発明の目的は、従来よりも効率的に複数の通信端末の現在位置を表示することができるネットワークシステム、サーバ、通信端末、および位置表示方法を提供することにある。
【課題を解決するための手段】
【０００７】
この発明のある態様に従うと、現在位置を取得することが可能な複数の端末と、複数の端末に関する情報に基づいて、所定の条件が満たされている少なくとも１つの端末の現在位置を複数の端末に表示させるためのサーバとを備える、ネットワークシステムが提供される。
【０００８】
好ましくは、所定の条件が満たされていることは、対象となる端末の現在位置が他の複数の端末の現在位置に基づく第１の範囲に入っていることを含む。
【０００９】
好ましくは、所定の条件が満たされていることは、対象となる端末の現在の速度が他の複数の端末の速度に基づく第１の速度範囲内に入っていることを含む。
【００１０】
好ましくは、所定の条件が満たされていることは、対象となる端末の移動方向が他の複数の端末の移動方向に基づく第１の角度範囲内に入っていることを含む。
【００１１】
好ましくは、所定の条件が満たされていることは、対象となる端末のＧＰＳの精度が第１の精度範囲内に入っていることを含む。
【００１２】
好ましくは、複数の端末の速度に応じて、範囲の大きさが変化する。
【００１３】
この発明の別の態様に従うと、複数の端末と通信するための通信インターフェイスと、プロセッサとを備えるサーバが提供される。プロセッサは、通信インターフェイスを介して、複数の端末の各々から少なくとも現在位置を受信し、複数の端末に関する情報に基づいて、所定の条件が満たされている少なくとも１つの端末を特定し、通信インターフェイスを介して、複数の端末に所定の条件が満たされている少なくとも１つの端末の現在位置を表示させる。
【００１４】
この発明の別の態様に従うと、ディスプレイと、現在位置を取得するためのＧＰＳ機能と、サーバと通信するための通信インターフェイスと、プロセッサとを備える通信端末が提供される。プロセッサは、通信インターフェイスを介して、少なくとも現在位置をサーバに送信し、サーバからのデータに基づいて、所定の条件が満たされている少なくとも１つの端末の現在位置をディスプレイに表示させる。
【００１５】
この発明の別の態様に従うと、複数の端末とサーバとを含むネットワークシステムにおける位置表示方法が提供される。位置表示方法は、複数の端末の各々が、ＧＰＳ機能を利用することによって現在位置を取得し、少なくとも現在位置をサーバに送信するステップと、サーバが、複数の端末に関する情報に基づいて、所定の条件が満たされている少なくとも１つの端末の現在位置を複数の端末に送信するステップと、複数の端末の各々が、所定の条件が満たされている少なくとも１つの端末の現在位置を表示するステップとを備える。
【発明の効果】
【００１６】
以上のように、この発明によれば、従来よりも効率的に複数の通信端末の現在位置を表示することができるネットワークシステム、サーバ、通信端末、および位置表示方法が提供される。
【図面の簡単な説明】
【００１７】
【図１】第１の実施の形態にかかるネットワークシステム１の全体構成を示すイメージ図である。
【図２】第１の実施の形態にかかる通信端末１００における第１の表示画面を示すイメージ図である。
【図３】第１の実施の形態にかかる通信端末１００のハードウェア構成を表わすブロック図である。
【図４】第１の実施の形態にかかる位置取得プログラムの処理の流れを示すフローチャートである。
【図５】第１の実施の形態にかかる通信端末１００における表示画面の推移を示すイメージ図である。
【図６】第１の実施の形態にかかる通信端末１００における位置データ送信処理を示すフローチャートである。
【図７】第１の実施の形態にかかる通信端末１００における第３の表示画面を示すイメージ図である。
【図８】第１の実施の形態にかかる通信端末１００における位置データ送信処理を示すフローチャートである。
【図９】第１の実施の形態にかかるサーバ２００のハードウェア構成を表わすブロック図である。
【図１０】第１の実施の形態にかかる現在位置情報データベース２２１を示すイメージ図である。
【図１１】第１の実施の形態にかかるサーバ２００における表示用位置データ送信処理を示すフローチャートである。
【図１２】第１の実施の形態にかかる通信端末１００における表示用位置データ作成処理を示すフローチャートである。
【図１３】第１の実施の形態にかかる通信端末１００における第１の表示画面の別の例を示すイメージ図である。
【図１４】第２の実施の形態にかかる通信端末１００における表示用位置データ作成処理を示すフローチャートである。
【図１５】第３の実施の形態にかかる通信端末１００における表示用位置データ作成処理を示すフローチャートである。
【図１６】第４の実施の形態にかかる通信端末１００における表示用位置データ作成処理を示すフローチャートである。
【図１７】第５の実施の形態にかかる通信端末１００における表示用位置データ作成処理を示すフローチャートである。
【図１８】第６の実施の形態にかかる通信端末１００における表示用位置データ作成処理を示すフローチャートである。
【図１９】第７の実施の形態にかかる通信端末１００における表示用位置データ作成処理を示すフローチャートである。
【図２０】第８の実施の形態にかかる通信端末１００における第１の表示画面を示すイメージ図である。
【図２１】第８の実施の形態にかかる通信端末１００における第２の表示画面を示すイメージ図である。
【図２２】第９の実施の形態にかかる通信端末１００における第１の表示画面を示すイメージ図である。
【図２３】第９の実施の形態にかかる通信端末１００における第２の表示画面を示すイメージ図である。
【図２４】第９の実施の形態にかかる現在位置情報データベース２２２のデータ構造を示すイメージ図である。
【図２５】第９の実施の形態にかかる施設データベース２２３のデータ構造を示すイメージ図である。
【図２６】第９の実施の形態にかかる状況判断処理の流れを示すフローチャートである。
【図２７】第１０の実施の形態にかかる発信モード中の通信端末１００における表示画面の推移の例を示すイメージ図である。
【図２８】第１０の実施の形態にかかる取得モード中の通信端末１００における表示画面の推移の例を示すイメージ図である。
【図２９】第１０の実施の形態にかかるサーバ２００のメモリ２２０の現在位置情報データベース２２４のデータ構造を示すイメージ図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
＜第１の実施の形態＞
＜ネットワークシステムの全体構成＞
【００１９】
まず、本実施の形態にかかるネットワークシステム１の全体構成と動作概要とについて説明する。図１は、本実施の形態にかかるネットワークシステム１の全体構成を示すイメージ図である。
【００２０】
図１を参照して、ネットワークシステム１の全体構成について簡単に説明する。ネットワークシステム１は、主に、複数の通信端末１００と、サーバ２００を含む。複数の通信端末１００は、スマートフォン、タブレット、ノートパソコン、カーナビなどの通信機能を有する装置である。サーバ２００は、複数の通信端末１００のそれぞれとデータ通信することができる。
【００２１】
そして、本実施の形態においては、複数の通信端末１００のうちの少なくとも１台（図１における１００Ａ，１００Ｂ，１００Ｃなど）は、衛星測位システムＧＮＳＳ（Ｇｌｏｂａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ）などの位置取得機能を利用することによって自身の現在位置を取得することができる。そのような通信端末１００は、自分の現在位置や移動速度や移動方向などをサーバ２００に送信することができる。
【００２２】
また、複数の通信端末１００は、ディスプレイを利用して文字や画像を表示することができる。そのような複数の通信端末１００は、サーバ２００からのデータに基づいて、上記の位置取得機能を有する複数の通信端末１００の位置を表示することができる。なお、本実施の形態においては、現在位置をサーバにアップロードする機能と、現在位置をディスプレイに表示する機能は、いずれか１つを起動させてもよいし、両方を起動させてもよい。
＜ネットワークシステムの動作概要＞
【００２３】
次に、本実施の形態にかかるネットワークシステム１の動作概要について説明する。図２は、本実施の形態にかかる通信端末１００の表示画面を示すイメージ図である。なお、以下では、複数の通信端末１００のユーザが、互いに、自転車レースなどのチームのメンバーである場合について説明する。ただし、複数の通信端末１００のユーザは、日常生活を送っている家族であってもよいし、大型商業施設に買い物に来ているグループでも良いし、遊園地などに遊びに来ているグループであってもよい。
【００２４】
まず、予め、各チームに属する複数のユーザは、各々がサーバ２００から自分の通信端末１００に位置取得用のアプリケーションプログラムをダウンロードする。ただし、位置取得用のアプリケーションプログラムは、サーバ２００以外のサーバから供給されるものであってもよい。なお、以下では、位置取得用のアプリケーションプログラムは、単に位置取得プログラムともいう。
【００２５】
位置取得プログラムは、通信端末１００の現在位置や移動速度や移動方向や端末の向き（姿勢）などを取得して、時刻とともにサーバ２００へ送信する発信モードと、サーバ２００から他の通信端末１００の現在位置および時刻などを取得して、他の通信端末１００の現在位置を地図上に表示する取得モードと、を有している。なお、スマートフォンなどの通信端末１００は、発信モードだけを有するプログラムを利用して現在位置を発信するだけであってもよいし、パーソナルコンピュータなどの通信端末１００は取得モードだけを有するプログラムを利用して現在位置を表示するだけであってもよい。また、通信端末１００は、更に他のモードを有するプログラムを利用して他のサービスを利用してもよいし、特別なプログラムを利用せずに単にサーバ２００からのデータに基づいて通常のブラウザを介して地図と現在位置とを表示するものであってもよい。
【００２６】
そして、本実施の形態にかかる位置取得プログラムは、発信モードと取得モードとを同時に実行させることもできる。たとえば、通信端末１００は、発信モードとして自分の位置情報を発信しながら、取得モードとしてサーバ２００から受信した他の通信端末１００または自身の通信端末１００の現在位置を取得して地図上に表示することができる。
【００２７】
本実施の形態においては、チームに属する複数のユーザ各々の通信端末１００が、チームに属する複数のユーザそれぞれの複数の通信端末１００の現在位置を表示する際に、正常にコースを進んでいる集団に属する複数のユーザそれぞれの複数の通信端末１００の現在位置を地図上に通常の表示形態で表示する。そして、チームに属する複数のユーザ各々の通信端末１００は、集団から離れたユーザの通信端末１００の現在位置を、他の表示形態で表示する。本実施の形態においては、集団に属するユーザの現在位置を第１の表示形態として画面中央部分に地図上に表示しつつ、集団に属さないユーザの方向と距離とを示す情報を第２の表示形態として画面端部に表示する。なお、チームに属する複数のユーザ各々の通信端末１００は、集団に属していたユーザが集団から離れた場合や、集団から離れていたユーザが集団に復帰した場合に、警告音や警告メッセージを出力してもよい。
【００２８】
図２は、本実施の形態にかかる通信端末１００における第１の表示画面を示すイメージ図である。図２に示すように、たとえば、ＡＡＡさん、ＢＢＢさん、ＣＣＣさん、ＤＤＤさんの４人の通信端末１００が発信モードを起動中であったとしても、集団から離れているＤＤＤさんの現在位置はＡＡＡさん、ＢＢＢさん、ＣＣＣさんの通信端末１００の地図上には表示されない。これによって、４人全ての現在位置を表示する場合と比較して、集団に属する通信端末１００の現在位置を大きな縮尺の地図上に表示することができる。
【００２９】
なお、チームに属するユーザ各々の通信端末１００は、自分が集団に属していない場合でも集団に属する通信端末１００の現在位置を地図上に表示するものであってもよいし、自分が集団に属していない場合には自分の通信端末１００の現在位置を大きな縮尺の地図上に表示してもよい。そして、複数のユーザ各々の通信端末１００は、自身が集団から離れた場合や、自身が集団に復帰した場合に、警告音や警告メッセージを出力してもよい。
【００３０】
このように、本実施の形態においては、正常にコースを進んでいる集団に属する複数のユーザそれぞれの複数の通信端末１００の現在位置を地図上に通常表示するため、全ユーザの複数の通信端末１００の現在位置全てを地図上に通常表示する場合と比較して、集団に属するユーザの現在位置を把握し易い。
【００３１】
そして、本実施の形態においては、集団に属するユーザの現在位置を第１の表示形態として画面中央部分に地図上に表示しつつ、集団に属さないユーザの方向と距離とを示す情報を第２の表示形態として画面端部に表示するため、集団に属するユーザの現在位置をユーザが把握しやすくなるとともに、集団に属さないユーザの現在位置もおおまかに把握することが可能になる。すなわち、本実施の形態においては、従来よりも効率的に複数の端末の現在位置を表示することができる。以下では、このような機能を実現するためのネットワークシステム１について詳細に説明する。
＜通信端末１００のハードウェア構成＞
【００３２】
まず、通信端末１００のハードウェア構成の一態様について説明する。図３は、本実施の形態にかかる通信端末１００のハードウェア構成を表わすブロック図である。
【００３３】
図３を参照して、通信端末１００は、主たる構成要素として、ＣＰＵ１１０と、メモリ１２０と、タッチパネル１５０（ディスプレイ１３０とポインティングデバイス１４０）と、通信インターフェイス１６０と、位置取得部１７０とを含む。
【００３４】
ＣＰＵ１１０は、メモリ１２０あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、通信端末１００の各部を制御する。すなわち、ＣＰＵ１１０は、メモリ１２０に格納されているプログラムを実行することによって、各種の処理、たとえば図４、図６、図８などに記載の各ステップを実行する。
【００３５】
メモリ１２０は、各種のＲＡＭ（Random  Access  Memory）、各種のＲＯＭ（Read-Only  Memory）、フラッシュメモリーなどによって実現される。なお、メモリ１２０は、インターフェイスを介して利用される、ＵＳＢ（Universal  Serial  Bus）（登録商標）メモリ、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disk）、メモリカード、ハードディスク、ＩＣ（Integrated  Circuit）カード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electronically  Erasable  Programmable  Read-Only  Memory）などの記憶媒体などによっても実現される。
【００３６】
メモリ１２０は、ＣＰＵ１１０によって実行されるプログラムや、ＣＰＵ１１０によるプログラムの実行により生成されたデータ、ポインティングデバイス１４０を介して入力されたデータ、サーバ２００から受信したデータ、地図を表示するための地図データ、レースに使用されるピッチの位置および／またはエリアを示す緯度・経度情報などを記憶する。
【００３７】
ディスプレイ１３０は、ＣＰＵ１１０からの信号に基づいて、文字や画像を出力する。ポインティングデバイス１４０は、ユーザからの命令を受け付けて、当該命令をＣＰＵ１１０に入力する。なお、本実施の形態においては、通信端末１００は、ディスプレイ１３０とポインティングデバイス１４０とが組み合わされたタッチパネル１５０を有する。
【００３８】
通信インターフェイス１６０は、アンテナやコネクタによって実現される。通信インターフェイス１６０は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。ＣＰＵ１１０は、通信インターフェイス１６０を介して、後述する位置データ、その他のテキストデータ、その他の画像データなどを、サーバ２００などの他の装置に送信する。また、ＣＰＵ１１０は、通信インターフェイス１６０を介して、チームのユーザの通信端末１００の位置を示すための位置データ、プログラム、制御命令、画像データ、テキストデータなどを、サーバ２００などの他の装置から受信する。
【００３９】
位置取得部１７０は、ＧＰＳ機能などを利用して外部の衛星と信号をやり取りする。ＣＰＵ１１０は、位置取得部１７０が取得した信号に基づいて、通信端末１００の現在位置、すなわち現在の緯度と経度とを取得する。
＜通信端末１００のＣＰＵ１１０の処理＞
【００４０】
次に、本実施の形態にかかる通信端末１００におけるＣＰＵ１１０が位置取得プログラムに従って、実行する処理について説明する。図４は、本実施の形態にかかる位置取得プログラムの処理の流れを示すフローチャートである。図５は、本実施の形態にかかる通信端末１００における表示画面の推移を示すイメージ図である。
【００４１】
図４および図５を参照して、予めＣＰＵ１１０は、ユーザからの命令に従って、通信インターフェイス１６０を介して、他のサーバから位置取得プログラムをダウンロードしている（ステップＳ００２）。ＣＰＵ１１０は、ユーザからの命令に応じて、位置取得プログラムを起動する（ステップＳ００４）。ＣＰＵ１１０は、タッチパネル１５０に利用規約を表示する（ステップＳ００６）。
【００４２】
ＣＰＵ１１０は、タッチパネル１５０を介して、ユーザから、自分の通信端末１００の現在位置情報をサーバ２００に発信する発信モードか、他のユーザの通信端末１００または自分の通信端末１００の現在位置情報を取得して表示する取得モードか、の選択命令を受け付ける（ステップＳ００８、図５の（ａ））。
【００４３】
ユーザが発信モードを選択した場合、ＣＰＵ１１０は、タッチパネル１５０を介してユーザからニックネームの入力を受け付ける（ステップＳ０１０、図５の（ｂ））。ＣＰＵ１１０は、ユーザからユーザＩＤの取得命令を受け付けて、通信インターフェイス１６０を介してサーバ２００にユーザＩＤを要求する。ＣＰＵ１１０は、サーバ２００からユーザＩＤを取得して、当該ユーザＩＤをディスプレイに表示させる。
【００４４】
ここで、本実施の形態にかかる位置取得プログラムは、自分のユーザＩＤを他の通信端末１００に伝える命令も受け付ける。たとえば、ＣＰＵ１１０は、ユーザからの当該命令を受け付けて、メール送受信プログラムを立ち上げる。ＣＰＵ１１０は、通信インターフェイス１６０を介して、ユーザから指定された他のユーザの通信端末１００に、取得したユーザＩＤを送信する（ステップＳ０１２）。
【００４５】
そして、ＣＰＵ１１０は、タッチパネル１５０を介して、位置取得および位置データ送信を開始するための命令を待ち受ける。たとえば、レースの開始直前などに、ＣＰＵ１１０は、当該開始命令を受け付ける。すると、ＣＰＵ１１０は、位置取得機能を利用して、通信端末１００の現在位置を取得し始める。そして、ＣＰＵ１１０は、当該現在位置をサーバ２００を介して他のユーザの通信端末１００に送信し始める（ステップＳ０１４）。
【００４６】
一方、ユーザがステップＳ００８にて取得（表示）モードを選択した場合、ＣＰＵ１１０は、ユーザから現在位置を取得したい通信端末１００のユーザＩＤの入力を受け付ける（ステップＳ０１６、図５の（ｃ））。なお、ＣＰＵ１１０は、電子メールを利用して他の通信端末１００からユーザＩＤを取得してもよい。ＣＰＵ１１０は、他の通信端末１００の現在位置情報を受信すると、タッチパネル１５０に地図上に当該他の通信端末１００の現在位置を表示させる（ステップＳ０１８、図２）。
【００４７】
なお、発信モードにおいて位置情報を発信している状態において、ユーザが、図５（ｃ）に示す画面に自身の通信端末１００に関するユーザＩＤを入力すると、あるいは自身の通信端末１００からの受信メールに基づいてユーザＩＤが入力されると、タッチパネル１５０には自身の通信端末１００の現在位置が地図上に表示されることになる。
＜通信端末１００における位置データ送信処理＞
【００４８】
次に、本実施の形態にかかる通信端末１００における位置データ送信処理について詳しく説明する。図６は、本実施の形態にかかる通信端末１００における位置データ送信処理を示すフローチャートである。
【００４９】
図６を参照して、通信端末１００のＣＰＵ１１０は、まずタイマーをリセットする（ステップＳ１０２）。ＣＰＵ１１０は、メモリ１２０から位置データの更新間隔を取得する（ステップＳ１０４）。
【００５０】
ＣＰＵ１１０は、タイマーの値が更新間隔を超えているか否かを判断する（ステップＳ１０６）。タイマーの値が更新間隔を超えていない場合（ステップＳ１０６においてＮＯである場合）、ステップＳ１０６の処理を繰り返す。
【００５１】
ＣＰＵ１１０は、タイマーの値が更新間隔を超えている場合（ステップＳ１０６においてＹＥＳである場合）、位置取得部１７０を利用して、通信端末１００の現在位置、速度、方向などを取得する（ステップＳ１０８）。ＣＰＵ１１０は、現在位置、移動速度、移動方向、姿勢などに基づいて送信データを作成する（ステップＳ１１０）。ＣＰＵ１１０は、通信インターフェイス１６０を利用することによって、送信データをサーバ２００に送信する（ステップＳ１１２）。ＣＰＵ１１０は、ステップＳ１１０からの処理を繰り返す。
＜通信端末１００における位置取得表示処理＞
【００５２】
次に、現在位置を表示するユーザを指定するための処理について説明する。なお、図７は、本実施の形態にかかる通信端末１００における第３の表示画面を示すイメージ図である。
【００５３】
まず、図５（ａ）に戻って、ユーザが通信端末１００のタッチパネル１５０あるいはスイッチを介して取得（表示）モードを選択した場合、図５の（ｃ）および図７の（ａ）に示すように、ＣＰＵ１１０は、ユーザから、現在位置の表示をしたい複数の通信端末１００に関するユーザＩＤの入力を受け付ける。
【００５４】
図７の（ａ）を参照して、本実施の形態においては、ＣＰＵ１１０は、タッチパネル１５０に、複数の通信端末１００に関するユーザＩＤの受け付け画面を表示させる。なお、他の通信端末１００からメールなどによってユーザＩＤが送付されてきた場合には、ＣＰＵ１１０は、自動的にユーザＩＤを入力欄に入力する。
【００５５】
ユーザが、現在位置の表示をしたい通信端末１００に関するユーザＩＤを入力して検索ボタンを押すと、あるいは現在位置の表示をしたい通信端末１００からの受信メールに基づいてユーザＩＤが入力された状態でユーザが検索ボタンを押すと、ＣＰＵ１１０は、通信インターフェイス１６０を介してサーバ２００にユーザＩＤを送信する。
【００５６】
図７の（ｂ）を参照して、サーバ２００は、ユーザＩＤに対応するニックネームを通信端末１００に送信する。ＣＰＵ１１０は、タッチパネル１５０に現在位置を表示したい通信端末１００に関わるニックネームを表示させる。これによって、通信端末１００のユーザは、現在位置を取得しようとしている通信端末１００が所望のユーザのものであるか確認することができる。
【００５７】
さらに、ユーザが、現在位置の表示をしたい他の通信端末１００に関するユーザＩＤを入力して検索ボタンを押すと、あるいは現在位置の表示をしたい通信端末１００からの受信メールに基づいてユーザＩＤが入力された状態でユーザが検索ボタンを押すと、ＣＰＵ１１０は、通信インターフェイス１６０を介してサーバ２００にユーザＩＤを送信する。
【００５８】
図７の（ｃ）を参照して、サーバ２００は、さらに他の通信端末１００に関するユーザＩＤに対応するニックネームを通信端末１００に送信する。ＣＰＵ１１０は、タッチパネル１５０に現在位置を表示したい他の通信端末１００に関わるニックネームを表示させる。これによって、通信端末１００のユーザは、現在位置を取得しようとしている他の通信端末１００が所望のユーザのものであるか確認することができる。
【００５９】
このとき、ＣＰＵ１１０は、指定された１または複数の通信端末１００の現在位置の表示を開始するための命令を受け付けるためのソフトウェアボタンをタッチパネル１５０に表示させる。当該命令を受け付けると、ＣＰＵ１１０は、通信インターフェイス１６０を介して、サーバ２００から１または複数の通信端末１００の現在位置情報を取得し始める。すなわち、ＣＰＵ１１０は、サーバ２００あるいは他のデータベースあるいは自身の位置取得プログラムから取得できる地図データに基づいて、図２に示すように、タッチパネル１５０に、ユーザによって指定された複数の通信端末１００の現在位置を地図上に表示させる。
【００６０】
なお、本実施の形態においては、サーバ２００は、集団に属する少なくとも１つの通信端末１００の現在位置や速度の情報と集団に属さない通信端末１００の現在位置や速度の情報とを区別可能に通信端末１００に送信してもよい。この場合は、ＣＰＵ１１０は、当該情報から、集団に属する少なくとも１つの通信端末１００のみの現在位置を取り出して、タッチパネル１５０の地図上に表示させる。
【００６１】
ただし、サーバ２００は、集団に属する少なくとも１つの通信端末１００のみの現在位置や速度の情報を通信端末１００に送信してもよい。この場合は、ＣＰＵ１１０は、全ての当該情報に基づいて、タッチパネル１５０に地図上に集団に属する少なくとも１つの通信端末１００のみの現在位置を表示させる。
【００６２】
また、上述したように、発信モードにおいて位置情報を発信しながら、図７の（ａ）に示す状態において、ユーザが自身の通信端末１００に関するユーザＩＤを入力すると、あるいは自身の通信端末１００からの受信メールに基づいてユーザＩＤが入力されると、タッチパネル１５０には他の通信端末１００の現在位置とともに自身の通信端末１００の現在位置が地図上に表示されることになる。
【００６３】
次に、本実施の形態にかかる通信端末１００における位置データ取得表示処理について説明する。図８は、本実施の形態にかかる通信端末１００における位置データ送信処理を示すフローチャートである。
【００６４】
図８を参照して、通信端末１００のＣＰＵ１１０は、まずタイマーをリセットする（ステップＳ１２２）。ＣＰＵ１１０は、メモリ１２０から地図の更新間隔を取得する（ステップＳ１２４）。
【００６５】
ＣＰＵ１１０は、タイマーの値が更新間隔を超えているか否かを判断する（ステップＳ１２６）。タイマーの値が更新間隔を超えていない場合（ステップＳ１２６においてＮＯである場合）、ステップＳ１２６の処理を繰り返す。
【００６６】
ＣＰＵ１１０は、タイマーの値が更新間隔を超えている場合（ステップＳ１２６においてＹＥＳである場合）、通信インターフェイス１６０を介して、サーバ２００に位置データを要求する（ステップＳ１２８）。ＣＰＵ１１０は、通信インターフェイス１６０を介して、サーバ２００から少なく１つの通信端末１００の表示用位置データを受信する（ステップＳ１３０）。
【００６７】
ＣＰＵ１１０は、取得した表示用位置データと、当該表示用位置データの近傍の地図データとに基づいて、集団に属する少なくとも１つの通信端末１００の現在位置を地図上に表示し、集団に属さない通信端末１００の現在位置の方向と距離とを表示するための表示用データを作成する（ステップＳ１３２）。ＣＰＵ１１０は、表示用データに基づいて、タッチパネル１５０の地図上に集団に属する少なくとも１つの通信端末１００の現在位置を示すアイコンと、集団に属さない通信端末１００の現在位置の方向と距離とを表示させる（ステップＳ１３４、図２）。
【００６８】
より詳細には、図２に示すように、本実施の形態においては、通信端末１００のＣＰＵ１１０は、全てのユーザの現在位置を地図上に表示するわけではない。サーバ２００から通信端末１００には、表示用位置データとして、集団に属する通信端末１００の現在位置に関する情報と、集団に属さない通信端末１００の現在位置に関する情報と、が区別可能な形式で送信されてくる。
【００６９】
そして、ＣＰＵ１１０は、サーバ２００からの表示用位置データに応じて、タッチパネル１５０に、集団に属するＡＡＡさん・ＢＢＢさん・ＣＣＣさんの通信端末１００の現在位置を地図上に表示するための表示用データを作成する。さらに、ＣＰＵ１１０は、タッチパネル１５０に、集団の中心から集団に属さないＤＤＤさんの現在位置への方向を示す矢印と、集団の中心から集団に属さないＤＤＤさんの現在位置への距離とを表示するための表示用データも作成する。なお、ＣＰＵ１１０は、集団に属さないＤＤＤさんの通信端末１００の現在位置に関する情報を表示しないものであってもよい。
【００７０】
本実施の形態においては、ＣＰＵ１１０は、表示用位置データに基づいて、自身の通信端末１００が自身の通信端末１００が集団から離れたときや、自身の通信端末１００が集団に復帰した場合に、スピーカを介して警告音を発したり、警告メッセージをタッチパネル１５０に表示させたりする。
【００７１】
本実施の形態においては、通信端末１００のＣＰＵ１１０が、集団に属する少なくとも１つの通信端末１００の現在位置とタッチパネル１５０や画面サイズに基づいて、地図の縮尺を決定する。しかしながら、サーバ２００側で、集団に属する通信端末１００の現在位置に基づいて地図の縮尺を決定し、集団に属する通信端末１００の現在位置を示す情報と地図とを含む表示用データを作成しても良い。
＜サーバ２００のハードウェア構成＞
【００７２】
次に、サーバ２００のハードウェア構成の一態様について説明する。図９は、本実施の形態にかかるサーバ２００のハードウェア構成を表わすブロック図である。
【００７３】
図９を参照して、サーバ２００は、主たる構成要素として、ＣＰＵ２１０と、メモリ２２０と、通信インターフェイス２６０とを含む。
【００７４】
ＣＰＵ２１０は、メモリ２２０あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、サーバ２００の各部を制御する。すなわち、ＣＰＵ２１０は、メモリ２２０に格納されているプログラムを実行することによって、各種の処理、たとえば後述する様々な処理を実行する。
【００７５】
メモリ２２０は、各種のＲＡＭ、各種のＲＯＭ、フラッシュメモリーなどによって実現される。なお、メモリ２２０は、インターフェイスを介して利用される、ＵＳＢ（登録商標）メモリ、ＣＤ、ＤＶＤ、メモリカード、ハードディスク、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの記憶媒体などによっても実現される。
【００７６】
メモリ２２０は、ＣＰＵ２１０によって実行されるプログラムや、ＣＰＵ２１０によるプログラムの実行により生成されたデータ、入出力部を介して入力されたデータ、複数の通信端末１００から受信したデータ、後述する各種のデータベース、地図を表示するための地図データ、レースに使用されるコースの位置や形状を示すデータなどを記憶する。たとえば、本実施の形態にかかるメモリ２２０は、現在位置情報データベース２２１を記憶する。
【００７７】
図１０は、本実施の形態にかかる現在位置情報データベース２２１を示すイメージ図である。図１０を参照して、現在位置情報データベース２２１は、ユーザＩＤと、ニックネームと、ユーザＩＤに対応する通信端末１００のアドレス、ユーザＩＤに対応する通信端末１００の現在位置を示す情報と、通信端末１００の現在の移動速度と、通信端末１００が集団に属するか否かを示すフラグと、集団の中心または集団の端からの距離と、現在位置の集団からの方向と、の対応関係を格納する。なお、図１０に示す現在位置情報データベース２２１が、チーム毎に作成されるものであってもよいし、サーバ２００が別途、取得モードを起動中のユーザと取得先の通信端末１００を特定するためのユーザＩＤとの対応関係を示すデータベースを記憶してもよい。
【００７８】
図９に戻って、通信インターフェイス２６０は、アンテナやコネクタによって実現される。通信インターフェイス２６０は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。ＣＰＵ２１０は、通信インターフェイス２６０を介して、通信端末１００の位置データ、制御命令、画像データ、テキストデータなどを通信端末１００などの他の装置から受信する。また、ＣＰＵ２１０は、通信インターフェイス２６０を介して、チーム毎のユーザの現在位置を表示するためのデータ、その他のテキストデータ、その他の画像データなどを、複数の通信端末１００などの他の装置に送信する。
＜サーバ２００における位置データ取得送信処理＞
【００７９】
次に、本実施の形態にかかるサーバ２００における位置データ送信処理について説明する。図１１は、本実施の形態にかかるサーバ２００における表示用位置データ送信処理を示すフローチャートである。
【００８０】
図１１を参照して、サーバ２００のＣＰＵ２１０は、通信インターフェイス２６０を介して、通信端末１００からデータを受信すると以下の処理を実行する。受信したデータに現在位置を示すデータが含まれているか否かを判断する(ステップＳ１５２)。受信したデータに現在位置を示すデータが含まれている場合（ステップＳ１５２にてＹＥＳである場合）、ＣＰＵ２１０は、受信データから通信端末１００のユーザのＩＤを特定する（ステップＳ１５４）。ＣＰＵ２１０は、位置データを位置情報データベース２２１に格納する（ステップＳ１５６）。ＣＰＵ２１０は、通信インターフェイス２６０を介して、通信端末１００からの次のデータを待ち受ける。
【００８１】
受信したデータに現在位置を示すデータが含まれていない場合（ステップＳ１５２にてＮＯである場合）、ＣＰＵ２１０は、受信データに表示用位置データの要求が含まれているか否かを判断する（ステップＳ１６２）。受信データに表示用位置データの要求が含まれている場合（ステップＳ１６２にてＹＥＳである場合）、ＣＰＵ２１０は、受信データから、現在位置のデータを取得したい通信端末１００のユーザのＩＤを特定する（ステップＳ１６４）。
【００８２】
ＣＰＵ２１０は、位置情報データベース２２１から少なくとも１つの通信端末１００の位置データを読み出す（ステップＳ１６６）。ＣＰＵ２１０は、チームに属するユーザの通信端末１００の現在位置や速度に基づいて、通信端末１００での表示用位置データを作成するための表示用位置データ作成処理（ステップＳ１７０）を実行する。なお、表示用位置データ作成処理については後述する。
【００８３】
ＣＰＵ２１０は、通信インターフェイス２６０を介して、通信端末１００に表示用位置データを送信する（ステップＳ１９０）。ＣＰＵ２１０は、通信インターフェイス２６０を介して、通信端末１００からの次のデータを待ち受ける。
【００８４】
通信端末１００からの受信データに表示用位置データの要求が含まれていない場合（ステップＳ１６２にてＮＯである場合）、ＣＰＵ２１０は、受信データから、他の命令や情報を取得して、各種の処理を実行する（ステップＳ１９２）。ＣＰＵ２１０は、通信インターフェイス２６０を介して、通信端末１００からの次のデータを待ち受ける。
＜サーバ２００における表示用データ作成処理＞
【００８５】
次に、本実施の形態にかかるサーバ２００における表示用位置データ作成処理について説明する。図１２は、本実施の形態にかかる通信端末１００における表示用位置データ作成処理を示すフローチャートである。
【００８６】
図１２を参照して、まず、ＣＰＵ２１０は、メモリ２２０の変数Ｎに位置情報を共有しているチームのユーザの人数を代入する（ステップＳ１７１）。ＣＰＵ２１０は、メモリ２２０の変数ｎに１を代入する（ステップＳ１７２）。
【００８７】
ＣＰＵ２１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの現在位置の中心（平均）を計算する（ステップＳ１７３）。ＣＰＵ２１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの現在位置の中心とｎ番目のユーザの現在位置との距離を計算する（ステップＳ１７６）。
【００８８】
ＣＰＵ２１０は、変数ｎをインクリメントする（ステップＳ１７７）。ＣＰＵ２１０は、変数ｎがＮより大きいか否かを判断する（ステップＳ１７８）。ＣＰＵ２１０は、変数ｎがＮ以下である場合（ステップＳ１７８においてＮＯである場合）、ステップＳ１７３からの処理を繰り返す。
【００８９】
ＣＰＵ２１０は、変数ｎがＮよりも大きい場合（ステップＳ１７８においてＹＥＳである場合）、集団の中心からの距離が一番離れているユーザを特定する（ステップＳ１７９）。ＣＰＵ２１０は、中心からの距離が一番離れているユーザの現在位置から中心までの距離が閾値を超えているか否かを判断する（ステップＳ１８０）。
【００９０】
ＣＰＵ２１０は、中心からの距離が一番離れているユーザの現在位置から中心までの距離が閾値を超えている場合（ステップＳ１８０においてＹＥＳである場合）、現在位置情報データベース２２１の当該ユーザのフラグを「０」に設定する。なお、他の通信端末１００のフラグは全て「１」となっている。ＣＰＵ２１０は、集団に属しているユーザの位置データのグループと、集団から離れているユーザの位置データとを含む、表示用位置データを作成する（ステップＳ１８１）。なお、集団から離れているユーザの位置データには、当該ユーザの現在位置の情報に加えて、集団の中心から当該ユーザの現在位置への方向と距離とを含む。ＣＰＵ２１０は、表示用位置データ作成処理Ｓ１７０を終了する。
【００９１】
ＣＰＵ２１０は、集団の中心からの距離が一番離れているユーザの現在位置から中心までの距離が閾値を超えていない場合（ステップＳ１８０においてＮＯである場合）、すべのユーザが集団に属していると判断し、当該ユーザの位置データのグループを含む表示用位置データを作成する（ステップＳ１８２）。ＣＰＵ２１０は、表示用位置データ作成処理Ｓ１７０を終了する。
【００９２】
これによって、図８のステップＳ１３０〜ステップＳ１３４に示すように、通信端末１００側では、集団に属しているユーザの現在位置を地図上に表示させることができる。そして、通信端末１００側では、集団に属していないユーザの現在位置の方向を示す矢印と距離とを表示させることができる。
【００９３】
このように、本実施の形態においては、集団に属するユーザの現在位置を第１の表示形態として画面中央部分に地図上に表示しつつ、集団に属さないユーザの方向と距離とを示す情報を第２の表示形態として画面端部に表示するため、集団に属するユーザの現在位置をユーザが把握しやすくなるとともに、集団に属さないユーザの現在位置も把握することが可能になる。
＜補足＞
【００９４】
本実施の形態においては、図２に示すように、集団に属するユーザの現在位置が画面の略中央部分に表示されるように、地図の縮尺を決定するものである。しかしながら、図１３に示すように、集団に属するユーザの現在位置が画面の端まで表示されるように、地図の縮尺を決定しても良い。
＜第２の実施の形態＞
【００９５】
第１の実施の形態においては、図１２に示したように、自分以外の通信端末１００から構成される通信端末１００のグループの中心から最も離れている通信端末１００に関してのみ、当該中心からの距離が所定の閾値よりも遠いか否かを判断するものであった。しかしながら、本実施の形態においては、チームに属する全てのユーザに関して、当該中心からの距離が所定の閾値よりも遠いか否かを判断するものである。
【００９６】
なお、以下では、本実施の形態にかかるサーバ２００における表示用位置データ作成処理についてのみ説明する。他の構成は、第１の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。図１４は、本実施の形態にかかる通信端末１００における表示用位置データ作成処理を示すフローチャートである。
【００９７】
図１４を参照して、まず、ＣＰＵ２１０は、メモリ２２０の変数Ｎに位置情報を共有しているチームのユーザの人数を代入する（ステップＳ２７１）。ＣＰＵ２１０は、メモリ２２０の変数ｎに１を代入する（ステップＳ２７２）。
【００９８】
ＣＰＵ２１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの現在位置の中心（平均）を計算する（ステップＳ２７３）。ＣＰＵ２１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの現在位置の中心とｎ番目のユーザの現在位置との距離を計算する（ステップＳ２７６）。
【００９９】
ＣＰＵ２１０は、変数ｎをインクリメントする（ステップＳ２７７）。ＣＰＵ２１０は、変数ｎがＮより大きいか否かを判断する（ステップＳ２７８）。ＣＰＵ２１０は、変数ｎがＮ以下である場合（ステップＳ２７８においてＮＯである場合）、ステップＳ２７３からの処理を繰り返す。
【０１００】
ＣＰＵ２１０は、変数ｎがＮよりも大きい場合（ステップＳ２７８においてＹＥＳである場合）、自分以外の通信端末１００のグループの現在位置の中心から自分までの距離が閾値を超えているユーザを特定する（ステップＳ２８０）。ＣＰＵ２１０は、自分以外の通信端末１００のグループの現在位置の中心から自分までの距離が閾値を超えているユーザの、現在位置情報データベース２２１のフラグを「０」に設定する。なお、他の通信端末１００のフラグは全て「１」となっている。
【０１０１】
ＣＰＵ２１０は、中心からの距離が閾値を超えていない、すなわち集団に属しているユーザの位置データのグループと、中心からの距離が閾値を超えている、すなわち集団から離れているユーザの位置データとを含む、表示用位置データを作成する（ステップＳ２８１）。なお、集団から離れているユーザの位置データには、当該ユーザの現在位置の情報に加えて、集団の中心から当該ユーザの現在位置への方向と距離とを含む。ＣＰＵ２１０は、表示用位置データ作成処理Ｓ１７０を終了する。
【０１０２】
これによって、図８のステップＳ１３０〜ステップＳ１３４に示すように、通信端末１００側では、集団に属しているユーザの現在位置を地図上に表示させることができる。そして、通信端末１００側では、集団に属していないユーザの現在位置の方向を示す矢印と距離とを表示させることができる。
【０１０３】
このように、本実施の形態においては、集団に属するユーザの現在位置を第１の表示形態として画面中央部分に地図上に表示しつつ、集団に属さないユーザの方向と距離とを示す情報を第２の表示形態として画面端部に表示するため、集団に属するユーザの現在位置をユーザが把握しやすくなるとともに、集団に属さないユーザの現在位置も把握することが可能になる。
＜第３の実施の形態＞
【０１０４】
第１の実施の形態においては、図１２に示したように、自分以外の通信端末１００から構成される通信端末１００のグループの中心からの距離が所定の閾値よりも遠いか否かを判断するものであった。しかしながら、本実施の形態においては、当該閾値を、自分以外の通信端末１００から構成される通信端末１００のグループの速度に応じて変化させるものである。
【０１０５】
なお、以下では、本実施の形態にかかるサーバ２００における表示用位置データ作成処理についてのみ説明する。他の構成は、第１の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。図１５は、本実施の形態にかかる通信端末１００における表示用位置データ作成処理を示すフローチャートである。
【０１０６】
図１５を参照して、まず、ＣＰＵ２１０は、メモリ２２０の変数Ｎに位置情報を共有しているチームのユーザの人数を代入する（ステップＳ３７１）。ＣＰＵ２１０は、メモリ２２０の変数ｎに１を代入する（ステップＳ３７２）。
【０１０７】
ＣＰＵ２１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの現在位置の中心（平均）を計算する（ステップＳ３７３）。ＣＰＵ２１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの移動速度の平均値を計算する（ステップＳ３７４）。ＣＰＵ２１０は、当該距離の平均値に応じて閾値を設定する（ステップＳ３７５）。なお、本実施の形態においては、閾値が、ｎ番目以外のユーザの移動速度の平均値に正比例するものとする。ただし、ｎ番目以外のユーザの移動速度の平均値が増加するにつれて、閾値が増加していけばよい。ＣＰＵ２１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの現在位置の中心とｎ番目のユーザの現在位置との距離を計算する（ステップＳ３７６）。
【０１０８】
ＣＰＵ２１０は、変数ｎをインクリメントする（ステップＳ３７７）。ＣＰＵ２１０は、変数ｎがＮより大きいか否かを判断する（ステップＳ３７８）。ＣＰＵ２１０は、変数ｎがＮ以下である場合（ステップＳ３７８においてＮＯである場合）、ステップＳ３７３からの処理を繰り返す。
【０１０９】
ＣＰＵ２１０は、変数ｎがＮよりも大きい場合（ステップＳ３７８においてＹＥＳである場合）、自分以外の通信端末１００のグループの現在位置の中心から自分までの距離が閾値を超えているユーザを特定する（ステップＳ３８０）。ＣＰＵ２１０は、自分以外の通信端末１００のグループの現在位置の中心から自分までの距離が閾値を超えているユーザの、現在位置情報データベース２２１のフラグを「０」に設定する。なお、他の通信端末１００のフラグは全て「１」となっている。
【０１１０】
ＣＰＵ２１０は、中心からの距離が閾値を超えていない、すなわち集団に属しているユーザの位置データのグループと、中心からの距離が閾値を超えている、すなわち集団から離れているユーザの位置データとを含む、表示用位置データを作成する（ステップＳ３８１）。なお、集団から離れているユーザの位置データには、当該ユーザの現在位置の情報に加えて、集団の中心から当該ユーザの現在位置への方向と距離とを含む。ＣＰＵ２１０は、表示用位置データ作成処理Ｓ１７０を終了する。
【０１１１】
これによって、図８のステップＳ１３０〜ステップＳ１３４に示すように、通信端末１００側では、集団に属しているユーザの現在位置を地図上に表示させることができる。そして、通信端末１００側では、集団に属していないユーザの現在位置の方向を示す矢印と距離とを表示させることができる。
【０１１２】
このように、本実施の形態においては、集団に属するユーザの現在位置を第１の表示形態として画面中央部分に地図上に表示しつつ、集団に属さないユーザの方向と距離とを示す情報を第２の表示形態として画面端部に表示するため、集団に属するユーザの現在位置をユーザが把握しやすくなるとともに、集団に属さないユーザの現在位置も把握することが可能になる。
＜第４の実施の形態＞
【０１１３】
第３の実施の形態においては、図１５に示したように、自分以外の通信端末１００から構成される通信端末１００のグループの中心からの距離が所定の閾値よりも遠いか否かを判断するものであった。そして特に、当該閾値を、自分以外の通信端末１００から構成される通信端末１００のグループの速度に応じて変化させるものである。しかしながら、本実施の形態においては、当該閾値を、自分以外の通信端末１００から構成される通信端末１００のグループの中心からの自分以外の通信端末１００までの距離の標準偏差に応じて変化させるものである。
【０１１４】
なお、以下では、本実施の形態にかかるサーバ２００における表示用位置データ作成処理についてのみ説明する。他の構成は、第１の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。図１６は、本実施の形態にかかる通信端末１００における表示用位置データ作成処理を示すフローチャートである。
【０１１５】
図１６を参照して、まず、ＣＰＵ２１０は、メモリ２２０の変数Ｎに位置情報を共有しているチームのユーザの人数を代入する（ステップＳ４７１）。ＣＰＵ２１０は、メモリ２２０の変数ｎに１を代入する（ステップＳ４７２）。
【０１１６】
ＣＰＵ２１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの現在位置の中心（平均）を計算する（ステップＳ４７３）。ＣＰＵ１１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの現在位置の中心（平均）からｎ番目以外のユーザの現在位置までの距離の標準偏差を計算する（ステップＳ４７４）。ＣＰＵ１１０は、当該標準偏差に応じて閾値を設定する（ステップＳ４７５）。なお、本実施の形態においては、閾値が、距離の標準偏差に正比例するものとする。ただし、距離の標準偏差が増加するにつれて、閾値が増加していけばよい。ＣＰＵ２１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの現在位置の中心とｎ番目のユーザの現在位置との距離を計算する（ステップＳ４７６）。
【０１１７】
ＣＰＵ２１０は、変数ｎをインクリメントする（ステップＳ４７７）。ＣＰＵ２１０は、変数ｎがＮより大きいか否かを判断する（ステップＳ４７８）。ＣＰＵ２１０は、変数ｎがＮ以下である場合（ステップＳ４７８においてＮＯである場合）、ステップＳ４７３からの処理を繰り返す。
【０１１８】
ＣＰＵ２１０は、変数ｎがＮよりも大きい場合（ステップＳ４７８においてＹＥＳである場合）、自分以外の通信端末１００のグループの現在位置の中心から自分までの距離が閾値を超えているユーザを特定する（ステップＳ４８０）。ＣＰＵ２１０は、自分以外の通信端末１００のグループの現在位置の中心から自分までの距離が閾値を超えているユーザの、現在位置情報データベース２２１のフラグを「０」に設定する。なお、他の通信端末１００のフラグは全て「１」となっている。
【０１１９】
ＣＰＵ２１０は、中心からの距離が閾値を超えていない、すなわち集団に属しているユーザの位置データのグループと、中心からの距離が閾値を超えている、すなわち集団から離れているユーザの位置データとを含む、表示用位置データを作成する（ステップＳ４８１）。なお、集団から離れているユーザの位置データには、当該ユーザの現在位置の情報に加えて、集団の中心から当該ユーザの現在位置への方向と距離とを含む。ＣＰＵ２１０は、表示用位置データ作成処理Ｓ１７０を終了する。
【０１２０】
これによって、図８のステップＳ１３０〜ステップＳ１３４に示すように、通信端末１００側では、集団に属しているユーザの現在位置を地図上に表示させることができる。そして、通信端末１００側では、集団に属していないユーザの現在位置の方向を示す矢印と距離とを表示させることができる。
【０１２１】
このように、本実施の形態においては、集団に属するユーザの現在位置を第１の表示形態として画面中央部分に地図上に表示しつつ、集団に属さないユーザの方向と距離とを示す情報を第２の表示形態として画面端部に表示するため、集団に属するユーザの現在位置をユーザが把握しやすくなるとともに、集団に属さないユーザの現在位置も把握することが可能になる。
＜第５の実施の形態＞
【０１２２】
第１の実施の形態においては、図１２に示したように、自分以外の通信端末１００から構成される通信端末１００のグループの中心からの距離が所定の閾値よりも遠いか否かを判断するものであった。しかしながら、本実施の形態においては、自分以外の通信端末１００から構成される通信端末１００のグループの速度の平均値からの自分の通信端末１００の速度差が所定の閾値よりも大きいか否かを判断するものである。
【０１２３】
なお、以下では、本実施の形態にかかるサーバ２００における表示用位置データ作成処理についてのみ説明する。他の構成は、第１の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。図１７は、本実施の形態にかかる通信端末１００における表示用位置データ作成処理を示すフローチャートである。
【０１２４】
図１７を参照して、まず、ＣＰＵ２１０は、メモリ２２０の変数Ｎに位置情報を共有しているチームのユーザの人数を代入する（ステップＳ５７１）。ＣＰＵ２１０は、メモリ２２０の変数ｎに１を代入する（ステップＳ５７２）。
【０１２５】
ＣＰＵ２１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの移動速度の平均値を計算する（ステップＳ５７３）。ＣＰＵ１１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの移動速度の平均値からｎ番目のユーザの移動速度との速度差を計算する（ステップＳ５７６）。
【０１２６】
ＣＰＵ２１０は、変数ｎをインクリメントする（ステップＳ５７７）。ＣＰＵ２１０は、変数ｎがＮより大きいか否かを判断する（ステップＳ５７８）。ＣＰＵ２１０は、変数ｎがＮ以下である場合（ステップＳ５７８においてＮＯである場合）、ステップＳ５７３からの処理を繰り返す。
【０１２７】
ＣＰＵ２１０は、変数ｎがＮよりも大きい場合（ステップＳ５７８においてＹＥＳである場合）、速度の平均値からの速度差が一番大きいユーザを特定する（ステップＳ５７９）。ＣＰＵ２１０は、速度の平均値からの速度差が一番大きいユーザの当該速度差が閾値を超えているか否かを判断する（ステップＳ５８０）。
【０１２８】
ＣＰＵ２１０は、速度の平均値からの速度差が一番大きいユーザの当該速度差が閾値を超えている場合（ステップＳ５８０においてＹＥＳである場合）、現在位置情報データベース２２１のフラグを「０」に設定する。なお、他の通信端末１００のフラグは全て「１」となっている。ＣＰＵ２１０は、速度が近い集団に属しているユーザの位置データのグループと、速度の平均値からの速度差が一番大きいユーザの位置データとを含む、表示用位置データを作成する（ステップＳ５８１）。なお、集団から離れているユーザの位置データには、当該ユーザの現在位置の情報に加えて、集団の中心から当該ユーザの現在位置への方向と距離とを含む。ＣＰＵ２１０は、表示用位置データ作成処理Ｓ１７０を終了する。
【０１２９】
ＣＰＵ２１０は、速度の平均値からの速度差が一番大きいユーザの当該速度差が閾値を超えていない場合（ステップＳ５８０においてＮＯである場合）、すべのユーザが集団に属していると判断し、当該ユーザの位置データのグループを含む表示用位置データを作成する（ステップＳ５８２）。ＣＰＵ２１０は、表示用位置データ作成処理Ｓ１７０を終了する。
【０１３０】
これによって、図８のステップＳ１３０〜ステップＳ１３４に示すように、通信端末１００側では、集団に属しているユーザの現在位置を地図上に表示させることができる。そして、通信端末１００側では、集団に属していないユーザの現在位置の方向を示す矢印と距離とを表示させることができる。
【０１３１】
このように、本実施の形態においては、集団に属するユーザの現在位置を第１の表示形態として画面中央部分に地図上に表示しつつ、集団に属さないユーザの方向と距離とを示す情報を第２の表示形態として画面端部に表示するため、集団に属するユーザの現在位置をユーザが把握しやすくなるとともに、集団に属さないユーザの現在位置も把握することが可能になる。
【０１３２】
なお、本実施の形態に関しても、図１４に示すように、チームに属する全てのユーザに関して、移動速度の平均値からの速度差が所定の閾値よりも大きいか否かを判断してもよい。さらに、図１５に示すように、閾値を、自分以外の通信端末１００から構成される通信端末１００のグループの速度に応じて変化させてもよい。さらに、図１６に示すように、閾値を、自分以外の通信端末１００から構成される通信端末１００のグループの速度の平均値からの自分以外の通信端末１００の速度までの速度差の標準偏差に応じて変化させてもよい。
【０１３３】
なお、本実施の形態の判断基準と他の実施の形態の判断基準と、複数の判断基準に基づいて集団に属するか否かを判断してもよい。たとえば、複数の判断基準（ａｎｄ条件）で集団に属すと判断された場合に集団に属すと判断してもよいし、いずれかの判断基準（ｏｒ条件）で集団に属すと判断された場合に集団に属すと判断してもよい。
＜第６の実施の形態＞
【０１３４】
第１の実施の形態においては、図１２に示したように、自分以外の通信端末１００から構成される通信端末１００のグループの中心からの距離が所定の閾値よりも遠いか否かを判断するものであった。しかしながら、本実施の形態においては、自分以外の通信端末１００から構成される通信端末１００のグループの移動方向の平均値からの自分の通信端末１００の移動方向の角度差が所定の閾値よりも大きいか否かを判断するものである。
【０１３５】
なお、以下では、本実施の形態にかかるサーバ２００における表示用位置データ作成処理についてのみ説明する。他の構成は、第１の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。図１８は、本実施の形態にかかる通信端末１００における表示用位置データ作成処理を示すフローチャートである。
【０１３６】
図１８を参照して、まず、ＣＰＵ２１０は、メモリ２２０の変数Ｎに位置情報を共有しているチームのユーザの人数を代入する（ステップＳ６７１）。ＣＰＵ２１０は、メモリ２２０の変数ｎに１を代入する（ステップＳ６７２）。
【０１３７】
ＣＰＵ２１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの移動方向の中央を計算する（ステップＳ６７３）。ＣＰＵ１１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの移動方法の中央からｎ番目のユーザの移動方法との角度差を計算する（ステップＳ６７６）。
【０１３８】
ＣＰＵ２１０は、変数ｎをインクリメントする（ステップＳ６７７）。ＣＰＵ２１０は、変数ｎがＮより大きいか否かを判断する（ステップＳ６７８）。ＣＰＵ２１０は、変数ｎがＮ以下である場合（ステップＳ６７８においてＮＯである場合）、ステップＳ６７３からの処理を繰り返す。
【０１３９】
ＣＰＵ２１０は、変数ｎがＮよりも大きい場合（ステップＳ６７８においてＹＥＳである場合）、移動方向の平均からの角度差が一番大きいユーザを特定する（ステップＳ６７９）。ＣＰＵ２１０は、移動方向の平均（中央）からの角度差が一番大きいユーザの当該角度差が閾値を超えているか否かを判断する（ステップＳ６８０）。
【０１４０】
ＣＰＵ２１０は、移動方向の平均からの角度差が一番大きいユーザの当該角度差が閾値を超えている場合（ステップＳ６８０においてＹＥＳである場合）、現在位置情報データベース２２１のフラグを「０」に設定する。なお、他の通信端末１００のフラグは全て「１」となっている。ＣＰＵ２１０は、移動方向が近い集団に属しているユーザの位置データのグループと、移動方向の平均からの角度差が一番大きいユーザの位置データとを含む、表示用位置データを作成する（ステップＳ６８１）。なお、集団から離れているユーザの位置データには、当該ユーザの現在位置の情報に加えて、集団の中心から当該ユーザの現在位置への方向と距離とを含む。ＣＰＵ２１０は、表示用位置データ作成処理Ｓ１７０を終了する。
【０１４１】
ＣＰＵ２１０は、移動方向の平均からの角度差が一番大きいユーザの当該角度差が閾値を超えていない場合（ステップＳ６８０においてＮＯである場合）、すべのユーザが集団に属していると判断し、当該ユーザの位置データのグループを含む表示用位置データを作成する（ステップＳ６８２）。ＣＰＵ２１０は、表示用位置データ作成処理Ｓ１７０を終了する。
【０１４２】
これによって、図８のステップＳ１３０〜ステップＳ１３４に示すように、通信端末１００側では、集団に属しているユーザの現在位置を地図上に表示させることができる。そして、通信端末１００側では、集団に属していないユーザの現在位置の方向を示す矢印と距離とを表示させることができる。
【０１４３】
このように、本実施の形態においては、集団に属するユーザの現在位置を第１の表示形態として画面中央部分に地図上に表示しつつ、集団に属さないユーザの方向と距離とを示す情報を第２の表示形態として画面端部に表示するため、集団に属するユーザの現在位置をユーザが把握しやすくなるとともに、集団に属さないユーザの現在位置も把握することが可能になる。
【０１４４】
なお、本実施の形態に関しても、図１４に示すように、チームに属する全てのユーザに関して、移動方向の平均からの角度差が所定の閾値よりも大きいか否かを判断してもよい。さらに、図１５に示すように、閾値を、自分以外の通信端末１００から構成される通信端末１００のグループの速度に応じて変化させてもよい。なおこの場合は、速度が増加するにつれて、閾値を減少させることも有効である。さらに、図１６に示すように、閾値を、自分以外の通信端末１００から構成される通信端末１００のグループの移動方向の平均値からの自分以外の通信端末１００の移動方向までの角度差の標準偏差に応じて変化させてもよい。
【０１４５】
なお、本実施の形態の判断基準と他の実施の形態の判断基準と、複数の判断基準に基づいて集団に属するか否かを判断してもよい。たとえば、複数の判断基準で集団に属すと判断された場合に集団に属すと判断してもよいし、いずれかの判断基準で集団に属すと判断された場合に集団に属すと判断してもよい。
＜第７の実施の形態＞
【０１４６】
第１の実施の形態においては、図１２に示したように、自分以外の通信端末１００から構成される通信端末１００のグループの中心からの距離が所定の閾値よりも遠いか否かを判断するものであった。しかしながら、本実施の形態においては、自分以外の通信端末１００から構成される通信端末１００のグループのＧＰＳ精度の平均値からの自分の通信端末１００のＧＰＳ精度の差が所定の閾値よりも大きいか否かを判断するものである。ただし、自分以外の通信端末１００から構成される通信端末１００のグループのＧＰＳ精度の平均値を考慮せずに、単にＧＰＳ精度の低い通信端末１００を集団から外れたものとみなしてもよい。
【０１４７】
なお、以下では、本実施の形態にかかるサーバ２００における表示用位置データ作成処理についてのみ説明する。他の構成は、第１の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。図１９は、本実施の形態にかかる通信端末１００における表示用位置データ作成処理を示すフローチャートである。
【０１４８】
図１９を参照して、まず、ＣＰＵ２１０は、メモリ２２０の変数Ｎに位置情報を共有しているチームのユーザの人数を代入する（ステップＳ７７１）。ＣＰＵ２１０は、メモリ２２０の変数ｎに１を代入する（ステップＳ７７２）。
【０１４９】
ＣＰＵ２１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの通信端末１００のＧＰＳ精度の平均を計算する（ステップＳ７７３）。ＣＰＵ１１０は、現在位置情報データベース２２１を参照して、ｎ番目以外のユーザの通信端末１００のＧＰＳ精度の平均からｎ番目のユーザの通信端末１００のＧＰＳ精度との差を計算する（ステップＳ７７６）。
【０１５０】
ＣＰＵ２１０は、変数ｎをインクリメントする（ステップＳ７７７）。ＣＰＵ２１０は、変数ｎがＮより大きいか否かを判断する（ステップＳ７７８）。ＣＰＵ２１０は、変数ｎがＮ以下である場合（ステップＳ７７８においてＮＯである場合）、ステップＳ７７３からの処理を繰り返す。
【０１５１】
ＣＰＵ２１０は、変数ｎがＮよりも大きい場合（ステップＳ７７８においてＹＥＳである場合）、ＧＰＳ精度の平均からの差が一番大きいＧＰＳ精度の通信端末１００のユーザを特定する（ステップＳ７７９）。ＣＰＵ２１０は、ＧＰＳ精度の平均からの差が一番大きいユーザの当該差が閾値を超えているか否かを判断する（ステップＳ７８０）。
【０１５２】
ＣＰＵ２１０は、ＧＰＳ精度の平均からの差が閾値を超えている場合（ステップＳ７８０においてＹＥＳである場合）、現在位置情報データベース２２１のフラグを「０」に設定する。なお、他の通信端末１００のフラグは全て「１」となっている。ＣＰＵ２１０は、ＧＰＳ精度が近い集団に属しているユーザの位置データのグループと、ＧＰＳ精度の平均からの差が一番大きいユーザの位置データとを含む、表示用位置データを作成する（ステップＳ７８１）。なお、集団から離れているユーザの位置データには、当該ユーザの現在位置の情報に加えて、集団の中心から当該ユーザの現在位置への方向と距離とを含む。ＣＰＵ２１０は、表示用位置データ作成処理Ｓ１７０を終了する。
【０１５３】
ＣＰＵ２１０は、ＧＰＳ精度の平均からの差が一番大きいユーザの当該差が閾値を超えていない場合（ステップＳ７８０においてＮＯである場合）、すべのユーザが集団に属していると判断し、当該ユーザの位置データのグループを含む表示用位置データを作成する（ステップＳ７８２）。ＣＰＵ２１０は、表示用位置データ作成処理Ｓ１７０を終了する。
【０１５４】
これによって、図８のステップＳ１３０〜ステップＳ１３４に示すように、通信端末１００側では、集団に属しているユーザの現在位置を地図上に表示させることができる。そして、通信端末１００側では、集団に属していないユーザの現在位置の方向を示す矢印と距離とを表示させることができる。
【０１５５】
このように、本実施の形態においては、集団に属するユーザの現在位置を第１の表示形態として画面中央部分に地図上に表示しつつ、集団に属さないユーザの方向と距離とを示す情報を第２の表示形態として画面端部に表示するため、集団に属するユーザの現在位置をユーザが把握しやすくなるとともに、集団に属さないユーザの現在位置も把握することが可能になる。
【０１５６】
なお、本実施の形態に関しても、図１４に示すように、チームに属する全てのユーザに関して、ＧＰＳ精度の平均からの差が所定の閾値よりも大きいか否かを判断してもよい。さらに、図１５に示すように、閾値を、自分以外の通信端末１００から構成される通信端末１００のグループの速度に応じて変化させてもよい。なおこの場合は、速度が増加するにつれて、閾値を減少させることも有効である。さらに、図１６に示すように、閾値を、自分以外の通信端末１００から構成される通信端末１００のグループのＧＰＳ精度の平均からの自分以外の通信端末１００のＧＰＳ精度までの差の標準偏差に応じて変化させてもよい。
【０１５７】
なお、本実施の形態の判断基準と他の実施の形態の判断基準と、複数の判断基準に基づいて集団に属するか否かを判断してもよい。たとえば、複数の判断基準で集団に属すと判断された場合に集団に属すと判断してもよいし、いずれかの判断基準で集団に属すと判断された場合に集団に属すと判断してもよい。
＜第８の実施の形態＞
【０１５８】
第１〜第７の実施の形態においては、第２の表示形態として、集団に属さないユーザの現在位置の方向と距離とを表示するものであった。本実施の形態においては、第２の表示形態として、集団に属さないユーザの状況を画面端部の別の地図上に表示するものである。
【０１５９】
なお、以下では、本実施の形態にかかる通信端末１００での表示画面と通信端末１００における位置データ取得表示処理とサーバ２００における表示用位置データ作成処理の一部について説明するものとし、他の構成は第１から第７の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。なお、図２０は、本実施の形態にかかる通信端末１００における第１の表示画面を示すイメージ図である。図２１は、本実施の形態にかかる通信端末１００における第２の表示画面を示すイメージ図である。
【０１６０】
まず、図１２を参照して、ＣＰＵ２１０は、集団に属しているユーザの位置データのグループと、集団から離れているユーザの位置データとを含む、表示用位置データを作成する（ステップＳ１８１）。集団から離れているユーザの位置データには、当該ユーザの現在位置が含まれる。
【０１６１】
これによって、図８、図２０、図２１に示すように、通信端末１００のＣＰＵ１１０は、サーバ２００からの表示位置データに基づいて、タッチパネル１５０に、中央部分の地図上に、集団に属しているユーザの現在位置を示す情報を表示させる。そして、ＣＰＵ１１０は、集団に属していないユーザの現在位置を示す情報として、画面のうちの、集団に属していないユーザがいる方向に別の地図と当該ユーザの現在位置とをタッチパネル１５０に表示させる。より詳細には、集団の南西方向にユーザがいる場合には、図２０に示すように、ＣＰＵ１１０は、タッチパネル１５０の画面の左下部に地図と現在位置を示すアイコンとをタッチパネル１５０に表示させる。集団の南東方向にユーザがいる場合には、図２１に示すように、ＣＰＵ１１０は、タッチパネル１５０の画面の右下部に地図と現在位置を示すアイコンとをタッチパネル１５０に表示させる。
【０１６２】
このように、本実施の形態においては、集団に属するユーザの現在位置を第１の表示形態として画面中央部分に地図上に表示しつつ、集団に属さないユーザの現在位置を第２の表示形態としては画面端部の地図上に表示するため、集団に属するユーザの現在位置をユーザが把握しやすくなるとともに、集団に属さないユーザの現在位置も把握することが可能になる。
＜第９の実施の形態＞
【０１６３】
第８の実施の形態においては、図２０および図２１に示したように、集団に属さないユーザの方向と距離とを示す情報を第２の表示形態として画面端部に表示するものであった。しかしながら、本実施の形態においては、集団に属さない通信端末１００のユーザの現在位置に関する情報と、当該ユーザの置かれている状況とを画面端部に表示させるものである。
【０１６４】
なお、以下では、本実施の形態にかかる通信端末１００での表示画面と通信端末１００における位置データ取得表示処理とサーバ２００におけるデータベースと表示用位置データ作成処理の一部について説明するものとし、他の構成は第１から第８の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。なお、図２２は、本実施の形態にかかる通信端末１００における第１の表示画面を示すイメージ図である。図２３は、本実施の形態にかかる通信端末１００における第２の表示画面を示すイメージ図である。
【０１６５】
まず、図１２を参照して、ＣＰＵ２１０は、集団に属しているユーザの位置データのグループと、集団から離れているユーザの位置データとを含む、表示用位置データを作成する（ステップＳ１８１）。なお、集団から離れているユーザの位置データには、当該ユーザの現在位置の情報と、集団の中心から当該ユーザの現在位置への方向と距離と、当該ユーザの予想される状況も含む。
【０１６６】
これによって、図２０、図２２、図２３に示すように、通信端末１００のＣＰＵ１１０は、サーバ２００からの表示位置データに基づいて、タッチパネル１５０に、中央部分の地図上に、集団に属しているユーザの現在位置を示す情報を表示させる。そして、ＣＰＵ１１０は、集団に属していないユーザの情報として、集団に属していないユーザがいる方向にユーザの状況をタッチパネル１５０に表示させる。
【０１６７】
たとえば、集団の南西方向にユーザがいる場合に、ユーザが休憩していると判断されたときは、図２２に示すように、通信端末１００の画面の左下に、ユーザの名称と休憩の可能性が高い旨を示す情報とが表示される。あるいは、ユーザに怪我などのトラブルが発生していると判断されたときは、図２３に示すように、通信端末１００の画面の左下に、ユーザの名称とトラブルが発生している可能性が高い旨を示す情報とが表示される。それ以外のときは、図２に示すように、通信端末１００の画面の左下に、ユーザの名称と距離とが高い旨を示す情報とが表示される。
【０１６８】
より詳細には、本実施の形態においては、サーバ２００のメモリ２２０または他のデータベースが、現在位置情報データベース２２２と施設データベース２２３とを記憶する。なお、図２４は、本実施の形態にかかる現在位置情報データベース２２２のデータ構造を示すイメージ図である。図２５は、本実施の形態にかかる施設データベース２２３のデータ構造を示すイメージ図である。
【０１６９】
図２４を参照して、本実施の形態にかかる現在位置情報データベース２２２は、ユーザＩＤと、ニックネームと、ユーザＩＤに対応する通信端末１００のアドレス、ユーザＩＤに対応する通信端末１００の現在位置を示す情報と、通信端末１００の現在の移動速度と、通信端末１００が集団に属するか否かを示すフラグと、集団の中心または集団の端からの距離と、現在位置の集団からの方向と、現在位置情報の発信時刻と、ＧＰＳ強度と、の対応関係を格納する。なお、図２４に示す現在位置情報データベース２２１が、チーム毎に作成されるものであってもよいし、サーバ２００が別途、取得モードを起動中のユーザと取得先の通信端末１００を特定するためのユーザＩＤとの対応関係を示すデータベースを記憶してもよい。
【０１７０】
図２５を参照して、本実施の形態にかかる施設データベース２２３は、施設、たとえばコンビニやスーパーなどの店舗やトイレや展望台などの施設毎に、施設ＩＤと、緯度と、経度と、の対応関係を格納する。
【０１７１】
そして、本実施の形態においては、サーバ２００のＣＰＵ２１０は、図１２のステップＳ１８１、図１４のステップＳ２８１、図１５のステップＳ３８１、図１６のステップＳ４８１、図１７のステップＳ５８１、図１８のステップＳ６８１、図１９のステップＳ７８１において、集団に属さないユーザに関して以下の状況判断処理を実行する。図２６は、本実施の形態にかかる状況判断処理の流れを示すフローチャートである。
【０１７２】
図２６を参照して、ＣＰＵ２１０は、現在位置情報データベース２２２を参照して、集団に属さないユーザが停止しているか否かを判断する（ステップＳ９０２）。たとえば、ＣＰＵ２１０は、５分以上現在位置が変化していない場合に、ユーザが停止していると判断する。
【０１７３】
集団に属さないユーザが停止していないと判断した場合は（ステップＳ９０２にてＮＯの場合）、ＣＰＵ２１０は、状況判断処理を終了して、表示用位置データ作成処理に戻る。この場合は、図２に示すように、通信端末１００のＣＰＵ１１０は、タッチパネル１５０に、集団に属さないユーザの現在位置の方向とともに、ユーザの現在位置までの距離を表示させる。サーバ２００のＣＰＵ２１０は、状況判断処理を終了して、表示用位置データ作成処理に戻る。
【０１７４】
集団に属さないユーザが停止している場合（ステップＳ９０２にてＹＥＳである場合）、ＣＰＵ２１０は、施設データベース２２３を参照して、ユーザの近傍、たとえば１０ｍｍ以内に施設があるか否かを判断する（ステップＳ９０４）。ユーザの近傍に施設がない場合（ステップＳ９０４にてＮＯの場合）、ＣＰＵ２１０は、ユーザにトラブルが発生している可能性が高い旨の情報を、集団に属さないユーザに関する情報に含める（ステップＳ９０６）。
【０１７５】
サーバ２００は、図１１のステップＳ１９０において、集団に属さないユーザの現在位置を示す情報とともに、ユーザがトラブルに会っている可能性が高い旨の情報を、通信端末１００に提供する。これによって、図２３に示すように、通信端末１００のＣＰＵ１１０は、タッチパネル１５０に、集団に属さないユーザの現在位置の方向とともに、トラブルが発生している可能性が高い旨の情報を表示させることができる。サーバ２００のＣＰＵ２１０は、状況判断処理を終了して、表示用位置データ作成処理に戻る。
【０１７６】
ユーザの近傍に施設がある場合（ステップＳ９０４にてＹＥＳである場合）、ＣＰＵ２１０は、現在位置情報データベース２２２を参照して、通信端末１００のＧＰＳ強度が閾値未満であるか否かを判断する（ステップＳ９０８）。通信端末１００のＧＰＳ強度が閾値以上である場合（ステップＳ９０８にてＮＯの場合）、ＣＰＵ２１０は、ユーザにトラブルが発生している可能性が高い旨の情報を、集団に属さないユーザに関する情報に含める（ステップＳ９１０）。
【０１７７】
サーバ２００は、図１１のステップＳ１９０において、集団に属さないユーザの現在位置を示す情報とともに、ユーザがトラブルに会っている可能性が高い旨の情報を、通信端末１００に提供する。これによって、図２３に示すように、通信端末１００のＣＰＵ１１０は、タッチパネル１５０に、集団に属さないユーザの現在位置の方向とともに、トラブルが発生している可能性が高い旨の情報を表示させる。サーバ２００のＣＰＵ２１０は、状況判断処理を終了して、表示用位置データ作成処理に戻る。
【０１７８】
通信端末１００のＧＰＳ強度が閾値未満である場合（ステップＳ９０８にてＹＥＳである場合）、ＣＰＵ２１０は、ユーザが休憩している可能性が高い旨の情報を、集団に属さないユーザに関する情報に含める（ステップＳ９１２）。
【０１７９】
サーバ２００は、図１１のステップＳ１９０において、集団に属さないユーザの現在位置を示す情報とともに、ユーザが休憩している可能性が高い旨の情報を、通信端末１００に提供する。これによって、図２２に示すように、通信端末１００のＣＰＵ１１０は、タッチパネル１５０に、集団に属さないユーザの現在位置の方向とともに、ユーザが休憩している可能性が高い旨の情報を表示させることができる。サーバ２００のＣＰＵ２１０は、状況判断処理を終了して、表示用位置データ作成処理に戻る。
【０１８０】
これによって、同じチームのユーザが、仲間が集団を離脱した際に、仲間の状況を把握し易くなる。
＜第１０の実施の形態＞
【０１８１】
第９の実施の形態においては、図２２および図２３に示したように、集団に属さない通信端末１００のユーザの状況をサーバが予想して通信端末１００の画面端部に表示させるものであった。本実施の形態においては、さらに、集団に属さない通信端末１００がユーザの状況の入力を受け付けて、当該確定された状況を他の通信端末１００の画面端部に表示させるものである。
【０１８２】
なお、以下では、本実施の形態にかかる通信端末１００での表示画面と通信端末１００における位置データ取得表示処理とサーバ２００におけるデータベースと表示用位置データ作成処理の一部について説明するものとし、他の構成は第９の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。なお、図２７は、本実施の形態にかかる発信モード中の通信端末１００における表示画面の推移の例を示すイメージ図である。図２８は、本実施の形態にかかる取得モード中の通信端末１００における表示画面の推移の例を示すイメージ図である。図２９は、本実施の形態にかかるサーバ２００のメモリ２２０の現在位置情報データベース２２４のデータ構造を示すイメージ図である。
【０１８３】
本実施の形態においては、図２７の（ａ）から図２７の（ｂ）に示すように、ユーザが通信端末１００を介して自分の状況をサーバ２００にアップロードすることによって、図２８の（ａ）から図２８の（ｂ）に示すように、他の通信端末１００では、状況の予想に関する情報の表示が確定された状況の情報の表示に切り替わる。
【０１８４】
より詳細には、本実施の形態においては、図２９に示すように、本実施の形態にかかる現在位置情報データベース２２４は、ユーザＩＤと、ニックネームと、ユーザＩＤに対応する通信端末１００のアドレス、ユーザＩＤに対応する通信端末１００の現在位置を示す情報と、通信端末１００の現在の移動速度と、通信端末１００が集団に属するか否かを示すフラグと、集団の中心または集団の端からの距離と、現在位置の集団からの方向と、現在位置情報の発信時刻と、ＧＰＳ強度と、集団から外れた原因と、の対応関係を格納する。なお、図２９に示す現在位置情報データベース２２４は、チーム毎に作成されるものであってもよいし、サーバ２００が別途、取得モードを起動中のユーザと取得先の通信端末１００を特定するためのユーザＩＤとの対応関係を示すデータベースを記憶してもよい。
【０１８５】
そして、集団に属さなくなったユーザの通信端末１００のＣＰＵ１１０は、図８のステップＳ１３０においてサーバ２００から受信した表示用位置データに基づいて、自身が集団に属さなくなったことを認識する。このとき、既に、サーバ２００は、図２６に示す状況判断処理を実行しており、他の通信端末１００は図２８の（ａ）に示すような状況の予想結果を示す情報を表示している。
【０１８６】
集団から離れた通信端末１００のＣＰＵ１１０は、図２７の（ａ）に示すように、タッチパネル１５０を介して、状況を他のユーザに通知するか否かの命令を受け付ける。ＣＰＵ１１０は、通知する旨の命令を受け付けた場合は、図２７の（ｂ）に示すように、たとえば、「休憩」「パンク」「怪我」などの状況の選択を受け付ける。ＣＰＵ１１０は、通信インターフェイス１６０を介して、受け付けた状況をサーバ２００に送信する。
【０１８７】
これによって、サーバ２００のＣＰＵ２１０は、現在位置情報データベース２２４を更新する。サーバ２００のＣＰＵ２１０は、図１２に示すように、集団に属しているユーザの位置データのグループと、集団から離れているユーザの位置データとを含む、表示用位置データを作成する（ステップＳ１８１）。なお、集団から離れているユーザの位置データには、集団の中心から当該ユーザの現在位置への方向と距離だけでなく、当該ユーザの確定した状況も含む。
【０１８８】
これによって、図２８（ｂ）に示すように、通信端末１００のＣＰＵ１１０は、サーバ２００からの表示位置データに基づいて、タッチパネル１５０に、中央部分に、集団に属しているユーザの現在位置を示す情報を表示させる。そして、ＣＰＵ１１０は、集団に属していないユーザの情報として、集団に属していないユーザがいる方向にユーザの確定した状況をタッチパネル１５０に表示させる。
【０１８９】
なお、通信端末１００のＣＰＵ１１０は、通知しない旨の命令を受け付けた場合は、図２７の（ｃ）の画面に戻る。なお、本実施の形態においては、集団を離れた通信端末１００は、自身の現在位置を地図上に表示するものである。この場合も、サーバ２００のＣＰＵ２１０は、図１２に示すように、集団に属しているユーザの位置データのグループと、集団から離れているユーザの位置データとを含む、表示用位置データを作成する（ステップＳ１８１）。ただし、この場合は、集団から離れているユーザの位置データは、集団の中心から当該ユーザの現在位置への方向と距離と、当該ユーザの状況の予想とを含む。
【０１９０】
そして、図２８（ａ）に示すように、通信端末１００のＣＰＵ１１０は、サーバ２００からの表示位置データに基づいて、タッチパネル１５０に、中央部分に、集団に属しているユーザの現在位置を示す情報を表示させる。そして、ＣＰＵ１１０は、集団に属していないユーザの情報として、集団に属していないユーザがいる方向にユーザの状況の予想を引き続きタッチパネル１５０に表示させる。
【０１９１】
これによって、同じチームのユーザが、仲間が集団を離脱した際に、仲間の状況を把握し易くなる。
＜第１１の実施の形態＞
【０１９２】
第９および第１０の実施の形態においては、サーバ２００が、ユーザの状況を判断するものであった。しかしながら、サーバ２００が、状況の判断に必要な情報、たとえば停止時間に関する情報、近傍に位置する施設の現在位置に関する情報、ＧＰＳ強度に関する情報など、を通信端末１００に送信してもよい。そして、通信端末１００のＣＰＵ１１０が、集団を外れた他のユーザの状況を判断し、判断結果をタッチパネル１５０に表示させるものであってもよい。
＜第１２の実施の形態＞
【０１９３】
また、第９および第１０の実施の形態においては、サーバ２００が、ユーザの状況を判断するものであった。しかしながら、サーバ２００が、状況の判断に必要な情報、たとえば停止時間に関する情報、施設の現在位置に関する情報、ＧＰＳ強度に関する情報など、を通信端末１００に送信してもよい。そして、通信端末１００のＣＰＵ１１０は、状況の判断に必要な情報自体、たとえば停止時間に関する情報、近傍に位置する施設に関する情報、ＧＰＳ強度に関する情報など、をタッチパネル１５０に表示させるものであってもよい。これよって、状況の判断に必要な情報からユーザが、集団を外れた他のユーザの状況を判断することができる。
＜その他の応用例＞
【０１９４】
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体（あるいはメモリ）を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
【０１９５】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１９６】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１９７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わる他の記憶媒体に書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１９８】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１９９】
１        ：ネットワークシステム
１００    ：通信端末
１１０    ：ＣＰＵ
１２０    ：メモリ
１３０    ：ディスプレイ
１４０    ：ポインティングデバイス
１５０    ：タッチパネル
１６０    ：通信インターフェイス
１７０    ：位置取得部
２００    ：サーバ
２１０    ：ＣＰＵ
２２０    ：メモリ
２２１    ：位置情報データベース
２２２    ：現在位置情報データベース
２２３    ：施設データベース
２２４    ：現在位置情報データベース
２６０    ：通信インターフェイス
【図１】
2016197839.tif 000003
【図２】
2016197839.tif 000004
【図３】
2016197839.tif 000005
【図４】
2016197839.tif 000006
【図５】
2016197839.tif 000007
【図６】
2016197839.tif 000008
【図７】
2016197839.tif 000009
【図８】
2016197839.tif 000010
【図９】
2016197839.tif 000011
【図１０】
2016197839.tif 000012
【図１１】
2016197839.tif 000013
【図１２】
2016197839.tif 000014
【図１３】
2016197839.tif 000015
【図１４】
2016197839.tif 000016
【図１５】
2016197839.tif 000017
【図１６】
2016197839.tif 000018
【図１７】
2016197839.tif 000019
【図１８】
2016197839.tif 000020
【図１９】
2016197839.tif 000021
【図２０】
2016197839.tif 000022
【図２１】
2016197839.tif 000023
【図２２】
2016197839.tif 000024
【図２３】
2016197839.tif 000025
【図２４】
2016197839.tif 000026
【図２５】
2016197839.tif 000027
【図２６】
2016197839.tif 000028
【図２７】
2016197839.tif 000029
【図２８】
2016197839.tif 000030
【図２９】
2016197839.tif 000031