2005年9月29日

Google Maps の座標系を適当に計算する。→ API側で対応

彼岸花(ヒガンバナ)

 Google Maps の座標系は,APIで示されているものと,日本版の座標系が異なるので単純に座標を指定することができず,結構面倒なんです。ということで,楽にできる方法を探っています。

 具体的に,どうやって楽をしようかというと,日本の最北端と最南端,最東端と最西端のAPI系の座標を調べて,日本系の座標と突き合わせ,比例から座標を取りだそうという気楽な話です。はてなマップを使うと座標系を表示してくれるので便利なのですが,小数点以下が4桁しかないので誤差が大きいかも。ということで,生データをURIから拾ってみます。

 まず,最北端の礼文島のスコトン岬(x:45.461846 y:140.971005)

---

 という記事を書こうと思って作業していたら,APIの方というか,運用が変更されて,単純にURIに含まれている座標を指定すればいいように変更されたようです。

 具体的にいうと,新長田のティフィンというインド料理屋さんを Google Local で表示させるURI は,単純化すると,以下のようになります。
http://local.google.co.jp/maps?ll=34.652768,135.149345&spn=0.007487,0.006737

 34.652768が緯度,135.149345が経度の座標なんですが,以前はこれを日本の座標系に置き換えなけれないけませんでした。

 現在は,下のようにダイレクトに座標を放り込めば,ちゃんと表示されます。たぶん,spnが座標の誤差を吸収しているんだと思います(同じことを考えていた訳です)。

<div id='map' style='width: 400px; height: 150px'></div>
<script type="text/javascript">
//<![CDATA[

var map = new GMap(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.centerAndZoom(new GPoint(34.652768, 135.149345), 0);

//]]>
</script>
 

 手作業でしないと行けない部分が無くなってとても便利。簡単に地図を利用できるようになったので,いろいろ応用できそう。

 残念なことに,Google Map の API key は,ディレクトリ単位での認証なので,ディレクトリ毎に出力を変えられない Blogger では利用できないのが残念です。

 もうちょっと遊んでみよう。

 Google Maps API

[WEBトレンド・WEB関連総合技術・ニュース] [位置情報HACKS]

0 件のコメント: