OpenLayers를 사용해서 HTML상에 지도를 띄우는 방법.
1. OpenLayers JS 파일과 CSS파일을 Include 한다.
<script src="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6.1.1/build/ol.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6.1.1/css/ol.css" type="text/css">
선택 사항으로, 만약 지도가 IE나 안드로이드 v4 환경에서 보여지길 원한다면, OpenLayers script를 Include 하기전에 다음 파일을 Include해 준다.
<!-- The line below is only needed for old environments like Internet Explorer and Android 4.x -->
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script>
2. 지도가 들어갈 div를 만들어 준다.
<div id="map" class="map"></div>
3. 화면에 보여질 지도의 크기를 CSS로 지정해 준다.
<style>
.map {
height: 400px;
width: 100%;
}
</style>
4. javascript로 지도를 띄워준다.
let map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM({
url: 'https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png'
})
})
],
view: new ol.View({
center: ol.proj.fromLonLat([128.4, 35.7]),
zoom: 7
})
});
5. 결과 화면.
6. JS 코드 분석.
- OpenLayers Map 객체를 불러 온다.
let map = new ol.Map({ ... });
- 지도 객체를 <div>에 연결 하기 위한 설정이다. target의 인자로 <div>의 id값을 지정해 준다.
target: 'map'
- layers : [ ... ] 배열은 지도에 사용하는 레이어의 목록을 정의하는 리스트다.
기본적으로 Tile 레이어를 사용한다.
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
]
OpenLayers에서 레이어는 소스를 포함하는 유형(벡터, 이미지, 타일)으로 정의된다.
- View는 지도가 보여줄 중심좌표, 축척, 회전을 지정할 수 있다.
(기본적인 지도는 축척과 중심좌표만 설정한다)
view: new ol.View({
center: ol.proj.fromLonLat([128.4, 35.7]),
zoom: 7
})
전체 코드 보기 :
https://github.com/JeahaOh/OpenLayersStudy/tree/master/05%20Revision%20OL/01%20Map
원본 :
728x90
반응형
'ETC > GIS' 카테고리의 다른 글
좌표계 간략 정리 (0) | 2019.11.22 |
---|---|
[OpenLayers] 마우스 커서 위치에 대한 지도 좌표 보기 (0) | 2019.11.15 |