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

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

  1. mori より:

    はじめまして。
    Google Ajax Search でジオコーディングする方法で、
    日本の地名で検索できなくなってません?
    ちょっと情報を探しています。

  2. F.Ko-Ji より:

    >>moriさん
    はじめまして。あれ?確かに検索できなくなってますねぇ。
    こっちのほうも仕様変更があったのでしょうか…。

  3. ten より:

    はじめまして・・。
    以前このサイトを知って、自分も同じように検索窓を作って遊んでました。使えなくなっちゃって残念です。
    それに加えて、中心座標の緯度経度も取得できなくなってませんか?貴サイトでも左下のinput窓で・・。これはまた別??

  4. F.Ko-Ji より:

    >>tenさん
    はじめまして。ジオコーディングができなくなってがっかりですよね。
    ところで中心座標ですが、特に問題なく取得できますよ。
    私のとこでは表示させないようにしていました。
    さっき表示するようにしたのでご確認ください。

  5. ten より:

    すいません・・・
    自分の思い込みでした。。
    問題ないですね。
    しかしジオコーディング・・・。
    いつになりますかね~。

  6. F.Ko-Ji より:

    ジオコーディングはビジネスの問題が関わってそうな気がするので、難しいかもしれませんね。
    住所+座標データを売ってるとこもあるでしょうから・・・。

  7. mori より:

    現在、日本の地名でも検索できるようになりました。
    どうやらこの件はただのバグだったようです(フォーラムによれば、他のGoogle Ajax Searchの機能でも言語の不具合が発生していたようです)

  8. F.Ko-Ji より:

    貴重な情報ありがとうございます!

  9. k-matsu より:

    お、復活したんですね!
    今、この記事を見て、いったん削除した機能を復活させました。ありがとうございます。
    おかげさまで、無事、サイト公開ができました。

  10. SeaGate より:

    遅まきながら復活したことに気が付きました。
    皆様、貴重な情報ありがとうございました。

コメントを残す

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

著者について

fkoji

F.Ko-Ji

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

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