Suite

Création par programmation d'une fonction vectorielle dans OpenLayers2


Je souhaite créer une entité vectorielle, par programmation, sur ma carte. Il est censé être au format papier A4, pour montrer une sorte d'aperçu avant impression.

J'ai créé un contrôle pour gérer cela, mais j'en suis maintenant au point où je dois créer la fonctionnalité. Et je n'ai aucune idée de comment je peux le faire. Des idées?


Création et ajout d'une entité vectorielle à une couche :

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 polygone = new OpenLayers.Geometry.Polygon([ring]); // crée des attributs pour la fonctionnalité var attributs = {nom : "mon nom", bar : "foo"}; var feature = new OpenLayers.Feature.Vector(polygone, attributs); var layer = new OpenLayers.Layer.Vector("Test"); layer.addFeatures([fonction]);

Cependant, vous préférerez peut-être regarder les contrôles d'impression GeoExt car ils prennent en charge les formats de page tels que A4 et ajoutent des zones d'aperçu à la carte. Vous pouvez également consulter le code source pour voir comment ils procèdent.


Voir la vidéo: Création et programmation des interfaces graphiques-PyQt5 Part1 (Octobre 2021).