지도/로컬 API에 대한 문의게시판입니다.
각 마커마다 customOverlay를 추가해서 마커마다 하단에 해당 마커의 이름이 출력되도록 만들었습니다.
그런데 클러스터를 적용하니 마커는 클러스터가 적용되서 잘 되는데
커스텀오버레이는 적용이 안되서 클러스터된 부분에도 그대로 출력이 되고 있습니다.
커스텀오버레이를 마커와 동일하게 클러스터시에도 사라지도록 하고 싶고
마커와 동일한 클릭 이벤트도 적용해주고 싶습니다.
var map = new kakao.maps.Map(document.getElementById('map'), { // 지도를 표시할 div
center : new kakao.maps.LatLng(36.2683, 127.6358), // 지도의 중심좌표
level : 14 // 지도의 확대 레벨
});
// 마커 클러스터러를 생성합니다
var clusterer = new kakao.maps.MarkerClusterer({
map: map, // 마커들을 클러스터로 관리하고 표시할 지도 객체
averageCenter: true, // 클러스터에 포함된 마커들의 평균 위치를 클러스터 마커 위치로 설정
minLevel: 10 // 클러스터 할 최소 지도 레벨
});
// 데이터를 가져오기 위해 jQuery를 사용합니다
// 데이터를 가져와 마커를 생성하고 클러스터러 객체에 넘겨줍니다
$.get("/download/web/data/chicken.json", function(data) {
// 데이터에서 좌표 값을 가지고 마커를 표시합니다
// 마커 클러스터러로 관리할 마커 객체는 생성할 때 지도 객체를 설정하지 않습니다
var markers = $(data.positions).map(function(i, position) {
return new kakao.maps.Marker({
position : new kakao.maps.LatLng(position.lat, position.lng)
});
});
var customOverlays = $(data.positions).map(function(i, position) {
return new kakao.maps.CustomOverlay({
content: '<div style="padding:0 5px;background:#fff;">:D</div>',
position : new kakao.maps.LatLng(position.lat, position.lng),
map:map
});
});
// 클러스터러에 마커들을 추가합니다
clusterer.addMarkers(markers);
});
http://apis.map.kakao.com/web/sample/basicClusterer/
예제 소스에서 커스텀오버레이를 추가한 소스인데 여기서 커스텀오버레이도 마커와 동일하게 적용되도록 하고 싶습니다.