地図上にプログラムでベクターフィーチャを作成したい。ある種の印刷プレビューを表示するために、A4-paperformatになるはずです。
これを処理するためのコントロールを作成しましたが、今は機能を作成する必要があります。そして、私はそれをどうすればいいのか分かりません。何か案は?
地図上にプログラムでベクターフィーチャを作成したい。ある種の印刷プレビューを表示するために、A4-paperformatになるはずです。
これを処理するためのコントロールを作成しましたが、今は機能を作成する必要があります。そして、私はそれをどうすればいいのか分かりません。何か案は?
回答:
ベクターフィーチャを作成してレイヤーに追加する:
var points = [
new OpenLayers.Geometry.Point(0, 0),
new OpenLayers.Geometry.Point(0, 100),
new OpenLayers.Geometry.Point(100, 100),
new OpenLayers.Geometry.Point(100, 0)
];
var ring = new OpenLayers.Geometry.LinearRing(points);
var polygon = new OpenLayers.Geometry.Polygon([ring]);
// create some attributes for the feature
var attributes = {name: "my name", bar: "foo"};
var feature = new OpenLayers.Feature.Vector(polygon, attributes);
var layer = new OpenLayers.Layer.Vector("Test");
layer.addFeatures([feature]);
ただし、A4などのページサイズをサポートし、マップにプレビューエリアを追加するGeoExt印刷コントロールを確認することをお勧めします。また、ソースコードを見て、どのようにこれを行うかを確認することもできます。