F.Ko-Jiの「一秒後は未来」ではウェブやSEO、API、RSSといった技術的ネタから、ちょっとした豆知識や梅酒、エンタメ系まで様々な情報を不定期にお届けしています。

Google Maps APIで日本の住所から緯度・経度を求める方法 < Google Maps API < F.Ko-Jiの「一秒後は未来」 < fkoji.com

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 APIでの実装、参考にしてもらいました。やってて思ったのですが、検索結果の2つ目以降って、よくわからない英語の地名が帰ってきません?

例えば、「東京ディズニーランド」で検索すると、
gLocalSearch.results[0].xxx
:東京ディズニーランド

これはいいとして・・・、

gLocalSearch.results[1].xxx
:Mama's on Washington Square:United States:San Francisco

みたいな・・。
やけにサンフランシスコが多くて笑えますよ。

あと、東京大学を検索すると・・・。

>>k-matsuさん
はじめまして。現状、日本の地名は0個または1個しか返ってこないようですね。gLocalSearch.setCenterPoint(location)を使ってローカル検索の基準位置を日本あたりにセットすれば、海外の地名は返ってこなくなります。それでも日本の検索結果は0個か1個しか返ってこないようです。

gLocalSearch.setCenterPointに東京あたりの座標を入れて実行したら、サンフランシスコは出てこなくなりました!

クラスリファレンス見ると、そのようなことが書いてありました・・。

ありがとうございました。

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

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

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

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

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

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

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

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

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

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

コメントを投稿

(承認されるまでコメントは表示されません。)

Google Maps API

English version

「Google Maps 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の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... [詳しくはこちら]

このブログをRSSリーダーで簡単購読
Subscribe with livedoor Reader Add to Google My Yahoo!に追加 Subscribe with Fastladder Bloglinesで閲読登録 はてなRSSに追加 エキサイトリーダーに登録

タイトル:

URL:

リンク用HTMLタグ:

powered by Google Chart API

ケータイ会議4参加中
最近の注目記事
プロフィール
F.Ko-Ji
F.Ko-Ji (Koji Fukunaga)

ウェブエンジニアだけど技術の深いとこにはあまり興味がなくて、さくっとアイデアを形にするのが好きです。ブログには自分のアンテナにひっかかったものを色々書いてます。

詳しいプロフィールはこちら
Twitter
梅酒.in
powered by 梅酒.in
えもにゅ

↑ 気持ち記録サービス「えもにゅ」です

月別アーカイブ


<< July 2009
SuMoTuWeThFrSa
 1234
567891011
12131415161718
19202122232425
262728293031 
人気エントリー
TopHatenar
グリムス
毎日の歩行記録
携帯からのアクセスは
QRコード
http://mob.fkoji.com/