データ・ソースの統合

このセクションで説明されているコードをすべて含む Map Builder のデモ用ソース・コードについては、 <installdir> /jviews-maps89/samples/mapbuilder/index.html をご覧ください。
データ・ソースおよび地図レイヤーをマネージャー・プロパティーと統合するには、以下の手順に従います。
  1. データ・ソースをデータ・ソース・ツリーに挿入します。まず、データ・ソース・モデルをマネージャーのプロパティーから取得する必要があります。
    IlvMapDataSourceModel dataSourceModel =
    IlvMapDataSourceProperty.GetMapDataSourceModel(manager);
    dataSourceModel.insert(source);
    
  2. すべてのデータ・ソースを挿入したら、このモデルのすべてのデータ・ソースを再帰的に開始させて、データ・ソース・モデルの読み込みを開始できます。
    dataSourceModel.start();
    
    代わりに、各データ・ソースを必要に応じて呼び出して開始することもできます。
    source.start();
    
  3. データ・ソースに付加されている地図レイヤーも取得する必要があります。そのセットアップも必要になる場合があります。
    IlvMapLayer layer = dataSource.getInsertionLayer();
    layer.setName("name in layer tree panel");
    
    レイヤー・スタイルの変更など、その他の設定をこの段階で行うことができます。
    layer.getStyle().setAttribute(IlvPolylineStyle.FOREGROUND,Color.black);
    layer.getStyle().setAttribute(IlvPolylineStyle.BACKGROUND,new
    Color(1,1,1,0.25f));
    
  4. レイヤーをマネージャーの地図レイヤー・ツリーに挿入します。まず、レイヤー・ツリー・モデルをマネージャーのプロパティーから取得する必要があります。ここで、必要に応じて、親レイヤーを選択してレイヤー構造を整えることができます。
    IlvMapLayerTreeModel ltm =
    IlvMapLayerTreeProperty.GetMapLayerTreeModel(manager);
    ltm.addChild(parent, layer);
    
    場合によっては、ツリー・モデルから取得して、同じ親レイヤーを異なるデータ・ソースに再利用することができます。
    IlvMapLayer parent = ltm.findChildLayer(null,"my parent");
    if(parent==null) {
      parent = new IlvMapLayer();
      parent.setName("my parent");
      IlvMapCompositeStyle parentStyle= new IlvMapCompositeStyle();
      parent.setStyle(parentStyle);
      ltm.addChild(null, parent);
    }