レンダラーの概要

レンダラーとは、地図機能をクラス IlvGraphic や、そのいずれかのサブクラスのグラフィック・オブジェクトに変換する際に使用するオブジェクトです。
レンダラーは、 IlvFeatureRenderer インターフェース (ilog.views.maps パッケージに付属する) を実装する必要があります。特定の地図機能をグラフィック・オブジェクトに変換するには、その makeGraphic メソッドを使用します。
IlvGraphic makeGraphic(IlvMapFeature feature,
                       IlvCoordinateTransformation tr);
2 番目の引数 tr を使用して、座標変換を指定できます。このような変換の通常の構成方法は、1 番目のパラメーター (ソース座標系) として feature.getCoordinateSystem を指定し、2 番目のパラメーター (ターゲット座標系) としてマネージャーで設定した座標系 ( IlvCoordinateSystemProperty を介して) を指定して、IlvCoordinateTransformation.CreateTransformation を呼び出します。座標系と座標変換の詳細は、「座標系間の座標変換」を参照してください。
JViews Maps には、ライブラリーで使用可能な各ジオメトリー・タイプにデフォルトのレンダラー一式が含まれます。これらのレンダラーは、パッケージ ilog.views.maps.rendering にあります。 IlvMapPointRenderer は、ポイントのジオメトリーがある地図機能をタイプ IlvMapMarker. また、ライブラリーは、タイプ IlvDefaultFeatureRenderer のグローバル・デフォルト・レンダラーを提供しています。これを使用して、定義済みジオメトリーの地図機能を変換することができます。このレンダラーは、ilog.views.maps パッケージにあります。
以下のコード例では、タイプ IlvMapLineString のジオメトリーを持つ地図機能を、縮尺が 1/1,000,000 より大きい場合に幅 4 ピクセルの緑色の折れ線に変換する方法を示します。これらのポリラインは、郡の境界線の一部などになります。
IlvMapLineRenderingStyle style = new IlvMapLineRenderingStyle(); style.setForeground(Color.green); 
style.setLineWidth(4); 
style.setScale(1f/1000000f); 

IlvDefaultCurveRenderer renderer = new IlvDefaultCurveRenderer(); renderer.setLineRenderingStyle(style); 

try {
  // Identity transformation.
  IlvCoordinateTransformation identity = IlvCoordinateTransformation.CreateTransformation(null, null);
  IlvGraphic graphic = renderer.makeGraphic(feature, identity);

  // Adding the graphic object into a manager.
  manager.addObject(graphic, layerIndex, true);
} catch (IlvMapRenderException e) {
  // Might occur if the geometry is not a curve.
  System.out.println("This renderer can’t translate the map feature");
  System.out.println(e.getMessage());
} catch (IlvCoordinateTransformationException te) { 
  // Might occur if the coordinate transformation could not be
  // performed.
  System.out.println("This renderer could not transform the geometry");
  System.out.println(te.getMessage()); 
}
この例のソース・コード一式は、以下のファイルにあります。