地図データのクリア

データ・ソースおよび地図レイヤーを作成すると、多くの異なるマネージャー・プロパティーが修正され、異なる縮尺で地図を管理するのに必要なデータ構造を参照します。さらに、多くのグラフィック・オブジェクトおよびマネージャー・レイヤーが IlvManager オブジェクトに作成されます。このデータを後からクリアすることができます。
このセクションで説明されているコードをすべて含む Map Builder のデモ用ソース・コードについては、 <installdir> /jviews-maps89/samples/mapbuilder/index.html をご覧ください。
地図データを完全にクリアにするには、以下の手順に従います。
  1. すべての潜在的なスレッド・イメージ・ローダーを、まだ実行されている可能性がある IlvThreadedTileLoader を見つけて停止します。
    for (int il=0;il<manager.getLayersCount();il++) {
      IlvManagerLayer layer = manager.getManagerLayer(il);
      if (layer instanceof IlvTiledLayer) {
        IlvTileLoader loader = ((IlvTiledLayer) layer).getTileLoader();
        if (loader instanceof IlvThreadedTileLoader) {
          ((IlvThreadedTileLoader) loader).dispose();
        }
      }
    }
    
  2. すべてのマネージャー・レイヤーおよびグラフィック・オブジェクトを削除して地図レイヤー・モデルをクリアします。
    IlvMapLayerTreeModel model = 
    IlvMapLayerTreeProperty.GetMapLayerTreeModel(manager);
    model.clearAllObjects();
    while (manager.getLayersCount() > 0) {
     manager.removeLayer(0, false);
    }
    manager.removeNamedProperty(IlvMapLayerTreeProperty.NAME);
    
  3. データ・ソース・モデルをクリアします。
    manager.removeNamedProperty(IlvMapDataSourceProperty.NAME);
    
  4. 対象モデルの領域をクリアします。
    manager.removeNamedProperty(IlvAreasOfInterestProperty.NAME);
    
  5. 縮尺コントローラーをクリアします。
    manager.removeNamedProperty(IlvMapStyleControllerProperty.NAME);
    
  6. すべての一時ラスター・ファイルを削除します。JViews Maps は、ラスター・ピクセル・データに素早くアクセスするために、メモリー・マップ・データ・ファイルに依存しています。一時ファイルは、アプリケーションが通常以外の方法で終了した場合は削除されません。それらは一時ディレクトリーに、削除されるまで残ります。これを防ぐため、 IlvRasterTemporaryFileManager クラスには、使用されなくなった JViews Maps によって作成されたすべての一時ファイルを削除するメソッドが用意されています。
    IlvRasterTemporaryFileManager.removeAllFiles();