지도를 확대, 축소하거나 지도를 움직인 이후에 타일 이미지가 모두 완료되면 tilesloaded 이벤트가 발생합니다. 이 예제에서는 타일 이미지가 모두 로드 된 이후에 tilesloaded 이벤트가 발생하면 마커의 위치를 지도중심으로 설정합니다.
var mapContainer = document.getElementById('map'), // 지도를 표시할 div mapOption = { center: new kakao.maps.LatLng(33.450701, 126.570667), // 지도의 중심좌표 level: 3 // 지도의 확대 레벨 }; var map = new kakao.maps.Map(mapContainer, mapOption); // 지도를 생성합니다 var marker = new kakao.maps.Marker(); // 타일 로드가 완료되면 지도 중심에 마커를 표시합니다 kakao.maps.event.addListener(map, 'tilesloaded', displayMarker); function displayMarker() { // 마커의 위치를 지도중심으로 설정합니다 marker.setPosition(map.getCenter()); marker.setMap(map); // 아래 코드는 최초 한번만 타일로드 이벤트가 발생했을 때 어떤 처리를 하고 // 지도에 등록된 타일로드 이벤트를 제거하는 코드입니다 // kakao.maps.event.removeListener(map, 'tilesloaded', displayMarker); }
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>타일로드 이벤트 등록하기</title> </head> <body> <div id="map" style="width:100%;height:350px;"></div> <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=발급받은 APP KEY를 사용하세요"></script> <script> var mapContainer = document.getElementById('map'), // 지도를 표시할 div mapOption = { center: new kakao.maps.LatLng(33.450701, 126.570667), // 지도의 중심좌표 level: 3 // 지도의 확대 레벨 }; var map = new kakao.maps.Map(mapContainer, mapOption); // 지도를 생성합니다 var marker = new kakao.maps.Marker(); // 타일 로드가 완료되면 지도 중심에 마커를 표시합니다 kakao.maps.event.addListener(map, 'tilesloaded', displayMarker); function displayMarker() { // 마커의 위치를 지도중심으로 설정합니다 marker.setPosition(map.getCenter()); marker.setMap(map); // 아래 코드는 최초 한번만 타일로드 이벤트가 발생했을 때 어떤 처리를 하고 // 지도에 등록된 타일로드 이벤트를 제거하는 코드입니다 // kakao.maps.event.removeListener(map, 'tilesloaded', displayMarker); } </script> </body> </html>