Re: [OSGeoJapan-discuss] OpenLayersによるベクター図形編集結果の取得方法

yuasa ponji3 @ yahoo.co.jp
2010年 10月 6日 (水) 21:47:08 EDT


宮脇さま

早速のご回答有難う御座います。

> OpenLayersでベクターを編集する際、OpenLayers.Layer.Vectorクラスを
> ご利用かと思いますが、編集結果は「features」変数に格納されております。
>
> そのままではOpenLayers.Feature.Vectorオブジェクトの配列ですが、
> OpenLayers.Formatクラスを利用することにより
> 各種フォーマットに変換することができます。
>
> たとえば次のようにベクタレイヤーを作成した場合
>
>  vectorLayer = new OpenLayers.Layer.Vector("Polygon Layer");
>
> 以下のようにすることでレイヤーが持つベクタ情報をWKT形式で取得することが
> できます。
>
>  var format = new OpenLayers.Format.WKT();
>  var wkt = format.write(vectorLayer.features);
>

◆ なるほど。
  本家の Class Documentation に OpenLayers.Layer.Vector クラスの
  features プロパティとして記載されてますね。
  (説明は返り値のみですが。)
  ここに当該レイヤの全図形情報が格納されているということですね。

  て、使用する場合は適切なフォーマットに変換して使用するということですね。
  よくわかりました。

>
> サンプルを添付いたします。
> 地図上でポリゴンを描画した後にボタンをクリックすると、
> 入力済みのベクタ情報がドロップダウンリストで選択されたフォーマットで
> 出力されます。
> ご参考になれば幸いです。

◆ サンプルまで作成して頂き誠に有難う御座います。
  実際にどのようなコードを書き、どのようなデータが取得できるのかがわかる
  ので、より理解し易くなりました。

> またOpenLayersについての参考サイトはほとんど見かけたことがありません。
> ライブラリに付属するサンプルや、ソース本体が一番の参考書という状況です。

◆ なるほど、そうですか〜。
  がんばって、サンプルソースや英語のリファレンスと格闘して、地道に少しずつ
  習得していこうと思います。

以上、本当に助かりました。
有難う御座いました。

--------------------------------------
Learn more about breast cancer - Pink Ribbon Campaign 2010
http://yj.pn/JAy9L7


OSGeoJapan-discuss メーリングリストの案内