Secara terprogram membuat fitur vektor di OpenLayers2


16

Saya ingin membuat fitur vektor, secara terprogram, di peta saya. Seharusnya dalam format kertas-A4, untuk menunjukkan semacam pratinjau cetak.

Saya telah membuat kontrol untuk menangani ini, tetapi sekarang saya pada titik di mana saya perlu membuat fitur. Dan saya tidak tahu bagaimana saya bisa melakukannya. Ada ide?

Jawaban:


30

Membuat dan menambahkan fitur vektor ke layer:

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

Namun Anda mungkin lebih suka melihat kontrol cetak GeoExt karena mendukung ukuran halaman seperti A4 dan menambahkan area pratinjau ke peta. Anda juga dapat melihat kode sumber untuk melihat bagaimana mereka melakukan ini.


+1 untuk kontrol cetak GeoExt. Mereka tampaknya bekerja dengan sangat baik. Anda dapat mencobanya gis.uster.ch/webgis
underdark

bagaimana saya juga bisa menambahkan nama fitur? (fitur-> properti-> nama) saya perlu feture untuk ditampilkan di kotak fitur seperti [ini], sehingga mereka memerlukan nama ( api.geoext.org/1.1/examples/feature-grid.html )
k102

@ k102 lihat jawaban yang diperbarui
geografi
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.