Google Maps上に投稿データを展開:携帯からの閲覧
携帯でも閲覧可能なようにGoogle Maps上に投稿データを展開します。携帯での閲覧の場合は「Google Static Maps API」を使ってGoogle Mapsを画像として表示し、「mobile_map.php?id=[mailテーブルのid]」という形式で呼び出される画面とします。
「Google Static Maps API」の公式ドキュメントはこちらのURLを参照ください。Google Static Maps APIは次のように呼び出します。
http://maps.google.com/staticmap?center=[地図の中心となる経度],[地図の中心となる緯度]&markers=[マーカー表示位置の経度],[マーカー表示位置の緯度],[マーカー表示指定]&zoom=[倍率]&size=[表示させる地図画像の縦サイズ]x[横サイズ]&key=[Google Map API key]
「Google Maps JavaScript API」と違って「Google Static Maps API」では情報ウィンドウ(吹き出し)が表示できません。その代わりマーカーの表示指定に若干自由度があり、「色指定+マーカーに表示する英数字」でマーカー表示を簡単に指定できます。
指定できる色には「black、brown、green、purple、yellow、blue、gray、orange、red、white」があります。サンプルでは「赤いマーカー内にP」という指定を「redp」という形式で行っています。
PCでの表示と同様にPDOで投稿情報をDBから取得しています。地図の画像表示部分は次のようになります。
<img src="http://maps.google.com/staticmap?center=<?php echo $lat; ?>,<?php echo $lon; ?>&markers=<?php echo $lat; ?>,<?php echo $lon; ?>,redp&zoom=14&size=<?php echo $width; ?>x<?php echo $width; ?>&key=<?php echo $google_map_key; ?>"><br /> <br /><br /> <img src="image.php?file=<?php echo $image_name; ?>&width=<?php echo $width; ?>" /><br /> <?php echo $address; ?><br /><br /> <?php echo $subject; ?><br /> <?php echo $body; ?><br /> <br />
実行結果は次のようになります。地図の部分はJavascriptを使わない画像表示のため、携帯端末からの閲覧が可能です。
まとめ
携帯電話のGPSを使って口コミを投稿し、Google Mapsで投稿情報を表示する基本的な方法を2回にわたって説明しました。
携帯キャリアごとの位置情報取得の仕様の違いを吸収するライブラリとGoogle Maps APIの登場で個人レベルでも位置情報を伴ったアプリケーションの作成、位置情報と他サービスを組み合わせたマッシュアップコンテンツの作成が非常に容易になっていると思います。
携帯電話はほぼ全世代でいつも身近にある情報端末なので、位置情報取得と表示の容易さは地域・災害・交通といった生活に密着したアプリケーションの作成について大きな可能性を持っていると考えています。

