지도에 이벤트를 적용하는 예제입니다. 특정 상황 (이동, 확대, 클릭 등)이 발생하면 등록된 함수를 실행합니다.
// 지도를 생성합니다.
var map = new routo.maps.Map("map", {
center: { lat: 37.507009, lng: 127.0586339 }, // 지도 초기 위치
zoom: 18, // 지도 로딩 시 최초 표시 레벨
});
// 이벤트 발생 결과를 출력합니다.
function print(message) {
document.getElementById("output").innerHTML += message;
}
// 지도를 클릭할 때 발생하는 이벤트 입니다. 결과 이벤트 객체에는 경위도 좌표가 포함되어 있습니다.
map.addListener("click", (e) => {
print('클릭 : ' + e.latLng + '<br />');
});
// 지도를 더블 클릭할 때 발생하는 이벤트 입니다.
map.addListener("dblclick", (e) => {
print('더블 클릭 : ' + e.latLng + '<br />');
});
// 지도 레벨(확대/축소)이 변경될 때 발생하는 이벤트 입니다.
map.addListener("zoom_changed", () => {
print('지도 레벨 변경 <br />');
});
// 지도 중심이 변경될 시 발생하는 이벤트 입니다.
map.addListener("center_changed", () => {
print('지도 중심 변경 <br />');
});
// 영역이 변경될 시 발생하는 이벤트 입니다.
map.addListener("bounds_changed", () => {
print('영역 변경 <br />');
});
// 타일 로딩이 완료되었을 때 발생하는 이벤트 입니다.
map.addListener("bounds_changed", () => {
print('타일 로딩 완료 <br />');
});
// 지도 드래그 시작할 때 발생하는 이벤트 입니다.
map.addListener("dragstart", () => {
print('지도 드래그 시작 <br />');
});
// 지도 드래그 중에 발생하는 이벤트 입니다.
map.addListener("drag", () => {
print('지도 드래그 중 <br />');
});
// 지도 드래그 종료할 때 발생하는 이벤트 입니다.
map.addListener("dragend", () => {
print('지도 드래그 종료 <br />');
});
// 지도 위에 마우스를 이동할 때 발생하는 이벤트입니다.
map.addListener("mousemove", (e) => {
print('마우스 이동 : ' + e.latLng + '<br />');
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>지도 이벤트 적용</title>
<style>
html,
body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
.map {
width: 100%;
height: 400px;
position: relative;
}</style>
<style>
.output-box {
width: 97%;
height: 45%;
border: 1px solid #000;
margin: 10px;
padding: 10px;
overflow-y: auto;
font-size: 12px;
line-height: 18px;
}</style>
</head>
<body>
<h2>지도 이벤트 적용</h2>
<hr />
<p>
지도에 이벤트를 적용하는 예제입니다. 특정 상황 (이동, 확대, 클릭 등)이 발생하면 등록된 함수를 실행합니다.
</p>
<div id="map" class="map"></div>
<div id="output" class="output-box"></div>
</body>
<script src="https://api.routo.com/v2/maps/map?key=12290cd4-7094-43e8-a936-8819196d0332"></script>
<script>
// 지도를 생성합니다.
var map = new routo.maps.Map("map", {
center: { lat: 37.507009, lng: 127.0586339 }, // 지도 초기 위치
zoom: 18, // 지도 로딩 시 최초 표시 레벨
});
// 이벤트 발생 결과를 출력합니다.
function print(message) {
document.getElementById("output").innerHTML += message;
}
// 지도를 클릭할 때 발생하는 이벤트 입니다. 결과 이벤트 객체에는 경위도 좌표가 포함되어 있습니다.
map.addListener("click", (e) => {
print('클릭 : ' + e.latLng + '<br />');
});
// 지도를 더블 클릭할 때 발생하는 이벤트 입니다.
map.addListener("dblclick", (e) => {
print('더블 클릭 : ' + e.latLng + '<br />');
});
// 지도 레벨(확대/축소)이 변경될 때 발생하는 이벤트 입니다.
map.addListener("zoom_changed", () => {
print('지도 레벨 변경 <br />');
});
// 지도 중심이 변경될 시 발생하는 이벤트 입니다.
map.addListener("center_changed", () => {
print('지도 중심 변경 <br />');
});
// 영역이 변경될 시 발생하는 이벤트 입니다.
map.addListener("bounds_changed", () => {
print('영역 변경 <br />');
});
// 타일 로딩이 완료되었을 때 발생하는 이벤트 입니다.
map.addListener("bounds_changed", () => {
print('타일 로딩 완료 <br />');
});
// 지도 드래그 시작할 때 발생하는 이벤트 입니다.
map.addListener("dragstart", () => {
print('지도 드래그 시작 <br />');
});
// 지도 드래그 중에 발생하는 이벤트 입니다.
map.addListener("drag", () => {
print('지도 드래그 중 <br />');
});
// 지도 드래그 종료할 때 발생하는 이벤트 입니다.
map.addListener("dragend", () => {
print('지도 드래그 종료 <br />');
});
// 지도 위에 마우스를 이동할 때 발생하는 이벤트입니다.
map.addListener("mousemove", (e) => {
print('마우스 이동 : ' + e.latLng + '<br />');
});</script>
</html>