화면 전체에 꽉찬 지도를 사용중입니다.
그런데 특정 position에 대하여 지도 중앙에 위치시킬때
화면에서 약간 오른쪽에 치우치도록 두고싶습니다.
그래서 아래와 같이 특정 position으로 panTo한 후 특정 width 만큼 오른쪽으로 panBy 하는데
panTo가 안 먹히고 panBy만 작동해버립니다.
panTo가 스킵됩니다.
해결방법좀 제발 알려주세요… ㅠㅠ 제발요
mapInstanceRef.current.panTo(position); // 화면 중앙을 position으로 이동
mapInstanceRef.current.panBy(-widthOfDeviceControlPanelPC / 2, 0); // PC 뷰에서 x 축 방향으로 이동
var center = new kakao.maps.LatLng(33.450701, 126.570667);
var mapProjection = map.getProjection();
var cfc = mapProjection.containerPointFromCoords(center);
cfc.x -= 200;
var coords = mapProjection.coordsFromContainerPoint(cfc);
map.setCenter(coords)
한번 projection 객체를 이용해 보시기 바랍니다.
지도가 렌더링 되어 있어야 하고,
지도 컨테이너(DOM)의 좌상단을 0,0으로 하는 계산하는 containerPointFromCoords 함수를 통해서,
현재 출력하고자 하는 좌표의 화면좌표를 뽑은 후에, x값을 특정 수치만큼 뺀 다음, 그에 해당하는 좌표값으로 다시 변환후에, setCenter를 해주는 방법입니다.