Програмно створення векторної функції в OpenLayers2


16

Я хочу створити векторну функцію, програмно, на своїй карті. Він повинен бути у форматі A4-папір для показу свого роду попереднього перегляду друку.

Я створив елемент управління для цього, але зараз я знаходжусь у точці, коли мені потрібно створити функцію. І я поняття не маю, як мені це зробити. Будь-які ідеї?

Відповіді:


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

Однак ви можете віддати перевагу елементам друку GeoExt, оскільки вони підтримують розміри сторінок, такі як A4, і додають до карти області попереднього перегляду. Ви також можете подивитися вихідний код, щоб побачити, як вони це роблять.


+1 для елементів друку GeoExt. Вони, здається, працюють дуже добре. Ви можете спробувати їх gis.uster.ch/webgis
underdark

як я можу також додати ім'я функції? (особливість-> властивості-> ім'я) мені потрібно, щоб фетру було показано в такій сітці функцій, як [це], тому їм потрібно ім’я ( api.geoext.org/1.1/examples/feature-grid.html )
k102,

@ k102 див. оновлену відповідь
geographika
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.