Google Maps APIで日本の住所から緯度・経度を求める方法
[追記: 2006/12/08] 日本でも Google Maps API でのジオコーディングが正式にサポートされました。下記は Google AJAX Search API を利用したジオコーディングの方法です。
Google Maps API のクラスを使う方法は「Google Maps APIで地名から緯度・経度が取得可能に」をご覧ください。
以前のエントリーでも触れていますが、ちゃんと書いておこうかと思います。Google Maps API標準のジオコーディングクラスが日本に対応するまでの応急措置です。
ジオコーディングにはGoogle AJAX Search APIのローカル検索を利用します。
1. http://code.google.com/apis/ajaxsearch/のページにある「Sign up for a Google AJAX Search API key」をクリックして、APIキーを取得します。
2. Google Maps APIと同じように、HEADタグ内に以下のスクリプトを記述します。パラメータkeyには1.で取得したAPIキーを指定します。
<script src=”http://www.google.com/uds/api?file=uds.js&v=0.1&key=YourAPIKey” type=”text/javascript”></script>
3. 以下のようなスクリプトを書きます。
// GlocalSearchオブジェクトを生成 var gls = new GlocalSearch(); // 検索完了時のコールバック関数をセット gls.setSearchCompleteCallback(null, onLocalSearch); // qはフォームのテキストエリアの値 function localSearch(q) { gls.execute(q); return false; } // 検索完了時に呼ばれるコールバック関数 function onLocalSearch() { if (gls.results.length == 0) return; // 検索結果の1番目を取得 var first = gls.results[0]; // その結果の緯度・経度を地図の中心にセット var lat = parseFloat(first.lat); var lng = parseFloat(first.lng); map.setCenter(new GLatLng(lat, lng)); // マーカーを立てたり var marker = new GMarker(new GPoint(lng, lat)); map.addOverlay(marker); marker.openInfoWindow(first.html.cloneNode(true)); }
このローカル検索のAPIは、地図と組み合わせて色々とできそう(まぁまだちゃんと調べていないけど)なので、APIの詳しいドキュメントは以下を参照してください。
・Google AJAX Search API Documentation
はじめまして。
Google Ajax Search でジオコーディングする方法で、
日本の地名で検索できなくなってません?
ちょっと情報を探しています。
>>moriさん
はじめまして。あれ?確かに検索できなくなってますねぇ。
こっちのほうも仕様変更があったのでしょうか…。
はじめまして・・。
以前このサイトを知って、自分も同じように検索窓を作って遊んでました。使えなくなっちゃって残念です。
それに加えて、中心座標の緯度経度も取得できなくなってませんか?貴サイトでも左下のinput窓で・・。これはまた別??
>>tenさん
はじめまして。ジオコーディングができなくなってがっかりですよね。
ところで中心座標ですが、特に問題なく取得できますよ。
私のとこでは表示させないようにしていました。
さっき表示するようにしたのでご確認ください。
すいません・・・
自分の思い込みでした。。
問題ないですね。
しかしジオコーディング・・・。
いつになりますかね~。
ジオコーディングはビジネスの問題が関わってそうな気がするので、難しいかもしれませんね。
住所+座標データを売ってるとこもあるでしょうから・・・。
現在、日本の地名でも検索できるようになりました。
どうやらこの件はただのバグだったようです(フォーラムによれば、他のGoogle Ajax Searchの機能でも言語の不具合が発生していたようです)
貴重な情報ありがとうございます!
お、復活したんですね!
今、この記事を見て、いったん削除した機能を復活させました。ありがとうございます。
おかげさまで、無事、サイト公開ができました。
遅まきながら復活したことに気が付きました。
皆様、貴重な情報ありがとうございました。