Twitxrの位置情報をなんとかしたい
最近Twitterに写真をPOSTするためにTwitxrを使っているのだけれど、今使っている携帯電話がGPSがついていないため(DoCoMoSO703i)位置情報を手で入力しなければならないのが面倒*1
で、こんな感じでどうにか補ってますよ的な記事をhttp://twitter.g.hatena.ne.jp/natu_n/20080428で書いたりしたのですが、やっぱり技術的な話はこちらの方が書きやすそうなので続きはこちらで
緯度経度で位置を指定できるのはいいけどGPSではなく基地局との距離?で持って来るので精度が良くない事があるのと地番とかが要らない場合に修正したいなと思いつつだいぶ放置していました
朝何となくLDRの記事を眺めていたらhetappiさんの[id:hetappi:20080502:1209745636]記事経由でという記事を発見、早速自分の家の緯度経度を与えると地番までキッチリあっていました。
それを踏まえて、テキストボックスに返って来た住所を表示するようにしてみたのだが
#!/usr/bin/perl use FindBin::libs; use strict; use warnings; use Readonly; use KCatch qw( source ); use Geo::Coordinates::Converter; use CGI; use XML::TreePP; Readonly my $URL_1 => "http://nishioka.sakura.ne.jp/google/ws.php?lon="; Readonly my $URL_2 => "&lat="; Readonly my $URL_3 => "&format=simple"; my $q = new CGI; my $LAT = $q->param('LAT'); my $LON = $q->param('LON'); my $GEO = $q->param('GEO'); my $XAC = $q->param('XACC'); my $geo = Geo::Coordinates::Converter->new( lat => $LAT, lng => $LON ); my $point = $geo->convert( 'degree' ); my $value = $point->lat . "," . $point->lng; my $tpp = XML::TreePP->new(); my $tree = $tpp->parsehttp( GET => $URL_1 . $point->lng . $URL_2 . $point->lat . $URL_3 ); my $adr = $tree->{geometry}->{point}->{address}; print $q->header( -type => 'charset=utf-8' ), $q->start_html, $q->start_form, $q->textfield( -value => $value ), $q->textfield( -value => $adr ), $q->end_form, $q->p( $XAC ), $q->end_html;
テキストボックスの中だと文字が上手く表示されない事(というかescapeHTMLしている)の対処を思案中*2