안녕하세요. 현재 클러스터 작업 중에 막히는 부분이 있어 질문드립니다.
마커 대신 커스텀오버레이로 좌표 표시하는데, 마커는 클러스터링 됐을때 노출이 되지 않는 반면, 오버레이는 상시노출되고있습니다.
클러스터링 해제가 되었을때 마커가 노출되는 것 처럼 오버레이도 클러스터링 해제시 노출시키고 싶은데 어떻게 작업을 해야할까요?
<script>
var map = new kakao.maps.Map(document.getElementById('map'), { // 지도를 표시할 div
center: new kakao.maps.LatLng(36.84423310205883, 127.88806337618408), //지도의 중심좌표.
level : 12 // 지도의 확대 레벨
});
var clusterer = new kakao.maps.MarkerClusterer({
map: map, // 마커들을 클러스터로 관리하고 표시할 지도 객체
averageCenter: true, // 클러스터에 포함된 마커들의 평균 위치를 클러스터 마커 위치로 설정
minLevel: 6 // 클러스터 할 최소 지도 레벨
});
$.get("./ajax.cluster.php", {}, function(data, status) {
var returnData = JSON.parse(data);
if(returnData.result == false){
alert(returnData.msg);
return false;
}
//마커생성
var markers = $(returnData.data).map(function(i, data) {
var map_pos = new kakao.maps.LatLng(data.slt_company_lat, data.slt_company_lng);
//var posi2 = new kakao.maps.LatLng(data.slt_company_lat, data.slt_company_lng);
var marker = new kakao.maps.Marker({
position : map_pos,
clickable : true,
});
var iwContent =
"<div class=\"info_window\">"+
"<img draggable=\"false\" src=\""+ data.pt_image1 +"\" alt=\"\">" +
"</div>",
iwPosition = map_pos, //인포윈도우 표시 위치입니다
iwRemoveable = false; // removeable 속성을 ture 로 설정하면 인포윈도우를 닫을 수 있는 x버튼이 표시됩니다
var customOverlay = new kakao.maps.CustomOverlay({
clickable: true,
position: map_pos,
zIndex : 10,
content: iwContent,
xAnchor: 0.5,
yAnchor: 1
});
marker.setOpacity(0.1);
customOverlay.setMap(map);
kakao.maps.event.addListener(marker, 'click', function() {
//show_detail(data.idx);
});
return marker;
});
clusterer.clear();
// 클러스터러에 마커들을 추가합니다
clusterer.addMarkers(markers);
var infoWindow = document.querySelectorAll('.info_window');
})
//clusterer click event
kakao.maps.event.addListener(clusterer, 'clusterclick', function(cluster) {
// 현재 지도 레벨에서 1레벨 확대한 레벨
var level = map.getLevel()-1;
// 지도를 클릭된 클러스터의 마커의 위치를 기준으로 확대합니다
map.setLevel(level, {anchor: cluster.getCenter()});
});
</script>