OpenLayers Pointlerden Polygon Çizme

function KullaniciBasvuruCiz(NoktalarListesi) {

   var nListCount = NoktalarListesi.length;

   OpenLayersHelper.vectorLayer.destroyFeatures();

   for (var i = 0; i < nListCount; i++) {

       var singleArea = NoktalarListesi[i];

       var pCount = NoktalarListesi[i].length;

       var realList = [];

       for (var k = 0; k < pCount; k++) {

           var newPoint = new OpenLayers.Geometry.Point(nnnn[k].lon, nnnn[k].lat);

           realList.push(newPoint.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913")));

       }

       realList.push(realList[0]);

       var ring = new OpenLayers.Geometry.LinearRing(pointList);

       var geometry = new OpenLayers.Geometry.Polygon([ring]);

       var polygonFeature = new OpenLayers.Feature.Vector(geometry, null, null);

       OpenLayersHelper.vectorLayer.addFeatures([polygonFeature]);

   }

   OpenLayersHelper.map.zoomToExtent(OpenLayersHelper.vectorLayer.getDataExtent());

}

 

Açıklamalar

-NoktalarListesi: Birden fazla çizilecek alanın koordinat bilgileri.

-NListCount : Çizilecek alan sayısı.

-SingleArea :Çizilecek alanın koordinat bilgisini çekiyoruz(point dizisi).

-pCount : Çizilecek alanın koordinat sayısı.

-realList : Pointleri transform ettikten sonra tutacağımız dizi.

 

Not1:Fonksiyona gönderilen parametredeki pointler OpenLayers.LonLat WGS84 projeksiyonuna sahiptir.

Not2:ring oluşturabilmek için pointlerin OpenLayers.Geometry.Point tipinde olması gerekiyor, aksi takdirde ring oluşmuyor.

Add comment

Loading