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와 같은 페이지 크기를 지원하고 맵에 미리보기 영역을 추가 할 때 GeoExt 인쇄 컨트롤을 선호 할 수 있습니다. 또한 소스 코드를보고이를 수행하는 방법을 확인할 수 있습니다.


GeoExt 인쇄 컨트롤의 경우 +1 그들은 정말 잘 작동하는 것 같습니다. 당신은 그들을 시도 할 수 있습니다 gis.uster.ch/webgis
언더 다크

기능 이름을 어떻게 추가 할 수 있습니까? (feature-> properties-> name) [this]와 같은 피처 그리드에 feture가 표시되어야하므로 이름 ( api.geoext.org/1.1/examples/feature-grid.html )이 필요합니다.
k102

@ k102 업데이트 된 답변보기
geographika
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.