SVG ファイルを読み込むには 2 つの方法があります。
- IlvMapSVGReader インスタンスを直接使用。
IlvMapSVGReader
を使用する場合、SVG 機能をグラフィック・オブジェクトにレンダリングするのに必要なコードをすべて記述し、それをマネージャーに追加する必要があります。このクラスは、SVG 機能を指定した SVG ファイルまたはカタログから読み込みます。また読み込み機能で反復処理を行う IlvMapFeatureIterator インターフェースが実装されます。 - IlvSVGDataSource. これは、上記すべての操作を一度に実行する便利な方法です。
IlvSVGDataSource
を使用すると、地図のデータ・モデルと適切に統合されます。IlvSVGDataSource クラスは、マネージャーの SVG データを含む 1 組のレイヤーを作成する便利な方法を提供しています。
このセクションで説明されているコードをすべて含む マップ・ビルダー のデモ用ソース・コードについては、
<installdir>
/jviews-maps89/samples/mapbuilder/index.html をご覧ください。
SVG 機能を読み込んでベクトル・データを作成するには、以下の手順に従います。
-
SVG カタログへのパスを使用して、新しい
IlvMapSVGReader
インスタンスを作成します。 -
SVG データをレンダリングするために使用する変換を設定します。次のコードは、変換の例を示しています。
-
デフォルトの SVG レンダラーを取得します。
-
機能を反復し、レンダリングし、マネージャーに割り当てます。
String SVGpath = " C:/maps/SVG/map.svg"; IlvMapSVGReader reader = new IlvMapSVGReader(SVGpath); reader.setDestinationBounds(lonMinRad,latMinRad,lonMaxRad,latMaxRad); IlvFeatureRenderer renderer = reader.getDefaultFeatureRenderer(); IlvMapFeature feature = reader.getNextFeature(); while(feature != null) { // Render map feature into a graphic object IlvGraphic graphic = renderer.makeGraphic(feature,null); // Add this object to the first layer of the manager manager.addObject(graphic, 0, false); feature = reader.getNextFeature(); }
SVG 機能を読み込んでベクトル・データを作成するには、以下の手順に従います。
-
新しい
IlvSVGDataSource
インスタンスを作成します。 -
このデータ・ソースをビューのマネージャーに接続します。
-
SVG データを地理参照オブジェクトにレンダリングする変換を設定します。
-
SVG データ・ソースをスタートします。