Maps API の機能に加え、ビジネス向けのサポートが提供され、広告を管理できます。
このドキュメントでは、Google Maps API のバージョン 1 から 2006 年 4 月 3 日にリリースされたバージョン 2 にアップグレードする方法を説明します。2006 年 4 月 3 日以前に開発したサイトの場合、最新バージョンの API を使用するには、このドキュメントの指示に従ってサイトを更新する必要があります。
Maps API のバージョン 2 は、旧バージョンの API と 99% の下位互換を実現するように設計されています。バージョン 2 は新しいマップ クラスとして GMap2 を導入しています。これには新しいメソッド名で更新されたインターフェースが含まれます。古いマップ クラスである GMap は、バージョン 2 の API でも存続し、バージョン 1 の API と同じ文書化されたインターフェースが含まれます。ただし、バージョン 2 の API で導入された新しい機能のほとんどは、新しい GMap2 の地図インターフェースでのみ機能します。
この設計では、以下の 2 つのアップグレード パスがあります。
GMap インターフェースを使い続けます。v=1 の代わりに v=2 を参照するように Maps API <script> URL を更新することです。バージョン 2 は古い GMap インターフェースを保持しているので、理論上、サイトは変更しなくても引き続き機能します。しかし実際には、若干のデバッグが必要になる場合もあります。API のバージョン 1 とバージョン 2 との既知の非互換性のリストについては、非互換性のセクションを参照してください。また、問題が解決しない場合は、Maps API ディスカッション グループにご参加ください。GMap2 インターフェースにアップグレードします。GMap に代えて GMap2 を使用します。まず、v=1 の代わりに v=2 を参照するように Maps API <script> URL を更新し、その後、下記の詳細なGMap2アップグレード ガイドに従ってコードを更新します。バージョン 1 と 2 の API 間で文書化されていない機能の多くが維持されていません。これは、この新しいバージョンの API にアップグレードするサイトにとって最大のストレスになると考えられます。
どの Maps API サイトもアップグレードが必要です。バージョン 2 には Maps API の基礎部分に対する重要な拡張が多数含まれており、ほとんどのサイトが正常にアップグレードされれば、バージョン 1 は使われなくなります。
報告されるバグがどんなに少なくてもバージョン 1 とバージョン 2 は最低 1 か月間は共存し、移行に多くの問題や複雑な問題が報告された場合はバージョン 1 の存続延長を検討します。共存期間が終了すると、バージョン 2 が「デフォルト」となり、すべてのサイトは自動的にバージョン 2 を使用するようになります。問題は、Google Maps API ディスカッション グループにご報告ください。このサイトには Google のサポート スタッフもモデレータとして参加しています。
バージョン 1 とバージョン 2 の間で互換性のない文書化された機能には、わずかながら以下のようなものがあります。
GXslt ブラウザのサポートGXslt はネイティブ XSLT サポートを備えたブラウザのみをサポートするようになりました。Safari にはネイティブ XSLT サポートがないため、GXslt は Safari をサポートしなくなりました。Google のオープン ソース AJAXSLT ライブラリを使用すれば、お使いのアプリケーションにとって重要な動作を Safari で再生することができます。openInfoWindowXslt() メソッドGXslt の変更により、GMap と GMarker が openInfoWindowXslt() メソッドをサポートしなくなりました。setMapType)centerAndZoom の前に setMapType を呼び出すことができました。バージョン 2.0 では、地図の場所が初期化される前に setMapType を呼び出すことはできません。GMap2 にアップグレードする場合は、GMap2 で新しい setCenter メソッドを使用し、1 回のメソッド呼び出しで中心、ズーム レベル、マップ タイプを初期化することをお勧めします。GMap から GMap2 へのアップグレードGLatLng クラス地理的座標とピクセル座標が、GPoint と GLatLng という別のクラスとして表現されるようになりました。setCenter のようなメソッドが GPoint のインスタンスの代わりに GLatLng のインスタンスを使用するようになったため、GMap2 にアップグレードする場合、これを反映するためにメソッド呼び出しの多くを更新する必要があります。
バージョン 2 では、国際日付変更線を正しく順守する GLatLngBounds クラスも導入しています。
詳細については、クラス リファレンスを参照してください。
GMap2 のズーム レベル インデックスは、精細レベルではなく粗大レベルで 0 から始まります。これによって地図の解像度を自由に上げることができるようになり、高解像度の画像の導入が容易になります。古いズーム レベルと新しいズーム レベルは、以下の式で切り替えることができます。
newZoom = 17 - oldZoom
バージョン 2 の API では、マップ タイプ(地図、航空写真、地図+写真)に新しい名前が追加されました。
G_NORMAL_MAPG_SATELLITE_MAPG_HYBRID_MAPGMap インターフェースのメソッドの多くが、GLatLng クラスを使用する新しいメソッドに置き換えられ、新しい拡張可能な GMap2 インターフェースとの整合性が向上しました。コンストラクタ呼び出し、メソッド起動、イベント ハンドラは、下表に基づいて更新できます。
| タイプ | バージョン 1 |
|---|---|
| バージョン 2 | |
| コンストラクタ | GMap(container, mapTypes?, width?, height?) |
| GMap2(container, opts?) | |
| メソッド | GMap.getCenterLatLng() |
| GMap2.getCenter() | |
| メソッド | GMap.getBoundsLatLng() |
| GMap2.getBounds() | |
| メソッド | GMap.getSpanLatLng() |
| GMap2.getBounds() | |
| メソッド | GMap.getZoomLevel() |
| GMap2.getZoom() | |
| メソッド | GMap.centerAtLatLng(center) |
| GMap2.setCenter(center, zoom?, type?) | |
| メソッド | GMap.centerAndZoom(center, zoom) |
| GMap2.setCenter(center, zoom?, type?) | |
| メソッド | GMap.recenterOrPanToLatLng(center) |
| GMap2.panTo(center) | |
| メソッド | GMap.zoomTo(level) |
| GMap2.setZoom(level) | |
| メソッド | GMap.openInfoWindow(point, node, offset?, onopen?, onclose?) |
| GMap2.openInfoWindow(point, node, opts?) | |
| メソッド | GMap.openInfoWindowHtml(point, html, offset?, onopen?, onclose?) |
| GMap2.openInfoWindowHtml(point, html, opts?) | |
| メソッド | GMap.openInfoWindowXslt(point, node, xslturi, offset? , onopen?, onclose?) |
| - | |
| メソッド | GMap.showMapBlowup(point, node, offset?, onopen?, onclose?) |
| GMap2.showMapBlowup(point, opts?) | |
| イベント | GMap.click(overlay, point) |
| GMap2.click(overlay, point) | |
| イベント | GMap.zoom(oldLevel, newLevel) |
| GMap2.zoomend(oldLevel, newLevel) | |
| コンストラクタ | GMarker(point, icon?) |
| GMarker(point, icon?, inert?) | |
| メソッド | GMarker.openInfoWindow(content) |
| GMarker.openInfoWindow(content, opts?) | |
| メソッド | GMarker.openInfoWindowHtml(content) |
| GMarker.openInfoWindowHtml(content, opts?) | |
| メソッド | GMarker.openInfoWindowXslt(xml, xslt) |
| - | |
| メソッド | GMarker.showMapBlowup(zoom?, type?) |
| GMarker.showMapBlowup(opts?) | |
| コンストラクタ | GPolyline(points, color?, weight?, opacity?) |
| GPolyline(points, color?, weight?, opacity?) | |
| コンストラクタ | GIcon(copy?) |
| GIcon(copy?, image?) | |
| コンストラクタ | GBounds(minx, miny, maxx, maxy) |
| GBounds(points) | |
| 定数 | G_MAP_TYPE |
| G_NORMAL_MAP | |
| 定数 | G_SATELLITE_TYPE |
| G_SATELLITE_MAP | |
| 定数 | G_HYBRID_TYPE |
| G_HYBRID_MAP | |
| 静的メソッド | GXml.parse(xmltext) |
| GXml.parse(xmltext) | |
| メソッド | GXslt.transformToHtml(xmlnode, htmlnode) |
| GXslt.transformToHtml(xmlnode, htmlnode) |
Maps API のバージョン 2 には、以下のような多数の新機能が導入されています。
GOverviewMapControl コントロールは、画面の隅に折りたたみ可能で魅力的な地図を表示します。GControl のサブクラスを定義して、GSmallMapControl のような組み込みコントロール以外にカスタム マップ コントロールを定義できます。詳細については、例またはクラス リファレンスを参照してください。GOverlay のサブクラスを定義して、組み込みの GMarker クラスや GPolyline クラスのほかにカスタム マップ オーバーレイを定義できます。詳細については、例またはクラス リファレンスを参照してください。unload イベントを呼び出せる GUnload() メソッドが API に追加され、ほとんどの循環参照 (イベント登録時に暗黙に形成されたものを含む) を破棄できるようになりました。その結果、Google マップでは実際に IE でのメモリ リークが解消しました。詳細については、ドキュメントを参照してください。alert() 呼び出しを GLog.write() に置き換えるだけです。詳細については、クラス リファレンスを参照してください。