| gmaps.v3.js - 概要 動作確認: ○IE6SP2,IE8(WinXP) ○Firefox3(WinXP) ○Opera10(WinXP) |
Last Update: May.25,2011 |
Google Maps API が、V2 から V3 にバージョンアップされました。しかし仕様が大きく変更されたために、ソースに互換性がありません。V2 は2013年頃までは使えるようですが、既に「Deprecated(非推奨)」と表示されています。そこで、需要があるかどうかは分かりませんが、V2 で書かれたグーグルマップのプログラムを出来るだけソースを変更しないで V3 化するライブラリを書いてみようと考えました。JavaScript の継承を利用して、V3 のクラスから、V2 と同名のクラスを派生させたりなど、色々な方法を試しましたが、結局、素直に V3 のオブジェクトを V2 と同名のクラスでラッピングする方法に落ち着きました。たとえば、
var GMap2 = function(node) {
this.v3 = new google.maps.Map(node);
};
とします。これにより、以下のようなソースが書かれていれば、
var map = new GMap2(document.getElementById("map_canvas"));
内部では、V3 の google.maps.Map オブジェクトが生成されるわけです。この方法の欠点は、丸々コーディングしなければならず、面倒な上にファイルサイズも大きくなってしまうことです。
正直、動けばいいや的な実装で、かなり逃げているところがあります。
実は、V2 と V3 では、機能面でも互換性がない部分があり、また、現在の V3 では、V2 で出来たことのいくつかが出来なくなっています。たとえば、
具体的には、「Google にある V2 のサンプル」でテストした結果について、「サンプル対応表」に簡単にまとめてあります。一部、元のサンプルに手を加えている部分もあるので、ソースも含めて見比べてみてください。
使い方は簡単です。V2 の API を呼び出している部分
<script type="text/javascript" src="http://maps.google.com/maps?file=api&v=2&key=XXXXXXXX"></script>
を、V3 の API の呼び出しコード
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
に置き換え、その下に gmaps.v3.js を呼び出すコードを入れるだけです。
<script type="text/javascript" src="gmaps.v3.js" charset="utf-8"></script>
gmaps.v3.js (文字コードは UTF-8)
| 戻る | Copyright (c) 2010, 2011 AOK. All Rights Reserved. |