レイヤー・スタイリングの検討

このセクションで説明されているコードをすべて含む Map Builder のデモ用ソース・コードについては、 <installdir> /jviews-maps89/samples/mapbuilder/index.html をご覧ください。

スタイル・ペアレントの管理

スタイル継承 (「レイヤー・ツリー」パネルでアクセス可能) を提供するには、親レイヤー・スタイルは複合スタイルでなくてはならず、それ自体でスタイル・ペアレントを管理する必要があります。
IlvMapStyle childStyle=layer.getStyle();
childStyle.setParent(parent.getStyle());

動的スタイルの使用

アプリケーションが動的スタイルを使用する場合、マネージャーの縮尺コントローラー・プロパティーにアクセスする必要があります。
IlvMapStyleController themeController = 
IlvMapStyleControllerProperty.GetMapStyleController(manager);
コントローラーで、縮尺間隔についての特殊スタイル設定を決定できます。例えば、レイヤー可視性の変更です。
themeController.addTheme(1/100000.0,source.getInsertionLayer(),"Visible");
themeController.getStyle(source.getInsertionLayer(),1/
100000.0).setVisibleInView(true);
themeController.getStyle(source.getInsertionLayer(),1/
100000.0).setVisibleInOverview(false);
複数の動的スタイルを使用している場合は、複数のスタイルを使用しているため、やや複雑な方法でスタイル継承の管理を行う必要があります。
IlvMapDynamicStyle []t=themeController.getThemes(layer);
for (int i = 0; i < t.length; i++) {
  t[i].getStyle().setParent(parent.getStyle());
}
これを行うと、ビューの現在の縮尺について、希望のスタイルを適用できます。
themeController.updateTheme(view,layer);
代わりに、1 つの呼び出しで、すべてのレイヤーにテーマをセットアップすることができます。
themeController.updateCurrentTheme();

レイヤーの並べ替え

マルチスレッド化データ・ソースでは、基底となるマネージャー・レイヤーが作成される順番を予測することが不可能な場合がよくあります。マネージャー・レイヤーの順序は、どのグラフィック・オブジェクトが地図の上、あるいは背景にあるかを決定します。データ・ソースが作成され、挿入されると、以下を呼び出して、マネージャー・レイヤーの順序を地図レイヤー・ツリー編成に適合させることができます。
ltm.arrangeLayers();