3D マップの表示
Virtual Earth Map Control は 3 次元表示機能を備えており、Live Search Maps Web サイトの Virtual Earth 3D エクスペリエンスをそのまま独自の Web サイトに組み込むことができます。
3D マップの有効化
3 次元マップ機能は、標準の 2 次元マップと同じマップ コントロールに組み込まれているため、マップ対応の Web サイトの構築方法を変える必要はありません。新しい 3D API も、2D API と同じ方法でプログラミングできます。3D マップを既存のサイトに追加するための労力は、プログラミングの面でもこれまでとほとんど変わりません。
ただし、Virtual Earth 3D マップは、グラフィックスを多用する複雑なソフトウェアであるため、クライアント コンピュータにインストールする必要があります。また、クライアント コンピュータが、マップを表示する上で十分なハードウェアを備えていることも必須です。この Virtual Earth 3D ソフトウェアをインストールするクライアント コンピュータは、以下の条件を満たしている必要があります。
- Microsoft Windows XP Service Pack 2、Microsoft Windows Server 2003、または Microsoft Windows Vista
- Microsoft Internet Explorer 6 または Windows Internet Explorer 7 (64 ビット版を含む)、あるいは Mozzilla Firefox 2.0
- Microsoft .NET Framework 2.0
- 250 MB 以上のハード ディスク領域
- 1.0 GHz プロセッサ (2.8 GHz 以上を推奨)
- 256 MB のシステム メモリ (1 GB を推奨)
- 3D ハードウェア アクセラレーションに対応し、Microsoft DirectX 9 をサポートする、32MB (256 MB を推奨) のビデオ メモリを搭載したビデオ カード
- 高速またはブロードバンド インターネット接続
要件の検証
クライアント側の要件の中には、標準の 2 次元マップを表示するだけであれば満たす必要のないものも含まれています。そのため、ユーザーに Virtual Earth 3D をインストールするかどうかを確認するための適切なユーザー インターフェイスを提供する必要があります。そのためには、VEMap.AttachEvent メソッドを使用して、VEMap.onmodenotavailable イベントを VEMap クラス オブジェクトにアタッチします。ソフトウェアがまだクライアント コンピュータにインストールされていない状態でマップ モードを 3D モードに変更すると、このイベントが発生します。この時点で、ソフトウェアのインストールに関する説明を表示できます。
たとえば、次に示すコードでは、新しい VEMap オブジェクトを作成して onmodenotavailable イベントをアタッチし、マップを読み込んでいます。コンピュータ上にソフトウェアがインストールされていない状態でマップを 3D モードに切り替えると、イベント ハンドラが呼び出されます。このイベント ハンドラは、Virtual Earth 3D ソフトウェアのインストール方法の説明をユーザーに表示します。
map=null;
function onPageLoad()
{
map = new VEMap('map');
map.LoadMap();
map.AttachEvent('onmodenotavailable', No3DInstalled);
}
function No3DInstalled ()
{
alert('マップを 3D モードで表示するには、'+
'コンピュータに Virtual Earth 3D ソフトウェアをインストールする必要があります。' +
'\nソフトウェアのインストール方法については、次のサイトを参照してください ' +
'https://go.microsoft.com/fwlink/?LinkId=72623.');
}
注意
Virtual Earth 3D ソフトウェアのインストール プログラムへのリンク (およびその前提条件) は https://go.microsoft.com/fwlink/?LinkId=72623 です。
3D モードを使用する場合の問題
Virtual Earth 3D は Web ページにコントロールとして埋め込まれるため、Web ベースのイベントやプロパティの動作がこれまでの 2D マップとは異なる場合があります。3D マップを使用するサイトを設計する際は、以下の状況を考慮に入れてください。
- 2D マップ上に表示しているカスタム コントロールや Web 要素は、3D マップの背後に隠されて非表示になります。この問題を回避するには、各コントロールで IFRAME "shim" を使用します。詳細については、「VEMap.AddControl メソッド」の説明とコード例を参照してください。
- マップ モードを 3D モードに切り替えると、既定の検索コントロールも非表示になります。この問題を回避するには、マップ モードを変更するときに VEMap.ShowFindControl メソッドを呼び出します。
- Virtual Earth 3D にフォーカスがあるときには、キーボートとマウスのイベントがキャプチャおよび処理されます。Map Control イベントは Virtual Earth 3D コントロールから渡されるため、VEMap.onstartpan イベント以外のイベントは引き続き使用できます。ページ レベルのイベントは、フォーカスが Virtual Earth 3D コントロールにあっても発生しません。
- その他のマップ拡張 (プッシュピン、カスタム プッシュピンとタイル レイヤ、折れ線、および多角形) は、2D モードのマップでも 3 D モードのマップでも機能します。
注意
クライアント コンピュータでは、複数の 3D マップのインスタンスを同時に同じプロセスで動作させることはできません。
3D マップの無効化
3D マップを表示するにはより厳しい要件を満たす必要があるため、ユーザーが 3D モードに切り替えられないようにしたい場合もあります。その場合は、VEMap.LoadMap メソッドの showSwitch パラメータを false に設定します。