Maps > Rogue Wave Views リーダー・フレームワーク > レンダラー > レンダラーの概要
 
レンダラーの概要
レンダラーとは、地図機能をクラス IlvGraphic や、そのいずれかのサブクラスのグラフィック・オブジェクトに変換する際に使用するオブジェクトです。
レンダラーは、IlvFeatureRenderer 抽象クラスを実装する必要があります。特定の地図機能をグラフィック・オブジェクトに変換するために、makeGraphic メソッドを使用できます。
IlvGraphic* makeGraphic(const IlvMapFeature& feature,
const IlvMapInfo& targetMapInfo,
IlvMapsError& status);
2 番目の引数 targetMapInfo によって、ターゲット投影図法とアダプターを指定できます。アダプターは、地理座標 (通常は垂直軸が上向きの座標系の浮動小数点値で表現される) を、IlvManager で使用するポイント座標 (垂直軸が下向きの座標系の整数値で表現される) に変換するコンバーターです。
IlvMapInfo の投影図法を 0 か、または IlvUnknownProjection のインスタンスに設定すると、ターゲット投影図法が IlvMapFeature のソース投影図法と同じとみなされます。この場合、投影変換は行われません。
投影図法とアダプターについては、ターゲット投影図法を選択する および地図投影図法 を参照してください。
Rogue Wave® Views Maps には、ライブラリーで使用可能な各ジオメトリー・タイプにデフォルトのレンダラー一式が含まれます。これらのレンダラーは、パッケージ rendering にあります。たとえば、IlvDefaultPointRenderer は、ポイントのジオメトリーがある地図機能をタイプ IlvMarker のオブジェクトに変換します。また、ライブラリーは、タイプ IlvDefaultFeatureRenderer のグローバル・デフォルト・レンダラーを提供しています。これを使って、定義済みジオメトリーの地図機能を変換することができます。レンダラーのアトリビュートの一部は、レンダリング・スタイルの指定によってカスタマイズできます。たとえば、IlvMapLineRenderingStyle は、線の幅、色、線の種類のカスタマイズに使用します。
次のコード・サンプルは、ジオメトリーがタイプ IlvMapCurve の地図機能を、緑の曲線に変換する方法を示します。これらのポリラインは、国の境界線の一部などになります。
IlvFeatureRenderer* renderer = new IlvDefaultCurveRenderer(_display);
IlvMapLineRenderingStyle *lrs = new IlvMapLineRenderingStyle(_display);
lrs->setForeground("green");
lrs->setLineWidth(2);
renderer->setLineRenderingStyle(lrs);
IlvGraphic* graphic = renderer->makeGraphic(feature, mapInfo, status);
if(graphic) {
_manager->addObject(graphic);
} else {
IlvWarning("This renderer can’t translate the map feature");
if(status != IlvMaps::NoError())
IlvWarning(IlvMaps::GetErrorMessage(status, _display));
}
 

Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.