SVG リーダー

SVG ファイルを読み込むには 2 つの方法があります。
  • IlvMapSVGReader インスタンスを直接使用。IlvMapSVGReader を使用する場合、SVG 機能をグラフィック・オブジェクトにレンダリングするのに必要なコードをすべて記述し、それをマネージャーに追加する必要があります。
    このクラスは、SVG 機能を指定した SVG ファイルまたはカタログから読み込みます。また読み込み機能で反復処理を行う IlvMapFeatureIterator インターフェースが実装されます。
  • IlvSVGDataSource. これは、上記すべての操作を一度に実行する便利な方法です。IlvSVGDataSource を使用すると、地図のデータ・モデルと適切に統合されます。
    IlvSVGDataSource クラスは、マネージャーの SVG データを含む 1 組のレイヤーを作成する便利な方法を提供しています。
このセクションで説明されているコードをすべて含む マップ・ビルダー のデモ用ソース・コードについては、 <installdir> /jviews-maps89/samples/mapbuilder/index.html をご覧ください。
SVG 機能を読み込んでベクトル・データを作成するには、以下の手順に従います。
  1. SVG カタログへのパスを使用して、新しい IlvMapSVGReader インスタンスを作成します。
  2. SVG データをレンダリングするために使用する変換を設定します。次のコードは、変換の例を示しています。
  3. デフォルトの SVG レンダラーを取得します。
  4. 機能を反復し、レンダリングし、マネージャーに割り当てます。
    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 機能を読み込んでベクトル・データを作成するには、以下の手順に従います。
  1. 新しい IlvSVGDataSource インスタンスを作成します。
  2. このデータ・ソースをビューのマネージャーに接続します。
  3. SVG データを地理参照オブジェクトにレンダリングする変換を設定します。
  4. SVG データ・ソースをスタートします。