DownImgs.pm
これは何?
gm_liteのdownimgs.pl相当をperlモジュール化してみました。pgmapでも使っています。
内部でwget等は使っていません(perlのLWPモジュールでアクセスしています)。
本ドキュメントもまだ殴り書きです。ぼちぼち整えていきます。
ダウンロード
DownImgs.pm
使い方
サンプル1 (標準的な使い方)
use DownImgs;
my $downimgs = DownImgs->new;
$downimgs->fetchver or die "cannot obtain Gmap version\n"; # バージョン取得
$downimgs->down_map1( 13, 50, 25 ); # zoom=13, x=50, y=25の地図を取得
サンプル2 (カスタマイズ例)
use DownImgs;
my $downimgs = DownImgs->new(
agent => 'Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)',
timeout => 5,
output => 'return' );
$downimgs->setver( 117 ); # バージョンを固定値で設定
my $image = $downimgs->down_map1( 13, 50, 25, 1 ); # zoom=13, x=50, y=25の地図をサーバ1から取得
open my $out, '>', 'mapimage.png' or die $!; # 指定ファイルに保存
binmode $out;
print $out $image;
close $out;
初期化オプション
- agent
HTTPアクセスでのユーザエージェント
- timeout
HTTPアクセスでのタイムアウト(秒)
- base_dir
imgsディレクトリ名
- output
'file' or 'return'。'file'なら地図をファイルに保存、'return'なら地図を戻り値で返す
Method
- fetchver
GMapのバージョンを取得し、オブジェクトに保存する。戻り値はバージョン番号。undefなら取得失敗。
- getver
取得したGMapのバージョンを返す。
- setver( version )
GMapのバージョンを'version'に設定する。
- down_map1( zoom, x, y, index )
[zoom, x, y]の地図を取得する。取得先のサーバはindexで指定(0-3)。'indexは'省略も可能。その場合は、0-3の値がアクセス順に使われる。本メソッドを呼ぶ前に、fetchverあるいはsetverでのバージョン設定が必要。取得した地図画像は、オブジェクトのパラメータ'output'によって保存あるいは、戻り値によって返される。'output'が'file'の場合には、imgs/ab/cd/ef/gh/.../xy.png(a,b,..等は数値)に保存される。imgsディレクトリがない場合は、自動生成される。ファイルが存在する場合は上書き。成功時には1を、失敗時にはundefが帰る。'output'が'return'の場合には、戻り値が画像データとなる。失敗時にはundef。
- geocoding( address )
Geocodingにより、address->LNG,LATを返す。addressはUTF-8 encodingが必要(なはず)。fetchver等でのバージョン設定は不要。
その他
コメント等もこちらへどうぞ。
→ Go to Blog
掲示板もあります。
→ Go to BBS