Programowe tworzenie funkcji wektorowej w OpenLayers2


16

Chcę utworzyć programowo element wektorowy na mojej mapie. Ma być w formacie A4, aby pokazać rodzaj podglądu wydruku.

Stworzyłem kontrolkę do obsługi tego, ale teraz jestem w punkcie, w którym muszę utworzyć funkcję. I nie mam pojęcia, jak to zrobić. Jakieś pomysły?

Odpowiedzi:


30

Tworzenie i dodawanie elementu wektorowego do warstwy:

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

Możesz jednak spojrzeć na kontrolki drukowania GeoExt, ponieważ obsługują one rozmiary stron, takie jak A4 i dodają obszary podglądu do mapy. Możesz także spojrzeć na kod źródłowy, aby zobaczyć, jak to robią.


+1 za kontrolki drukowania GeoExt. Wydają się działać naprawdę dobrze. Możesz spróbować gis.uster.ch/webgis
podmroku

jak mogę również dodać nazwę funkcji? (feature-> właściwości-> nazwa) Potrzebuję fetyszy, aby pokazać ją na siatce funkcji, tak jak [to], więc potrzebują nazwy ( api.geoext.org/1.1/examples/feature-grid.html )
k102

@ K102 Zobacz zaktualizowaną odpowiedź
Geographika,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.