모달 적용시 마커의 위치가 중앙에 위치 하지 않습니다.
모달 미적용시에는 정상적으로 보이고요.
음 포인터의 위치가 중앙에 보이고 싶은데 어떻게 조절해야할까요?
var mapContainer = document.getElementById(‘map’), // 지도를 표시할 div
mapOption = {
center: new kakao.maps.LatLng(33.450701, 126.570667), // 지도의 중심좌표
level: 3 // 지도의 확대 레벨
};
위 부분을 수정해야하나요?
아래 답변 참고해서 지도가 보이는 시점에 map.relayout();
를 호출해서 확인 부탁드립니다.
https://devtalk.kakao.com/t/topic/112078/2?u=lea.ju
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);
setTimeout(function() {
console.log('Works!');
map.relayout();
}, 4000);
// 주소-좌표 변환 객체를 생성합니다
var geocoder = new kakao.maps.services.Geocoder();
// 주소로 좌표를 검색합니다
geocoder.addressSearch('${enterprise.entX}', function(result, status) {
// 정상적으로 검색이 완료됐으면
if (status === kakao.maps.services.Status.OK) {
var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
// 결과값으로 받은 위치를 마커로 표시합니다
var marker = new kakao.maps.Marker({
map: map,
position: coords
});
// 인포윈도우로 장소에 대한 설명을 표시합니다
var infowindow = new kakao.maps.InfoWindow({
content: '<div style="width:150px;text-align:center;padding:6px 0;">${xy}</div>'
});
infowindow.open(map, marker);
// 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
map.setCenter(coords);
}
});
이미 호출해서 사용하고 있긴한데 화면은 나오는데 중심을 안 맞춰줍니다. ㅠㅠ
호출을 어디서 해야할까요?
모달창이 열리는 시점에 호출해야 합니다.
모달창이 열릴 때 실행되는 이벤트를 등록해주세요.
그리고 이벤트 핸들러에서 map.relayout();
호출 및 주소 검색으로 받은 좌표 정보로 지도 중심 좌표를 재설정해주세요.