WINGSプロジェクト 片渕 彼富 [著] 山田 祥寛 [監修] 2010/02/25 14:00

サンプルファイル 8.91 KB

 本記事では、携帯3キャリアの違いを超えてGPS情報を取得できるライブラリ「PEAR::Net_UserAgent_Mobile_GPS」を用いて、携帯電話からGPS位置情報を取得する方法を説明します。

1 2 3 4 5 6 7 →

はじめに

 前回は送信元メールアドレスにGPS位置情報取得URLをメールで返信するところまで説明しました。

 今回は携帯電話からGPS位置情報を取得する方法を、携帯3キャリアの違いを超えてGPS情報を取得できるライブラリ「PEAR::Net_UserAgent_Mobile_GPS」を用いて説明し、投稿情報と位置情報をDBに保存してGoogle Maps上に展開し、PC、携帯から閲覧できる部分をサンプルを交えながら説明します。

今回作成するシステム概要
今回作成するシステム概要

対象読者

  • PHPでのWEBアプリケーション開発について基本的なことを理解している方

サンプルアプリケーションの概要

 サンプルアプリケーションのファイル構成は、次の表のとおりとなります。すべて同じディレクトリに配置しています。

サンプルアプリケーションのファイル構成
ファイル名概要
gps.php口コミ投稿メールに返信されるURLのアクセス先。GPS位置情報取得URLを出力する
confirm.phpgps.phpからの遷移先。GPS位置情報を取得後に住所情報と投稿内容を表示して投稿の確認を行う
post.phpconfirm.phpからの遷移先。緯度、経度、住所情報をformから取得して、投稿情報のテーブルを更新する
pc_map.php投稿情報をGoogle Maps上に展開する。PCからの閲覧用
mobile_map.php投稿情報をGoogle Maps上に展開する。携帯からの閲覧用
config.phpDB接続情報、Google Maps APIキーの設定情報を記載しておく設定ファイル
Util.class.php逆ジオコーディングやhashの読み書きを行うクラス

 表の上のファイルより順を追って説明していきます。

動作確認環境

 PHPが動作する環境に加え、メールサーバーが動作する環境が必要になります。

  • CentOS 5.3
  • Httpd 2.0.61
  • PHP 5.3.0
  • Postfix-2.6.2
  • MySQL 5.0.67
  • GPS対応の携帯電話

事前準備

 ライブラリのインストールは以下のコマンドで行います。

 Net_UserAgent_Mobile_GPSはまだ安定版ではないので「-f」をつけて強制インストールします。

# pear install -f Net_UserAgent_Mobile_GPS

 サンプル実行の際にはGoogle Mapsを利用するので、Google Maps APIのページよりMaps APIキーを取得してください。

 今回利用するGoogle Maps APIは以下のものになります。

今回利用するGoogle Maps API
API名概要
Google Maps JavaScript APIAjaxを使ったGoogle MapsをWebページに埋め込むためのAPI
Google Static Maps APIAjaxを使わずに画像としてGoogle Mapsを表示するためのAPI
逆ジオコーディング地図上のポイント(緯度、経度)を住所に変換するAPI

 サンプルの実行にあたっては前回と同様にディレクトリやドメイン名は実行環境に応じて読み変えてください。


プロフィール
WINGSプロジェクト 片渕 彼富 カタフチ カノトミ

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


プロフィール
山田 祥寛 ヤマダ ヨシヒロ

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。
主な著書に「入門シリーズ(サーバサイドAjax/XMLDB/PEAR/Smarty)」「独習シリーズ(ASP.NET/PHP)」「10日でおぼえる入門教室シリーズ(ASP.NET/PHP/Jakarta/JSP&サーブレット/XML)」「Pocket詳解辞典シリーズ(ASP.NET/PHP/Perl&CGI)」「今日からつかえるシリーズ(PHP/JSP&サーブレット/XML/ASP)」「書き込み式 SQLのドリル」他、著書多数


記事へのコメント・トラックバック機能は2011年6月に廃止させていただきました。記事に対する反響はTwitterやFacebook、ソーシャルブックマークサービスのコメントなどでぜひお寄せください。

スポンサーサイト