개발 환경은 다음과 같습니다.
OpenLayers 2.x
GeoServer 2.7.0
PostGIS 2.0
OpenLayers 에서 제공하는 WMS 객체의 레퍼런스는 링크를 참고해 주세요.
WMS 객체의 생성자는 다음과 같습니다.
1 2 3 4 5 6 |
var wms = OpenLayers.Layers.WMS( 레이어이름, //지도에서 사용될 이름입니다. 요청주소, //GeoServer 의 주소입니다. { 파라미터 }, //실제 레이어명, 포맷 등.. { 옵션 } //버전, 스타일 등.. ); |
간단하지만 유의하셔야 할 점이 한가지 있습니다.
OpenLayers 에서는 최소 한가지 이상의 기본 레이어가 필요합니다.
그 옵션은 isBaseLayer(boolean) 라는 옵션이구요.
객체 생성시 { 옵션 } 부분에 꼭 넣어주세요.
예) isBaseLayer : true
다음은 잘(?)정리된 예시 코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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 객체를 생성하셨으면 지도에 넣어줍니다.
1 |
map.addLayer(wms); |
자 이제 지도에 잘 나오는지 확인해 주세요. :)
잘 안나오시면 증상을 이야기해주세요.
최대한 성심 성의껏 답변 드리겠습니다.
그리고 OpenLayers 를 사용함에 있어 중요한 부분이 있습니다.
레이어, 컨트롤 등. OpenLayers 에서 사용될 객체들은 개별적으로 변수로 관리하시길 권장합니다.
1 2 3 4 5 6 |
map.addLayer(new OpenLayers.Layers.WMS( 레이어이름, 요청주소, { 파라미터 }, { 옵션 } )); |
위와 같이 바로 WMS 객체를 넣을 수 있습니다.
그러나 그 이후에 WMS 객체를 관리하려면..
하다못해 레이어를 끄려면..
map 객체에서 등록된 레이어를 쫙 훓어가며 WMS 객체를 찾아 관리해야합니다.
아니면 이름이나 class 명으로 찾아야 하지요..
당연한 말씀이지만 추후에 코드도 길어지고 관리하기가 매우 힘들어 집니다.
출처: http://annotations.tistory.com/76 [Annotation]
'Java > ETC' 카테고리의 다른 글
[JAVA] 예약어 정리 (0) | 2019.09.16 |
---|---|
Could not clean server of obsolete files: Content is not allowed in prolog.[오류 해결법] (0) | 2019.09.10 |
SimpleDateFormat (0) | 2019.09.10 |
JAVA 관련 기본 지식 (0) | 2019.09.06 |
자바(JAVA) 에러코드 (0) | 2019.09.06 |