地図縮尺およびレイヤー・スタイル

マネージャーの IlvMapStyleControllerProperty プロパティー (およびその基礎となる IlvMapStyleController) を使用するため、レイヤー・スタイルは地図の現在の縮尺に依存します。地図レイヤーのどのスタイル属性も縮尺が異なれば違ってきます。
最も広く使用されている属性の変更の 1 つは VISIBLE_IN_VIEW 属性で、これは特定の縮尺で異なる地図レイヤーを表示したり隠したりするのに使用されます。同じメカニズムを使用して、色、行幅、修飾などを変更することができます。縮尺が変更されると、縮尺コントローラーは、必要に応じて、現在の地図レイヤーのスタイルを変更することができます。スタイルのこの変更は、オブジェクトの属性が変更されるため、通常、ビューの再ペイントをトリガーします。
一部のオブジェクトも、自らを再レンダリングするためにこれらのスタイルの変更の通知を受け取ります。例えば、ラスター・スタイルの色モデルが変更されると、スタイルに依存するすべてのイメージは再作成される必要があります。
動的スタイルを以下のような API 呼び出しで追加できます。
IlvMapStyleController themeControl=
  IlvMapStyleControllerProperty.GetMapStyleController(view.getManager());
themeControl.addTheme(0.001,mapLayer,"new style");
themeControl.getStyle(mapLayer,0.001).setVisibleInView(true);
動的スタイルを追加するときは、縮尺継承が引き続き管理されていることを確認してください。新しい地図レイヤーを親レイヤーに追加するときは、次のように行います。
IlvMapDynamicStyle []t=themeControl.getThemes(mapLayer);
for (int i = 0; i < t.length; i++) {
   t[i].getStyle().setParent(parentLayer.getStyle());
}
このセクションで説明されているコードをすべて含む マップ・ビルダー のデモ用ソース・コードについては、 <installdir> /jviews-maps89/samples/mapbuilder/index.html をご覧ください。