본문 바로가기
develop/web GIS

OpenLayers function

by hybr1d 2015. 4. 1.

//WMS 레이어 업데이트 

//geoserver에서 sql view 로 생성한 레이어는 parameter로 조건을 줄 수 있다.

//parameter : viewparams

OpenLayers.Layer.WMS.prototype.updateLayers = function(layers,data) {

console.log("updateLayers : " +layers,data);

this.mergeNewParams({'LAYERS' : layers});

this.mergeNewParams({viewparams : data});

if(layers.length > 0) {

this.setVisibility(true);

} else {

this.setVisibility(false);

}

};


//레이어 생성 시 속성값 부여 하는 스크립트

$.ajax ({

type : "GET",

dataType : "json",

data : {

monitoring_year : nowYear,

waste_big_type_code : waste_code

},

url : "/gis/MonitoringZoneData.do",

success : function(res) {

$.each(res.mzd, function(i) {

var mzd = res.mzd;

var mapPt = new OpenLayers.Geometry.Point(mzd[i].longitude,mzd[i].latitude).transform(EPSG_4326,EPSG_900913);

var lonLat = new OpenLayers.Geometry.Point(mapPt.x,mapPt.y);

monitoringLayer = new OpenLayers.Layer.Vector("monitoringLayer");

var mzdFeature = new OpenLayers.Feature.Vector(

lonLat,

           {

zoneName : mzd[i].zonename,

zoneCode : mzd[i].monitoring_zone_code,

monitoring_year : mzd[i].monitoring_year

} ,

           {

/*externalGraphic: '/js/OpenLayers/img/marker-blue.png', 

graphicOpacity: 1.0,

graphicWith: 16,

graphicHeight: 26,

graphicYOffset: -26,

fontColor: "red",

fontSize: "15px",

fontFamily: "Verdana",

fontWeight: "bold" */

fillOpacity: 1.0,

externalGraphic: "http://chart.apis.google.com/chart?cht=p3&chd=t:"+ mzd[i].ea1+","+ mzd[i].ea2+","+ mzd[i].ea3+","+ mzd[i].ea4+","+ mzd[i].ea5+","+ mzd[i].ea6+"&chs=250x150&chf=bg,s,FFFFFF00",

graphicWidth: 80,

graphicHeight: 50,

strokeWidth: 0

        

}

       );    

monitoringLayer.addFeatures(mzdFeature);

monitoringLayer.id = "monitoringLayer" + i;

map.addLayer(monitoringLayer);

});

}

});


//생성한 레이어 클릭 시 부여된 속성값 가져오는 컨트롤 

 e.feature.attributes.monitoring_year;

 e.feature.attributes.zoneCode;

'develop > web GIS' 카테고리의 다른 글

geoserver SLD를 이용한 차트 올리기  (0) 2015.04.02
POST GIS VIEW  (0) 2015.03.10
dojo를 이용한 vworld map 띄우기  (0) 2015.02.05
지도위에 구글차트 띄우기  (0) 2015.02.05
EPSG:4326 to EPSG:900913 transform  (0) 2014.11.19