SHOEISHA iD

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

連載記事

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

翔泳社では、「独習」「徹底入門」「スラスラわかる」「絵で見てわかる」「一年生」などの人気シリーズをはじめ、言語や開発手法、最新技術を解説した書籍を多数手がけています。プロジェクトマネジメントやチームビルティングといった管理職向けの書籍も豊富です。

ITエンジニアとしてのスキルアップ・リスキリングに、ぜひお役立てください。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
目的に応じて適材適所で使うPHPライブラリ

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

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


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

ダウンロード サンプルファイル (8.7 KB)

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

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

はじめに

 前回は送信元メールアドレスに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

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

会員登録無料すると、続きをお読みいただけます

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

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

メールバックナンバー

次のページ
今回の作成範囲

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
目的に応じて適材適所で使う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 X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

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

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

この記事をシェア

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

おすすめ

アクセスランキング

  1. 1
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  2. 2
    オープンソーステキストエディタ「Emacs 30.1」リリース NEW
  3. 3
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  4. 4
    C++からRustに移行した「Fish Shell 4.0」、正式リリース NEW
  5. 5
    ソフトウェアエンジニアの業務効率化を支援する「Kurogo」、フルリニューアルでコード検索機能とWeb情報収集機能が追加
  1. 6
    モバイルデバイス向けのLinux Sailfish OS、バージョン5.0を発表
  2. 7
    【超時短テクニカルライティング】生成AIを活用しながら文章を見直して、よりわかりやすい文章にしよう
  3. 8
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──React Server Componentsとその他の改善点
  4. 9
    ゲーム業界で働くプログラマ・エンジニア、8割超が現在の職場のスキル評価に満足
  5. 10
    Webはどんどん複雑になっている? これまでのWebシステムのトレンドを振り返る

アクセスランキング

  1. 1
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  2. 2
    オープンソーステキストエディタ「Emacs 30.1」リリース NEW
  3. 3
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  4. 4
    C++からRustに移行した「Fish Shell 4.0」、正式リリース NEW
  5. 5
    ソフトウェアエンジニアの業務効率化を支援する「Kurogo」、フルリニューアルでコード検索機能とWeb情報収集機能が追加
  6. 6
    モバイルデバイス向けのLinux Sailfish OS、バージョン5.0を発表
  7. 7
    【超時短テクニカルライティング】生成AIを活用しながら文章を見直して、よりわかりやすい文章にしよう
  8. 8
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──React Server Componentsとその他の改善点
  9. 9
    ゲーム業界で働くプログラマ・エンジニア、8割超が現在の職場のスキル評価に満足
  10. 10
    Webはどんどん複雑になっている? これまでのWebシステムのトレンドを振り返る
  1. 1
    ITエンジニア本大賞2025、技術書部門とビジネス書部門の大賞が決定!
  2. 2
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  3. 3
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  4. 4
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  5. 5
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  6. 6
    AIや統計の数式を解説する美少女VTuber「AIcia Solid Project」生みの親が語る、継続できるアウトプット活動とは?
  7. 7
    Linuxディストリビューション「EndeavourOS Mercury」が一般提供開始
  8. 8
    ITエンジニア本大賞2025のプレゼン大会をレポート、最終決戦に臨んだ本に込められた想いとは
  9. 9
    開発者のOSS活動が会社から評価される世の中にしたい──日立製作所が専門組織設立に込めた情熱
  10. 10
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開

イベント

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

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

メールバックナンバー

アクセスランキング

  1. 1
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  2. 2
    オープンソーステキストエディタ「Emacs 30.1」リリース NEW
  3. 3
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  4. 4
    C++からRustに移行した「Fish Shell 4.0」、正式リリース NEW
  5. 5
    ソフトウェアエンジニアの業務効率化を支援する「Kurogo」、フルリニューアルでコード検索機能とWeb情報収集機能が追加
  1. 6
    モバイルデバイス向けのLinux Sailfish OS、バージョン5.0を発表
  2. 7
    【超時短テクニカルライティング】生成AIを活用しながら文章を見直して、よりわかりやすい文章にしよう
  3. 8
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──React Server Componentsとその他の改善点
  4. 9
    ゲーム業界で働くプログラマ・エンジニア、8割超が現在の職場のスキル評価に満足
  5. 10
    Webはどんどん複雑になっている? これまでのWebシステムのトレンドを振り返る

アクセスランキング

  1. 1
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  2. 2
    オープンソーステキストエディタ「Emacs 30.1」リリース NEW
  3. 3
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  4. 4
    C++からRustに移行した「Fish Shell 4.0」、正式リリース NEW
  5. 5
    ソフトウェアエンジニアの業務効率化を支援する「Kurogo」、フルリニューアルでコード検索機能とWeb情報収集機能が追加
  6. 6
    モバイルデバイス向けのLinux Sailfish OS、バージョン5.0を発表
  7. 7
    【超時短テクニカルライティング】生成AIを活用しながら文章を見直して、よりわかりやすい文章にしよう
  8. 8
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──React Server Componentsとその他の改善点
  9. 9
    ゲーム業界で働くプログラマ・エンジニア、8割超が現在の職場のスキル評価に満足
  10. 10
    Webはどんどん複雑になっている? これまでのWebシステムのトレンドを振り返る
  1. 1
    ITエンジニア本大賞2025、技術書部門とビジネス書部門の大賞が決定!
  2. 2
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  3. 3
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  4. 4
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  5. 5
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  6. 6
    AIや統計の数式を解説する美少女VTuber「AIcia Solid Project」生みの親が語る、継続できるアウトプット活動とは?
  7. 7
    Linuxディストリビューション「EndeavourOS Mercury」が一般提供開始
  8. 8
    ITエンジニア本大賞2025のプレゼン大会をレポート、最終決戦に臨んだ本に込められた想いとは
  9. 9
    開発者のOSS活動が会社から評価される世の中にしたい──日立製作所が専門組織設立に込めた情熱
  10. 10
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開