Google Maps APIでの日本の住所でのGeocordingはいまだ棚上げ状態ですが、一方で、Google Ajax Search を使う裏技(?)で代用している方も多いようです。CALTA MAPもこのGoogle Ajax Searchを使った検索機能を提供していますが、最近、Google Ajax Searchの検索結果が少し変わったようです。
みんなの水遊びMAPかバスでお出かけMAP で、画面左側の「ランドマークから地点を検索」を開くと、「駅名」と「ランドマーク」というラジオボタンがありますが、これを「ランドマーク」にチェックして、検索を行うと、Google Ajax Searchからの検索結果が表示されます。
例えば、ここに、「セブンイレブン」と入れて検索してみてください。すると、今表示されているエリアに近いセブンイレブンが検索結果として表示されます。「内科」とか「小学校」とかでもOKです。つまり、検索したいエリアを地図で表示しておいて、Google Ajax Searchの検索を行うと、探したいお店や施設などの検索ができてしまう、ということです。
もともとは、1件しか検索結果が返らなかったのですが、いつの間にか、こんな便利な使い方ができるようになっていました・・。
こんな感じです。
[js]
var gLocalSearch = new GlocalSearch();
var point = map.getCenter();//mapはGMap2クラスのインスタンス
var lat = point.y;
var lng = point.x;
gLocalSearch.setCenterPoint(new GLatLng(lat,lng));
gLocalSearch.setSearchCompleteCallback(
null,
function () {
var results = gLocalSearch.results;
for ( var i = 0 ; i < resuluts.count ; i ++ ) {
//最大4つ返ってきますので、resultを適当に・・・
var title = results[i].title; //title
var lng = results[i].lat; //経度
var lat = results[i].lat; //緯度
}
}
);
[/js]
2006/08/07追記:
何か、上記の機能ができなくなっているみたいです。Google側の仕様が変ってしまったのでしょうか?便利な機能だったので、残念です・・・。
2006/12/19追記:
Goole Maps APIの日本のGeocordingが使えるようになりましたので、もはやこの方法は必要ないですね。
この記事へのトラックバックURL: