F.Ko-Jiの「一秒後は未来」

Google Maps APIのジオコーディングをサーバーサイドでおこなう方法

Google Maps API のジオコーディングは GClientGeocoder クラスを使う方法しかないのかなと思っていたのですが、英語のドキュメントを見ると HTTP 経由でもできるみたいです。

簡単に説明すると、以下のような URL でその地名に対するジオコーディング結果を取得することができます。

http://maps.google.com/maps/geo?q=地名&key=APIキー&sensor=false&output=xml&oe=utf8&gl=jp

以下に地名から緯度経度を取得するPHPのサンプルコードを記しておきます。詳しくは「Geocoding – Google Maps API Services – Google Code」のドキュメントを参照してください。

$queries = array();
$queries['q'] = '東京';
$queries['key'] = GOOGLE_AJAX_API_KEY;
$queries['sensor'] = 'false';
$queries['output'] = 'xml';
$queries['oe'] = 'utf8';
$queries['gl'] = 'jp';
$url = 'http://maps.google.com/maps/geo?' . http_build_query($queries);
$res = simplexml_load_file($url);
if ($res->Response->Status->code != 200) {
    exit;
}
$latLng = $res->Response->Placemark->Point->coordinates;

出力形式には xml 以外に kml, csv, json を選択することができます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など