[追記: 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の詳しいドキュメントは以下を参照してください。
前のエントリー: « 石川亜沙美のブログは6月30日まで
次のエントリー: ポッドキャストをきちんとiPodに転送してる人ってどれくらいいるんだろう? »
トラックバック
このエントリーのトラックバックURL:
この一覧は、次のエントリーを参照しています: Google Maps APIで日本の住所から緯度・経度を求める方法:
» Google Maps APIで日本のジオコーディングは使えなくなりました from F.Ko-Jiの「一秒後は未来」
「Google Maps APIで地名から緯度・経度が取得可能に」という記事にも書いた通り、Google Maps APIにジオコーディングができるクラス... [詳しくはこちら]
» Google AJAX Search APIとGoogle Maps APIを組み合わせる from F.Ko-Jiの「一秒後は未来」
GoogleからGoogle AJAX Search APIというAPIがリリースされています。Ajaxの技術を使ったGoogle検索フォームを誰でも自分... [詳しくはこちら]
» [Java][運動][Self] ジオコーディング from exisの日記
今更ですが、少し前はGoogle Maps APIからジオコーディングが使えていたんですね。。。 ジオコーディングが使えれば、manpowayに組み込も... [詳しくはこちら]
» Google AJAX Search APIでジオコーディング(こっちもダメじゃん) from SeaGate Blog
以前の記事で、 [詳しくはこちら]
» GoogleのAPIで緯度経度を求めることが結局できた! from CALTA PROJECT
CALTA MAP では、目的の地点を表示するための方法として、郵便番号検索、駅名検索、住所検索の機能を実装しています。
これらについては、東京大学空間情... [詳しくはこちら]
» 「Google Maps」のgeocoding裏技 from PHPのテクメモ
Google Mapsの日本のgeocoding(住所から緯度経度を取得)機能が削除されてはや1ヶ月。いまだに復旧されたという情報はない。いつかはできるよ... [詳しくはこちら]
» ちょびっとエンハンス from 今感じていること
って、これってβって言うより、pre-αですね。。
検索+ジャンプ機能を追加しました。地名を入れて「に行ってみる」を押してみて下さい。 [詳しくはこちら]
» gmapper.js from F.Ko-Jiの「一秒後は未来」
地名指定で簡単にGoogleマップを表示できるライブラリです。2時間で作ったので性能はあまり高くありません。 gmapper.jsのサンプル 使い方 1.... [詳しくはこちら]
» google map に無料で自分のお店や会社の地図を登録する方法 from 教えて!google 使用法
google map と連携して、場所やお店などが、検索できるのが、google map のひとつの機能のgoogle ローカルというサービス。また、go... [詳しくはこちら]
タイトル:
URL:
リンク用HTMLタグ:
powered by Google Chart API








コメント
はじめまして。Google AJAX Search APIでの実装、参考にしてもらいました。やってて思ったのですが、検索結果の2つ目以降って、よくわからない英語の地名が帰ってきません?
例えば、「東京ディズニーランド」で検索すると、
gLocalSearch.results[0].xxx
:東京ディズニーランド
これはいいとして・・・、
gLocalSearch.results[1].xxx
:Mama's on Washington Square:United States:San Francisco
みたいな・・。
やけにサンフランシスコが多くて笑えますよ。
あと、東京大学を検索すると・・・。
投稿者: k-matsu | 2006年06月27日 11:26
>>k-matsuさん
はじめまして。現状、日本の地名は0個または1個しか返ってこないようですね。gLocalSearch.setCenterPoint(location)を使ってローカル検索の基準位置を日本あたりにセットすれば、海外の地名は返ってこなくなります。それでも日本の検索結果は0個か1個しか返ってこないようです。
投稿者: F.Ko-Ji | 2006年06月27日 20:30
gLocalSearch.setCenterPointに東京あたりの座標を入れて実行したら、サンフランシスコは出てこなくなりました!
クラスリファレンス見ると、そのようなことが書いてありました・・。
ありがとうございました。
投稿者: k-matsu | 2006年06月27日 21:28
はじめまして。
Google Ajax Search でジオコーディングする方法で、
日本の地名で検索できなくなってません?
ちょっと情報を探しています。
投稿者: mori | 2006年06月29日 19:48
>>moriさん
はじめまして。あれ?確かに検索できなくなってますねぇ。
こっちのほうも仕様変更があったのでしょうか…。
投稿者: F.Ko-Ji | 2006年06月29日 20:38
はじめまして・・。
以前このサイトを知って、自分も同じように検索窓を作って遊んでました。使えなくなっちゃって残念です。
それに加えて、中心座標の緯度経度も取得できなくなってませんか?貴サイトでも左下のinput窓で・・。これはまた別??
投稿者: ten | 2006年07月03日 11:06
>>tenさん
はじめまして。ジオコーディングができなくなってがっかりですよね。
ところで中心座標ですが、特に問題なく取得できますよ。
私のとこでは表示させないようにしていました。
さっき表示するようにしたのでご確認ください。
投稿者: F.Ko-Ji | 2006年07月03日 21:38
すいません・・・
自分の思い込みでした。。
問題ないですね。
しかしジオコーディング・・・。
いつになりますかね~。
投稿者: ten | 2006年07月04日 12:38
ジオコーディングはビジネスの問題が関わってそうな気がするので、難しいかもしれませんね。
住所+座標データを売ってるとこもあるでしょうから・・・。
投稿者: F.Ko-Ji | 2006年07月04日 22:37
現在、日本の地名でも検索できるようになりました。
どうやらこの件はただのバグだったようです(フォーラムによれば、他のGoogle Ajax Searchの機能でも言語の不具合が発生していたようです)
投稿者: mori | 2006年07月07日 08:44
貴重な情報ありがとうございます!
投稿者: F.Ko-Ji | 2006年07月07日 09:01
お、復活したんですね!
今、この記事を見て、いったん削除した機能を復活させました。ありがとうございます。
おかげさまで、無事、サイト公開ができました。
投稿者: k-matsu | 2006年07月10日 01:32
遅まきながら復活したことに気が付きました。
皆様、貴重な情報ありがとうございました。
投稿者: SeaGate | 2006年07月17日 12:45