지도 API 마커 이벤트 관련 버그 검토 요청

안녕하세요!

카카오맵을 처음 사용하는 개발자입니다.

마커 클릭 이벤트를 사용하고 있는데요,
마커를 클릭 시 지도에 등록한 이벤트(mousedown & douseup)가 발생하는 문제를 겪고 있습니다.

샘플코드에서 확인해 보니 제가 겪는 문제와 동일하게 동작하는걸 보니 API자체가 그렇게 개발되었거나 혹은 버그를 안고 있는거 같아요. 비교해서 미안하지만, 네이버나 구글맵을 마커에 대한 이벤트만 동작합니다.

샘플코드
https://apis.map.kakao.com/web/sample/addMarkerClickEvent/

간단히 테스트 해본 코드

<div id="map" style="width:100%;height:350px;"></div>
<p><em>마커를 클릭해주세요!</em></p>
<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 position =  new kakao.maps.LatLng(33.450701, 126.570667);

// 마커를 생성합니다
var marker = new kakao.maps.Marker({
  position: position,
  clickable: true // 마커를 클릭했을 때 지도의 클릭 이벤트가 발생하지 않도록 설정합니다
});

// 아래 코드는 위의 마커를 생성하는 코드에서 clickable: true 와 같이
// 마커를 클릭했을 때 지도의 클릭 이벤트가 발생하지 않도록 설정합니다
//marker.setClickable(true);

// 마커를 지도에 표시합니다.
marker.setMap(map);

// 마커를 클릭했을 때 마커 위에 표시할 인포윈도우를 생성합니다
var iwContent = '<div style="padding:5px;">Hello World!</div>', // 인포윈도우에 표출될 내용으로 HTML 문자열이나 document element가 가능합니다
    iwRemoveable = true; // removeable 속성을 ture 로 설정하면 인포윈도우를 닫을 수 있는 x버튼이 표시됩니다

// 인포윈도우를 생성합니다
var infowindow = new kakao.maps.InfoWindow({
    content : iwContent,
    removable : iwRemoveable
});

// 마커에 클릭이벤트를 등록합니다
kakao.maps.event.addListener(marker, 'click', function() {
      //infowindow.open(map, marker);  
});
    
kakao.maps.event.addListener(map, 'mouseup', function() {
      infowindow.open(map, marker);  
});
</script>

지도 이벤트는 문서에 정의된 이벤트만 지원하며 정의되지 않은 이벤트를 사용할 경우 원하는 대로 동작되지 않을 수 있습니다.
번거로우시겠지만 mouseup 이벤트 대신 click이벤트로 사용 부탁드립니다.
https://apis.map.kakao.com/web/documentation/#Map_Events

그리고 현재 제공하지 않는 이벤트에 대해서는 내부에서 논의 후 개선하는 방향도 고려해보겠습니다.

답변 감사하지만 저의 질문과는 거리가 머네요!

마커를 클릭(set clickable=true)했을 때 마커 클릭 이벤트 뿐만 아니라 지도객체에 등록한 지도 이벤트(mousedown, mouseup)까지 덩달아 발생합니다.

이게 의도된 것인지, 아니면 버그인지를 확인해 주시면 고맙겠습니다.

마커와 지도 이벤트를 구분하려면 문서에 안내된 이벤트 타입을 사용할 경우만 동작을 보장합니다.
mouseup, mousedown 이벤트가 아닌 click 이벤트를 등록할 경우는 마커 이벤트만 발생하며
문서에도 click이벤트를 막아주는 속성으로 안내하고 있습니다.
https://apis.map.kakao.com/web/documentation/#Marker_setClickable

이전에 안내드린대로 문서에 명시되지 않은 이벤트 타입을 사용할 경우 의도한 방향과 다르게 동작할 수 있습니다.
marker의 clickable이 정상 동작되려면 map에서 제공하는 이벤트 click,dbclick를 사용해주세요.

이 문서는 clickable=true 하고 마커를 클릭할 경우 지도의 click 이벤가 발생하지 않도록 합니다.
더불어, 마커를 클릭할 경우 지도의 mouseup, mousedown 이벤트도 발생하지 않기를 기대하는 것입니다.

