« mt-sukeroku2 β3公開 | メイン | 修正版・Google Mapsを介して座標取得するPerlスクリプト »

Google Mapsを介して座標取得するPerlスクリプト

Google Maps APIで点処理をする際に必要になる座標データ。

APIにもこれを特定する系統のものがないのですが、これをチマチマ調べてるのも鬱陶しいだろうなということでGoogle Mapsに問い合わせて解決するという泥臭い方法をとってみました。

use strict;
use Jcode;
use LWP::Simple qw($ua get);
# ヨドバシカメラ梅田店の座標を取得
my $addr = jcode("大阪府大阪市北区大深町1-1")->utf8;
$addr =~ s/(\W)/'%' . unpack('H2', $1)/eg;
my $res = get("http://maps.google.co.jp/maps?q=$addr");
if($res =~ /<center lat="([0-9\.]+)" lng="([0-9\.]+)"\/>/si){
  my ($lat, $lng) = ($1, $2);
  print "$lat,$lng";
}

住所によるMaps検索のレスポンスデータ内にある中央座標の要素を横取りするというものです。

住所による検索がどの程度の精度で拾えるかというのが一番の問題かも(笑)

トラックバック

このエントリーのトラックバックURL:
http://hsj.jp/blog/mt-tb.cgi/1234

この一覧は、次のエントリーを参照しています: Google Mapsを介して座標取得するPerlスクリプト:

» 修正版・Google Mapsを介して座標取得するPerlスクリプト 送信元 ささやかなる実験場の開発室(HSJ.jp)
先日のスクリプトだと住所が特定できない場合に福井県沖の座標が帰ってくるというバグがありましたので、その辺を修正。 あと緯度経度がマイナスのことも考慮していなかった(国内だとありえんけど)。 use strict; use Jcode; use LWP::Simple qw($ua get); # ヨドバシカ... [詳しくはこちら]

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2005年07月14日 19:11に投稿されたエントリーのページです。

ひとつ前の投稿は「mt-sukeroku2 β3公開」です。

次の投稿は「修正版・Google Mapsを介して座標取得するPerlスクリプト」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type