SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

目的に応じて適材適所で使うPHPライブラリ

GPS携帯を使った口コミサイト構築 - Google Map上に投稿データを展開する -

目的に応じて適材適所で使うPHPライブラリ(4)


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は次のように呼び出します。

[リスト21]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から取得しています。地図の画像表示部分は次のようになります。

[リスト22]mobile.php(抜粋)
<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の登場で個人レベルでも位置情報を伴ったアプリケーションの作成、位置情報と他サービスを組み合わせたマッシュアップコンテンツの作成が非常に容易になっていると思います。

 携帯電話はほぼ全世代でいつも身近にある情報端末なので、位置情報取得と表示の容易さは地域・災害・交通といった生活に密着したアプリケーションの作成について大きな可能性を持っていると考えています。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
目的に応じて適材適所で使うPHPライブラリ連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 片渕 彼富(カタフチ カノトミ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/4833 2010/03/03 11:53

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー