IlvMapLabelFactory インターフェース

グラフィック・オブジェクトのラベルを作成するために、IlvMapLabelManager クラスは、 IlvMapLabelFactory インターフェースを実装するラベル・ファクトリーに依存しています。 このインターフェースを実装しているオブジェクトは、指定された IlvGraphicIlv オブジェクトの適切な IlvMapLabelingLabel インスタンスを返す役目を果たします。IlvGraphic オブジェクトです。これは、次のメソッドの実装によって行われます。
labeler.setView(view);
layerToLabel.getStyle().setLabelAttribute("NAME");
labeler.addLayer(layerToLabel);
labeler.performLabeling();
public IlvMapLabelingLabel[] getGisLabel(IlvGraphic comp);
デフォルト・ラベル・ファクトリーは以下のタスクを実行します。
  • 指定された IlvGraphic オブジェクトから属性を抽出し、(ラベル付けされる IlvMapLayerIlvMapStyle 内の ラベル属性に従います)、 その String 表記をラベルのテキストとして取得します。
  • 次に、ラベリングされているグラフィック・オブジェクトの種類に応じて、 IlvMapLabelingLabel クラスの適切なインスタンスを作成します。アンカー・ポイントのあるオブジェクト用の
IlvMapLabelManager はファクトリーのこのデフォルト実装を使用しますが、ラベリング対象およびその方法についてより詳細に制御する場合は、独自の実装を提供することができます。デフォルト・ラベル・ファクトリーを、独自のラベル・ファクトリーに置き換えるには、次の処理を行います。
IlvMapLabelFactory myLabelFactory = new myLabelFactory(); //Your own 
implementation.

//Get the map labeler.
IlvMapLabeler labeler =
   IlvMapLabelerProperty.GetMapLabeler(manager);

//Set the factory, if the labeler is an IlvMapDefaultLabeler instance.
if(labeler instanceof IlvMapDefaultLabeler) {
   IlvMapDefaultLabeler dflt = (IlvMapDefaultLabeler)labeler;
   dflt.setLabelFactory(myLabelFactory);
 }

レンダラー・パラメーターの制御

独自の IlvMapLabelFactory を実装する場合は、コンストラクターで作成した IlvMapLabelingLabel の各インスタンスにレイアウトおよびレンダリング・パラメーターのセットを指定することができます。
このパラメーターの詳細については、 IlvMapPointLabel, IlvMapLineLabel、および IlvMapAreaLabel クラスを参照してください。