728x90
브이월드에서 제공하는 API를 이용하여 WMS 방식의 지도 레이어를 그려보자
먼저, 알아야할 몇가지들을 보자
WMS 란?
- 지도를 호출하는 방식 중에, 지도서버 내에서 지도와 관련된 데이터를 이용하여
생성된 이미지를 호출하는 방식의 프로토콜이다.
- 보통, 타일 방식으로 생성된 기본 지도 위에 특별한 기능을 추가하기 위해 선을 그리거나,
지도에서 건물을 감싸는 레이어를 호출하는 목적으로 사용 된다.
1. API 신청
- https://www.vworld.co.kr 브이월드 홈페이지에서 API 신청을 할 수 있다.
2. WMS를 호출하기 위한 파라미터 설정
- 지도에 추가할 특정 기능을 위해 본인이 원하는 레이어 종류가 있을 것이다.
그런것들을 포함하여 해당 지도 정보 값을 받는 방식, 이미지의 크기 등을 설정할 수 있다.
자세한 것은 브이월드 홈페이지에 나와있는 공식 API문서를 확인해야 한다.
let mapParam = {
SERVICE: 'WMS', // 지도 호출 방식
REQUEST: 'GetMap',
VERSION: '1.3.0', // 버전
LAYERS: ['lp_pa_cbnd_bonbun','lp_pa_cbnd_bubun'], // 지도 종류
STYLES: ['lp_pa_cbnd_bonbun','lp_pa_cbnd_bubun'], // 지도의 스타일 종류(지도 색상, 글자크기 등)
CRS: EPSG,
WIDTH: '256', // 이미지 너비
HEIGHT: '256', // 이미지 높이
FORMAT: 'image/png', // 지도 정보 값 받는 방식
TRANSPARENT: 'TRUE',
BGCOLOR: '0xFFFFFF',
EXCEPTIONS: 'text/xml',
KEY: 'API 인증키', // 브이월드에서 신청한 API 인증 키값을 넣으면 된다.
DOMAIN: '127.0.0.1:8201',
};
3. WMS 레이어 생성
- 지도를 본격적으로 셋팅해주는 OpenLayers의 기능을 사용하여 레이어를 생성해주자
let wmsLayer = new ol.layer.Tile({
source: new ol.source.TileWMS({
url: 'https://api.vworld.kr/req/wms',
params: mapParam,
})
});
- 브이월드 API URL을 입력하고 앞에서 설정한 파라미터를 넣어주면 생성이 완료된다.
4. 생성된 레이어 그리기
- WMS를 호출하기 이전에 기본 지도가 존재한다는 것을 가정하고
해당 지도 오픈레이어스 객체의 함수를 이용하여 추가해주기만 하면 된다.
mapView.addLayer(wmsLayer);
728x90
'웹개발 > OpenLayers' 카테고리의 다른 글
[OpenLayers] WFS API 호출 with Vworld (0) | 2023.10.31 |
---|