00:00本連載では、Perlによる携帯サイトを構築する上で役立つ、さまざまなTipsを解説していきます。第3回は、各携帯キャリアにおける位置情報の送信・取得方法を紹介します。位置情報検知サービスパラメータの引継ぎまとめはじめにご存知の通り、携帯端末には現在地の位置情報を基地局ベース、もしくはより精度の高いGPSを使用して送信する機能がついています。この機能を使用して、現在いる場所の地図を表示したり、最寄り駅を表示したりするサービスが各社から提供されています。位置情報の送信・取得方法はキャリアごとに異なりますが、仕様さえ理解すれば個人で運用しているサイトにも簡単に導入できます。試したことのない方は、この機会にぜひお試しください。対象読者PerlでCGIアプリケーションを作成したことがあり、位置情報を利用したい方。5.8以上が動作する環境。「オープンiエリア」ドコモが提供する基地局ベースのエリア送信サービスで、すべてのiモード対応端末で利用できます。作ろうiモードコンテンツ:オープンiエリア」で仕様が公開されています。下記のパラメータをドコモの位置情報取得用のURL(http://w1m.docomo.ne.jp/cp/iarea)に送信することで端末から位置情報を送信できます。value="送信"></form>nlで指定した遷移先URLにPOSTリクエストでエリアコード(AREACODE)が渡されます。オープンiエリアでは位置情報を日本全国を505のエリアに分けた5桁のエリアコードで表します。arg1、arg2にパラメータを付加しておけば指定したパラメータ名と値が引き継がれ渡されます。「簡易位置情報」EZwebで提供する簡易的に位置情報が分かるサービスです。EZweb対応端末(auの一部端末、ツーカーを除く)で利用可能です。EZfactory:簡易位置情報」で仕様が公開されています。deviceスキームを使用し、urlパラメータに遷移先URLを指定して位置情報を送信します。$q->header(-charset=>'Shift_JIS'),<<END;<html><body>latitude:$lat<br>longitude:$lon<br></body></html>ENDYahoo!ケータイステーション(エリアに密着した情報を自動的に受信するYahoo!ケータイのサービス)対応端末で利用できます。C2型、W型は非対応です。C3型の一部端末、3GC型の一部端末も利用できません。HTML編」で仕様が公開されています。3GC型と3GC型以外とで位置情報の取得方法が異なるので注意してください。3GC型以外<form>または<a>タグにz属性を付けるだけで位置情報を送信できます。value="送信"></form>遷移先のプログラムで環境変数「X-JPHONE-GEOCODE」から位置情報を取り出します。X-JPHONE-GEOCODEは緯度(北緯aa度bb分cc秒の数値を繋げた値)、経度(東経ddd度ee分ff秒の数値を繋げた値)、住所文字列(URIエンコードされたShift_JISの文字列)を\x1aでつなげた文字列になっているので、これを区切って利用します。$q->header(-charset=>'Shift_JIS'),<<END;<html><body>latitude:$lat<br>longitude:$lon<br>address:$address<br>param1:$param1</body></html>END3GC型locationスキームを使用して位置情報を送信します。測位方法をcell(簡易位置情報による測位)、gps(GPSによる精度の高い測位)、auto(端末で優先されている測位方法で測位)から選べますが、autoにしておくのが無難でしょう。圧縮・解凍UNIX基本講座@CodeZine『CodeZine(コードジン)』の公式アカウントです。【NEW】デブスト2019デブサミ2019福岡・関西デブサミ2019夏デブスト関西デブサミ2019×ログインEメールパスワード※旧SEメンバーシップ会員の方は、同じ登録情報(Eメール&パスワード)でログインいただけます。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。