WEB GL JS

웹 개발, 어플리케이션에서 활용될 수 있도록 Javascript로 제공되는 지도 플랫폼 입니다.

지도 이벤트 적용


routogl 지도에 다양한 이벤트를 적용하는 예제입니다.

const map = new routogl.Map({
  container: 'map', // container ID
  style: routogl.RoutoStyle.LIGHT,
  center: [127.0586339, 37.507009], // 초기 위치 [lng, lat]
  zoom: 13, // 초기 줌 레벨
});

const eventInfo = document.getElementById('eventInfo');

// mousedown, mouseup, mouseover, mousemove
// map.on('mousedown', () => {
//   eventInfo.value += '마우스 다운\n';
// });
// map.on('mouseup', () => {
//   eventInfo.value += '마우스 업\n';
// });
// map.on('mouseover', () => {
//   eventInfo.value += '마우스 오버\n';
// });
// map.on('mousemove', () => {
//   eventInfo.value += '마우스 이동\n';
// });

// click, dblclick
map.on('click', (e) => {
  eventInfo.value += `지도 클릭 [${e.lngLat.lng}, ${e.lngLat.lat}]\n`;
});
map.on('dblclick', () => {
  eventInfo.value += '지도 더블클릭\n';
});

// movestart, move, moveend
map.on('movestart', () => {
  eventInfo.value += '지도 이동 시작\n';
});
map.on('move', () => {
  eventInfo.value += '지도 이동중\n';
});
map.on('moveend', () => {
  eventInfo.value += '지도 이동 완료\n';
});

// dragstart, drag, dragend
map.on('dragstart', () => {
  eventInfo.value += '드래그 시작\n';
});
map.on('drag', () => {
  eventInfo.value += '드래그중\n';
});
map.on('dragend', () => {
  eventInfo.value += '드래그 완료\n';
});

// zoomstart, zoom, zoomend
map.on('zoomstart', () => {
  eventInfo.value += '줌 레벨 변경 시작\n';
});
map.on('zoom', () => {
  eventInfo.value += '줌 레벨 변경\n';
});
map.on('zoomend', () => {
  eventInfo.value += '줌 레벨 변경 완료\n';
});

// rotatestart, rotate, rotateend
map.on('rotatestart', () => {
  eventInfo.value += '회전 시작\n';
});
map.on('rotate', () => {
  eventInfo.value += '회전중\n';
});
map.on('rotateend', () => {
  eventInfo.value += '회전 완료\n';
});

// pitchstart, pitch, pitchend
map.on('pitchstart', () => {
  eventInfo.value += '고도 변경 시작\n';
});
map.on('pitch', () => {
  eventInfo.value += '고도 변경\n';
});
map.on('pitchend', () => {
  eventInfo.value += '고도 변경 완료\n';
});

// load
map.on('load', () => {
  eventInfo.value += '지도가 로드되었습니다.\n';
});

setInterval(() => {
  eventInfo.scrollTop = eventInfo.scrollHeight;
}, 1000);