2013年10月11日金曜日

Google Maps APIのGeocodingリクエストのパラメータが変更になっていた

2013年6月あたりに作成したアプリで使用していたGeocoding(逆Geocoding)の機能が働かなくなっていた。

調べてみるとリクエストのパラメータが変更されたことが原因のようだ。

2013年10月10日現在でのGoogle Maps APIの最新版はV3。
リクエストの書式については以下の公式ページを参照のこと。
https://developers.google.com/maps/documentation/geocoding/?hl=ja#GeocodingRequests


例を挙げておく。
簡単な例だが、住所や名称から経緯度を取得したり、経緯度から住所を取得する分には十分と思われる。

・住所、名称から経緯度を取得
http://maps.googleapis.com/maps/api/geocode/xml?address=住所または名称&language=ja&sensor=false
(注:住所または名称にはURLエンコード(UTF-8で)した文字列を入れる。)
/*
「札幌市」の場合

http://maps.googleapis.com/maps/api/geocode/xml?address=%e6%9c%ad%e5%b9%8c%e5%b8%82&sensor=false

*/
・経緯度から住所を取得
http://maps.googleapis.com/maps/api/geocode/xml?latlng=緯度,経度&sensor=false
(注:経度、緯度に数値を入れる)
/*
「札幌市」の経緯度を指定した場合

http://maps.googleapis.com/maps/api/geocode/xml?latlng=43.0620958,141.3543763&sensor=false

*/
それぞれの例をブラウザのアドレス欄にコピーして移動すると、レスポンスが表示されるので試してみてほしい。

レスポンスのフォーマットはxmlかjsonのどちらかを選択できる。

C#でWebClientクラスを使ってリクエストを送信し、受け取ったレスポンスを用途に応じて適宜処理する。

0 件のコメント:

コメントを投稿