커스텀 오버레이 관련 문의

커스텀 오버레이 관련 문의 드립니다.

infowindow 같은 경우는 open 이벤트를 실행하면
지도에 가려져 있어도 해당 크기만큼 지도가 이동 하면서 다 보이게 되는데, 커스텀 오버레이에는 동일한 이벤트가 없나요?

map.setBounds나 map.setCenter를 쓰면 너무 중심좌표로 이동해버려서요.

오버레이 크기만큼만 이동했으면 좋겠는데… 어떻게 해야할 지 모르겠네요.

답변 부탁 드리겠습니다.

실제 InfoWindow를 지도위에 올리면 자동으로 이동되는 기능은
객체 내부 동작 중 인포윈도우의 크기를 지도 영역을 기준으로 계산하여 map.panBy() 함수를 호출하는 로직으로 동작하고 있습니다.

이 작업은 지리 좌표값을 스크린의 픽셀 좌표계로 투영시킨 후,
컨텐츠의 width/height를 고려한 픽셀비교 후
이동을 해야할 지도의 x, y 값을 구하고
이를 panBy 함수로 픽셀 단위로 이동시키는 것입니다.
panBy함수는 자동으로 애니메이션이 적용됩니다.
http://apis.map.daum.net/web/documentation/#Map_panBy

스크린 픽셀 좌표계로의 변환 방법은

http://apis.map.daum.net/web/sample/markerTracker/
이 두 예제에서 projection을 이용한 함수 사용을 찾아보시면 됩니다.

MapProjection과 관련된 문서는
http://apis.map.daum.net/web/documentation/#MapProjection
이 것을 참조하시면 됩니다.

구체적인 로직은 제공해 드리지 않으니 양해 부탁드립니다 ^^;