2005年12月5日月曜日

企業検索ComSearch / Google Maps API

遅ばせながら、企業検索ComSearchの上場企業の住所と、Google Maps APIを連携させてGoogle Mapsを表示できるようにしました。
といってもそれ程価値はない様な気もしますが、まあ自己満足ぐらいです。
さて、当初、住所から簡単に緯度、経度をどこかから拾ってきて、あとは、APIに委ねたら簡単に表示するだろうと思っていたのですが、これがなかなかだめで、どうしてもmap.yahoo.co.jpやwww.mapfan.comで見たのとだいぶ位置がズレてしまいます。


そこで、調べてみたところ、”APIにおける世界測地系”なるGoogle-Maps-API-Japanのエントリーがありました。
測地系なるものがあり、map.yahoo.co.jp(日本測地系)やwww.mapfan.comで扱っている、緯度、経度とは違うようで、世界測地系にしないといけない。さらに補正が必要とのこと。
ここで、紹介されている、
GPoint = function (a,b){
this.y = b - b * 0.00010695 + a * 0.000017464 + 0.0046017;
this.x = a - b * 0.000046038 - a * 0.000083043 + 0.010040;
}
を適用して、ほぼ正確に表示できるようになりました。(でも数メートルの誤差はあるらしい。)
http://search.picolix.jp/search/のGマークをクリックすると別窓で開きます。
このあたりの計算&検証は、全国ロケ地ガイドさんが詳しいです。
http://loca.ash.jp/htm/latitude.htm
表示サンプル:住所:大阪府大阪市中央区城見1-4-24
Google Maps APIで作成
map1.jpg
maps.google.co.jpで検索後表示
map2.jpg
マップファン:www.mapfan.comで検索後表示
map3.jpg
ズレの違いがわかるかと思います。

0 件のコメント:

コメントを投稿