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 を選択することができます。
コメントを残す