SHOEISHA iD

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

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

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

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

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


  • このエントリーをはてなブックマークに追加

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

  • このエントリーをはてなブックマークに追加

はじめに

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

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

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

対象読者

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

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

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

サンプルアプリケーションのファイル構成
ファイル名 概要
gps.php 口コミ投稿メールに返信されるURLのアクセス先。GPS位置情報取得URLを出力する
confirm.php gps.phpからの遷移先。GPS位置情報を取得後に住所情報と投稿内容を表示して投稿の確認を行う
post.php confirm.phpからの遷移先。緯度、経度、住所情報をformから取得して、投稿情報のテーブルを更新する
pc_map.php 投稿情報をGoogle Maps上に展開する。PCからの閲覧用
mobile_map.php 投稿情報をGoogle Maps上に展開する。携帯からの閲覧用
config.php DB接続情報、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 API Ajaxを使ったGoogle MapsをWebページに埋め込むためのAPI
Google Static Maps API Ajaxを使わずに画像としてGoogle Mapsを表示するためのAPI
逆ジオコーディング 地図上のポイント(緯度、経度)を住所に変換する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本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

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

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

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4833 2010/03/03 11:53

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング