2. 画面操作と表示
それでは実際の動作イメージを、画面操作と表示内容から見ていきます。
画面1 スマートフォンからスマートフォンへサーバプッシュ
GAE上で実際に動作させているサンプルを次のURLで確認できます。
図2と図3は、スマートフォンからスマートフォンへのサーバプッシュ連絡を想定しています。左側の画面が送信者(遭難者)のスマートフォンですが、図のように姓名とスマートフォンの電話番号を入力して「データ送信」ボタンをクリックすると、図3のように、受信者(親族・知人)のスマートフォンに、入力情報とHTML5のGeolocationによる遭難者位置情報が付加されて表示されます。なお、サンプルではスマートフォンとしてAndroidを想定していますが、iPhoneなどGeolocationをサポートしているスマートフォンであれば問題なく動作するはずです。
画面2 AndroidからPCへサーバプッシュ
GAE上で実際に動作させているサンプルを次のURLで確認できます。
図4~図6は、スマートフォンからPCへのサーバプッシュ連絡を想定しています。図5のようにPC画面の場合はGoogle Mapsの地図上にGeolocationで取得された緯度、経度がマーカー表示されます。
Bigtableへの登録
スマートフォンからクラウドへ送信された位置情報を含むデータはJavaScriptでの送信パラメータで、GAEのデータストア(Bigtable)への登録を行うか否かの指定を行うことができます。このサンプルでは登録実行を指定してあり、登録内容は図6のようになります。連載第1回でも触れたように、登録エンティティのフォーマットは、クラウドサーバ側でJavaやPythonのコード記述で行った場合とまったく同様で、クラウドサーバ側コード記述による機能拡張も容易です。
ここまでご紹介してきた操作・表示内容は、筆者のスマートフォン実機を使用して動作を確認しています。筆者の場合NTTドコモのAndroidを使用していますが、iPhoneでも動作は問題ないはずです。
ただし、Geolocationで取得される位置情報は正確でない場合があり、特に有線LAN環境と無線LAN環境では精度が大きく違うようで、例えば緯度経度の値で比較した場合、有線LANでは小数点以下第3桁までの制度なのに対して、無線LAN環境では小数点以下第7ケタまでの詳細なデータを取得できるという情報もあります。なお、この点に関する詳細については、関連書籍やサイト情報などを参照してください。






