あまりにも書いてなかったので、こっちに書いてみる。

いろいろと物議を醸し出していたHTTP::MobileAgent::Plugin::LocatorをさっきCPANに上げました。もうしばらくしたらインデックスされると思います。

ちなみに、このモジュールはCodereposで管理しているため、なんかバグなど発見したら修正をしてもらっておkです。すでにリリースまでの間にid:tokuhiromがいろいろと修正してくれました。tokuhirom++。Coderepos++。

で、このモジュールはなんのためのモジュールかというと仕様の違う携帯4キャリアの位置情報を透過的に扱えるようにするためのものです。使い方は以下のようにするだけで簡単に緯度経度が取得できます。

use CGI;
use HTTP::MobileAgent;
use HTTP::MobileAgent::Plugin::Locator;

my $q = CGI->new;
my $agent = HTTP::MobileAgent->new;
my $location = $agent->get_location( $q );

print "lat is " . $location->lat;
print "lng is " . $location->lng;
この例ではCGI.pmのインスタンスをget_location()に渡してますが、paramメソッドがあるクラスのインスタンスであればget_location()の引数として渡せるので、Apache::Requestなどでも渡せます。

あと、egというディレクトリにlocation.incとrewrite.confというファイルがありますが、location.incはTTのシンタックスで書かれたファイルで、4キャリアでの位置情報を取得するためのページのフォームを出力するためのテンプレートになります。URIなどを適宜変更して使ってください。もう1つのrewrite.confはauで位置情報を取得する際の返ってくるURLをクエリ付きで渡すと、?が2つになってしまうというクソ仕様にApacheのrewriteで対応するためのconfになります。auで使う場合には必須です。

ということで、バグレポートじゃなかったコミット待っています。