Creando mediante programación una característica vectorial en OpenLayers2

16

Quiero crear una función vectorial, programáticamente, en mi mapa. Se supone que está en el formato de papel A4, para mostrar una especie de vista previa de impresión.

He creado un control para manejar esto, pero ahora estoy en el punto en el que necesito crear la función. Y no tengo idea de cómo puedo hacerlo. ¿Algunas ideas?

    
pregunta Kristian Frost 25.05.2011 - 13:38

1 respuesta

30

Creando y agregando una característica vectorial a una capa:

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

Sin embargo, es posible que prefiera ver los controles de impresión GeoExt, ya que admiten tamaños de página como A4 y agregan áreas de vista previa al mapa. También puede mirar el código fuente para ver cómo lo hacen.

respondido por el geographika 25.05.2011 - 15:39

Lea otras preguntas en las etiquetas