카카오지도 infowindow에 대한 질문입니다

카카오지도 infowindow에 대한 질문입니다

QA

카카오지도 infowindow에 대한 질문입니다

본문

http://apis.map.kakao.com/web/sample/markerWithInfoWindow/

 

지도 마커에에 인포윈도우를 띄우는 예제입니다.

마우스 휠로 맵을 확대하거나 축소할수있잖아요..

휠할때 맵레벨이 10이상일때만 인포윈도우를 띄울수 있게 하고싶습니다.

스크립트단 소스 첨부합니다..

 

<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 markerPosition  = new kakao.maps.LatLng(33.450701, 126.570667); 

// 마커를 생성합니다
var marker = new kakao.maps.Marker({
    position: markerPosition
});

// 마커가 지도 위에 표시되도록 설정합니다
marker.setMap(map);

var iwContent = '<div style="padding:5px;">Hello World! <br><a href="https://map.kakao.com/link/map/Hello World!,33.450701,126.570667" style="color:blue" target="_blank">큰지도보기</a> <a href="https://map.kakao.com/link/to/Hello World!,33.450701,126.570667" style="color:blue" target="_blank">길찾기</a></div>', // 인포윈도우에 표출될 내용으로 HTML 문자열이나 document element가 가능합니다
    iwPosition = new kakao.maps.LatLng(33.450701, 126.570667); //인포윈도우 표시 위치입니다

// 인포윈도우를 생성합니다
var infowindow = new kakao.maps.InfoWindow({
    position : iwPosition, 
    content : iwContent 
});
  
// 마커 위에 인포윈도우를 표시합니다. 두번째 파라미터인 marker를 넣어주지 않으면 지도 위에 표시됩니다
infowindow.open(map, marker); 
</script>

 

 

 

이 질문에 댓글 쓰기 :

답변 1

처음에는 infowindow.open(map, marker);  코드를 삭제하고 

지도 객체의 zoom_change 이벤트 발생시에 map.getLevel 의 값에 따라

infowindow.open(map, marker); 또는 infowindow.close(); 로 분기 시켜야 될거 같네요

 


kakao.maps.event.addListener(map, 'zoom_changed', function() {
   var level = map.getLevel();
   var infoMap = infowindow.getMap();
   if (level >= 10) {
      // 이미 추가되어 있다면 새로 만들지 않는다.
      if (map !== infoMap) {
         infowindow.open(map, marker);
      }
   } else {
      infowindow.close();
   }
});
답변을 작성하시기 전에 로그인 해주세요.
전체 38
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT