Recent Posts
Recent Comments
Adsense
Archives
Visitor
Today
Total
관리 메뉴

Annotation

OpenLayers WMS 간단한 사용법 본문

JavaScript

OpenLayers WMS 간단한 사용법

devs 2015. 5. 7. 18:25


기생수 꼭 보세요.


두번보세요.


주말 늦은 저녁때 심심해서 1화를 봤는데,


정신차리고보니 엔딩을 보고 있었습니다.


원작이 만화라던데 저는 애니로 시작해서 영화(기생수 파트1)로 끝냈습니다.



이번 포스팅은 OpenLayers 를 사용함에 있어,


매우 기초적이지만 중요한 주제가 되지 않을까 싶습니다.



OpenLayers.Layer.WMS 사용법 (feat.GeoServer)




개발 환경은 다음과 같습니다.


OpenLayers 2.x


GeoServer 2.7.0


PostGIS 2.0


OpenLayers 에서 제공하는 WMS 객체의 레퍼런스는 링크를 참고해 주세요.



WMS 객체의 생성자는 다음과 같습니다.


var wms = OpenLayers.Layers.WMS(
		레이어이름,	//지도에서 사용될 이름입니다.
		요청주소,		//GeoServer 의 주소입니다.
		{ 파라미터 },	//실제 레이어명, 포맷 등..
		{ 옵션 }		//버전, 스타일 등..
);


간단하지만 유의하셔야 할 점이 한가지 있습니다.


OpenLayers 에서는 최소 한가지 이상의 기본 레이어가 필요합니다.


그 옵션은 isBaseLayer(boolean) 라는 옵션이구요.


객체 생성시 { 옵션 } 부분에 꼭 넣어주세요.


예) isBaseLayer : true



다음은 잘(?)정리된 예시 코드입니다.


var wms = OpenLayers.Layers.WMS(
		"WMS 레이어",
		"http://127.0.0.1:8080/geoserver/wms",
		{
			layers: ["GeoServer에 등록된 레이어명"],
			format: "image/png",
			transparent: true
		},
		{
			version: "1.3.0",
			singleTile: true,
			isBaseLayer: true
		}
);


그리고 WMS 객체를 생성하셨으면 지도에 넣어줍니다.


map.addLayer(wms);


자 이제 지도에 잘 나오는지 확인해 주세요. :)


잘 안나오시면 증상을 이야기해주세요.


최대한 성심 성의껏 답변 드리겠습니다.


그리고 OpenLayers 를 사용함에 있어 중요한 부분이 있습니다.


레이어, 컨트롤 등. OpenLayers 에서 사용될 객체들은 개별적으로 변수로 관리하시길 권장합니다.


map.addLayer(new OpenLayers.Layers.WMS(
		레이어이름,
		요청주소,
		{ 파라미터 },
		{ 옵션 }
));


위와 같이 바로 WMS 객체를 넣을 수 있습니다.


그러나 그 이후에 WMS 객체를 관리하려면..


하다못해 레이어를 끄려면..


map 객체에서 등록된 레이어를 쫙 훓어가며 WMS 객체를 찾아 관리해야합니다.


아니면 이름이나 class 명으로 찾아야 하지요..


당연한 말씀이지만 추후에 코드도 길어지고 관리하기가 매우 힘들어 집니다.



이번 포스팅은 여기까지구요.


추후 OpenLayers 와 GeoServer 에 대해 계속 포스팅하겠습니다.


감사합니다.

Comments