このセクションで説明されているコードをすべて含む Map Builder のデモ用ソース・コードについては、
<installdir>
/jviews-maps89/samples/mapbuilder/index.html をご覧ください。
データ・ソースおよび地図レイヤーをマネージャー・プロパティーと統合するには、以下の手順に従います。
-
データ・ソースをデータ・ソース・ツリーに挿入します。まず、データ・ソース・モデルをマネージャーのプロパティーから取得する必要があります。
IlvMapDataSourceModel dataSourceModel = IlvMapDataSourceProperty.GetMapDataSourceModel(manager); dataSourceModel.insert(source);
-
すべてのデータ・ソースを挿入したら、このモデルのすべてのデータ・ソースを再帰的に開始させて、データ・ソース・モデルの読み込みを開始できます。
dataSourceModel.start();
代わりに、各データ・ソースを必要に応じて呼び出して開始することもできます。source.start();
-
データ・ソースに付加されている地図レイヤーも取得する必要があります。そのセットアップも必要になる場合があります。
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));
-
レイヤーをマネージャーの地図レイヤー・ツリーに挿入します。まず、レイヤー・ツリー・モデルをマネージャーのプロパティーから取得する必要があります。ここで、必要に応じて、親レイヤーを選択してレイヤー構造を整えることができます。
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); }