【Google Maps】Google Maps のバージョン2に対応するリファレンスの意訳とサンプル
【Google Maps】Google Maps のバージョン2に対応するリファレンスの意訳とサンプルを追加しました。
Google Mapsのv2では、かなりの数のクラスが追加されているだけではなくて、いろいろ細かな変化がありますので、v2として使う場合は注意が必要です。
APIキーについては、v1では、たとえば
<script src="http://maps.google.com/maps?file=api&v=1&key=自分のキー...
となっていた、
v=1の部分を
v=2にすることで動作します。
地図のインスタンスは、
v1では、
var map = new GMap(document.getElementById("map"));
のように書きましたが、
v2では、
var map = new GMap2(document.getElementById("map"));
GMapクラスが
GMap2クラスに変ります。
また、
centerAndZoomは無くなり、代わりに
setCenterというメソッドが追加されました。
また、
Zoom値は小さくなるほど広域になるように変わりました。
newZoom = 17 - oldZoom
です。
更に、v1では、
GPointで地理的座標、つまり経緯度を扱っていたのが、v2として書く場合には、
GLatLngを使う仕様に変っています。
特に、
GPointとGLatLngでは、引数の経緯度の順序が逆になることに注意が必要です。
たとえば、
new GPoint(139.7454,35.6587);
と書いていたものは、
new GLatLng(35.6587,139.7454);
と書きます。
簡単な例を挙げると、
var map = new GMap(document.getElementById("map"));
map.centerAndZoom(new GPoint(139.7454, 35.6587), 1);
こう書いていたものが、
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(35.6587,139.7454), 17);
こうなります。
将来どうなるかは、まだわかりませんが一応v1のサポートは続いています。ただし、v1.31以降バージョンアップはされていません。v2の最新バージョンは2.56になっています(2006.8.5現在)。
具体的には、各リファレンスに添えたサンプルをご参照下さい。
また、バージョンの更新履歴は、下記などで確認できます。
Google Maps API Version 2 Upgrade Guide
http://www.google.com/apis/maps/documentation/upgrade.html
オフィシャルブログ
http://googlemapsapi.blogspot.com/
Google Maps /wiki/Changelog
http://www.mapki.com/wiki/Changelog
追記 その他の v1→v2
var bounds = map.getBoundsLatLng();
var width = bounds.maxX - bounds.minX;
var height = bounds.maxY - bounds.minY;
↓
var bounds = map.getBounds();
var height = bounds.getNorthEast().lat() - bounds.getSouthWest().lat();
var width = bounds.getNorthEast().lng() - bounds.getSouthWest().lng();
#あと、v2に限りませんが、たとえば、v2.58で動作していたスクリプトがv2.59で動作しない(
【Google Maps】Bug at v2.59,2.6. G_SATELLITE_MAPのバグ )ということがありますので、
業務で使うときには、APIのURLクエリには「v=2」ではなく「v=2.58」と有効バージョンを明示した方がよい かもしれません。