요약하자면,
marker.setClickable(true) 할 경우 지도의 모든 이벤트가 발생하지 않는것이 맞을거 같습니다.
참고로, 비교해서 미안합니다만, 구글지도와 네이버지도 API는 그렇게 되어 있습니다.

참고 하시고 다시 한번 검토해 주십시오!

Map객체는 mouseup, mousedown 이벤트 타입을 지원하지 않기 때문에
문서에 명시되지 않은 이벤트를 사용할 경우 예상과 다른 동작이 일어날 수 있음을 안내드렸습니다.
clickable 옵션 또한 제공하는 click,dbclick 이벤트 발생만 막은 의도된 동작으로 이해해주시면 좋을 것 같습니다.

아쉽지만 네이버, 구글지도와 달리 mouseup, mousedown 이벤트 타입은 제공하지 않기 때문에
clickable 속성으로 해당 이벤트를 막을 수 없는점 참고 부탁드리며 문서에 명시된 이벤트 타입을 사용해 주세요.
https://apis.map.kakao.com/web/documentation/#Map_Events

추가로 제공하지 않은 이벤트 타입에 대해서는 논의 후 개선 방향을 고려해보겠습니다.

이와 같다면 mouseup이벤트가 발생하지 않아야 하는데 정확히 발생하고 있습니다.
아래 코드를 실행해 마커를 클릭해 보시면 버그라는 것을 금방 아실 수 있습니다.

API수정작업도 어렵지 않을것이니 적극적으로 검토해 주시면 좋겠습니다.
왜냐면 기존 앱에 marker click와 map mouseup&down 이벤트를 모두 사용하고 있는데 카카오맵은 이것 때문에 좀 골치가 좀 아픔니다.
부탁드립니다!

<div id="map" style="width:100%;height:350px;"></div>
<p><em>마커를 클릭해주세요!</em></p>
<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 position =  new kakao.maps.LatLng(33.450701, 126.570667);

// 마커를 생성합니다
var marker = new kakao.maps.Marker({
  position: position,
  clickable: true // 마커를 클릭했을 때 지도의 클릭 이벤트가 발생하지 않도록 설정합니다
});

// 아래 코드는 위의 마커를 생성하는 코드에서 clickable: true 와 같이
// 마커를 클릭했을 때 지도의 클릭 이벤트가 발생하지 않도록 설정합니다
marker.setClickable(true);

// 마커를 지도에 표시합니다.
marker.setMap(map);

// 마커를 클릭했을 때 마커 위에 표시할 인포윈도우를 생성합니다
var iwContent = '<div style="padding:5px;">Hello World!</div>', // 인포윈도우에 표출될 내용으로 HTML 문자열이나 document element가 가능합니다
    iwRemoveable = true; // removeable 속성을 ture 로 설정하면 인포윈도우를 닫을 수 있는 x버튼이 표시됩니다

// 인포윈도우를 생성합니다
var infowindow = new kakao.maps.InfoWindow({
    content : iwContent,
    removable : iwRemoveable
});

// 마커에 클릭이벤트를 등록합니다
kakao.maps.event.addListener(marker, 'click', function() {
      // 마커 click
      window.alert('marker click')
});
    
kakao.maps.event.addListener(map, 'mouseup', function() {
    // 지도 mouseup : 이 이벤트는 지도에 등록한 이벤트 이므로 마커를 클릭했을 때 발생하지 않아야 합니다!
      window.alert('map mouseup! 이 이벤트는 발생하지 않아야 합니다!')
});
    
</script>

이벤트 타입 확장에 대해서는 고려하고 있지만 일정을 확답드릴 수 없습니다.
그렇기 때문에 현재 문서에 정의된 이벤트 타입을 사용해주시고 다른 API와 동작이 다르다면 별도로 분기 처리해주세요.

직원이 신거 같긴한데, 아아디만 봐서는 직원이신지 모르겠습니다.
본인 선에서 검토를 마무리 하지 마시고 최상위 담당자에 전달 부탁드립니다!!!