Programmgesteuertes Erstellen eines Vektor-Features in OpenLayers2


16

Ich möchte programmgesteuert ein Vektor-Feature auf meiner Karte erstellen. Es soll im A4-Format vorliegen, um eine Art Druckvorschau anzuzeigen.

Ich habe ein Steuerelement erstellt, um damit umzugehen, aber jetzt bin ich an dem Punkt angelangt, an dem ich das Feature erstellen muss. Und ich habe keine Ahnung, wie ich das machen kann. Irgendwelche Ideen?

Antworten:


30

Erstellen und Hinzufügen eines Vektor-Features zu einer Ebene:

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]);

Sie können jedoch die GeoExt-Drucksteuerelemente bevorzugen, da sie Seitengrößen wie A4 unterstützen und der Karte Vorschaubereiche hinzufügen. Sie können sich auch den Quellcode ansehen, um zu sehen, wie sie dies tun.


+1 für GeoExt-Drucksteuerelemente. Sie scheinen wirklich gut zu funktionieren. Sie können sie ausprobieren. Gis.uster.ch/webgis
underdark

Wie kann ich auch einen Funktionsnamen hinzufügen? (feature-> properties-> name) Ich brauche eine Funktion, die wie folgt im Feature-Grid angezeigt wird.
Daher

@ K102 siehe aktualisierte Antwort
Geographika
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.