OpenLayers2でベクター機能をプログラムで作成する


16

地図上にプログラムでベクターフィーチャを作成したい。ある種の印刷プレビューを表示するために、A4-paperformatになるはずです。

これを処理するためのコントロールを作成しましたが、今は機能を作成する必要があります。そして、私はそれをどうすればいいのか分かりません。何か案は?

回答:


30

ベクターフィーチャを作成してレイヤーに追加する:

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印刷コントロールを確認することをお勧めします。また、ソースコードを見て、どのようにこれを行うかを確認することもできます。


GeoExt印刷コントロールの場合は+1。彼らは本当にうまくいくようです。あなたはそれを試すことができますgis.uster.ch/webgis
アンダーダーク

機能名を追加するにはどうすればよいですか?(feature-> properties-> name)[this]のように機能グリッドに機能を表示する必要があるため、name(api.geoext.org/1.1/examples/feature-grid.html
k102

@ K102更新の答えを参照
geographika
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.