デバッグ・ビューを作成して、次の方法でタイル・レイヤーにタイルの状態を表示できます。
名前のとおり、このデバッグ・ビューは、新しい地図形式にロード・オンデマンドを実装する際のデバッグ処理に特に便利です。
タイルには、3 つの異なる状態があります。次のとおりです。
- 空。オブジェクトがメモリーにロードされていないことを表します。
- ロード済み。オブジェクトがメモリーにローディングされており、可視であることを表します。
- キャッシュ済み。オブジェクトはメモリーにローディングされていますが、可視でないことを表します。
デバッグ・ビューは IlvManagerView タイプであり、タイル・レイヤーに付加する必要があります。デバッグ・ビューでは、タイル・ロック・カウンターの増減は行われません。これはタイル・コントローラーの役割です。デバッグ・ビューは、ロード・オンデマンド・デバッグ・ビュー のように、ステータスに従ってタイルを色表示するだけです。
![LoadOnDemand1.gif](../usrprgmaps/_media/LoadOnDemand1_default.gif)
ロード・オンデマンド・デバッグ・ビュー
1 より大きいロック・カウンターを持つタイルは、青色で表示されます。このようなタイルは、1 つ以上のビューで表示されます。カウンターが 0 のタイルは、黄色で表示されます。それらのタイルはキャッシュされています。白色のタイルは、読み込まれません。
前の例では、 IlvManagerMagViewInteractor がデバッグ・ビューに関連付けられていました。青色のタイルの中に小さい黄色の正方形を表示するのは、このインタラクターです。正方形はメイン・ビューで表示されているゾーンを表します。
以下は、レイヤーのデバッグ・ビューを作成するコードの例です。
public static void createDebugView(IlvTiledLayer layer) { IlvManagerView view = new IlvManagerView(layer.getManager()); layer.setDebugView(view); // Create a swing frame to display this debug view. JFrame frame = new JFrame("Debug View"); frame.setLayout(new BorderLayout()); frame.add(BorderLayout.CENTER, view); view.setAutoFitToContents(true); frame.setSize(200, 200); frame.setVisible(true); }
この例のソース・コード一式は、以下のファイルにあります。